Workshop

Claude Code Workshop Resources

by Stian Håklev

Last updated March 9, 2026

Presentations

Previous talk Claude Code in the Wild — breakfast seminar, Feb 2025

Workshop Project Ideas

📱
Personal Mobile App
Build a mobile app perfectly tailored to your needs — workout journal, grocery list analyzer, book reviewer. With AI built in.

Have you ever wished for an app that does exactly what you want? Now you can build it. And when you build AI into it, you get incredible functionality.

Example: Take a photo of a book in the bookstore → a beautiful UI showing reviews, summaries, and similar books. Or a workout app that analyzes your progress and suggests adjustments. Or a plant identifier that gives care tips.

You don't need an Apple Developer license — use Expo with development builds on your own phone. Download one of Stian's Expo repos as a starting point so you skip all the boilerplate. Claude Code can build the entire app while you describe what you want.

AI integration: Use the camera for image analysis (vision API), the microphone for speech, and Vercel AI SDK for streaming chat. Expo gives you access to all native capabilities — push notifications, GPS, accelerometer, health data.

🎓
Visual, Interactive Learning
Pick an algorithm or concept you want to understand better. Have Claude research it and create an interactive visualization.

Choose something you want to learn: a sorting algorithm, TCP handshake, B-tree, Raft consensus, Fourier transforms — anything. Ask Claude to research it and produce a visual, interactive demo.

Approach: Start by asking Claude to create an HTML page with animations and interactive controls. Iterate until you have something that actually helps you understand the concept. Single-file HTML with inline CSS/JS makes it easy to share — just open it in the browser.

Use cases: Onboarding new colleagues, client presentations, internal knowledge sharing. Ask Claude to use canvas for animations, range inputs for user-adjustable parameters, and step-by-step controls to walk through an algorithm.

💬
Build Your Own AI Chat
Create a chat interface with tool calling. Expose data or functionality from a system you work with.

An AI chat that can do things is much more useful than one that just answers. With tool calling, you can let the AI fetch data, run operations, and present results — all in a natural conversation.

Have a system? Expose some of its data or functionality as tools. For example, a CRM where the AI can look up customers, a booking system where it checks availability, or a project management tool where it summarizes status.

Don't have a system? Use public APIs as tools — Yr (weather), Entur (transit schedules), Wikipedia, or anything with a REST API. Vercel AI SDK makes it very easy to set up streaming chat with tool use — you define tools as TypeScript functions with Zod schemas.

Architecture: Next.js + AI SDK is the fastest path. You get streaming, tool calling, and a ready-made chat UI component. The entire setup is ~50 lines of code for a working prototype.

🔬
LLM Evaluation
Set up automated evaluation of LLM models on a task you care about. Iterate on the prompt.

Choose a task where quality is subjective and hard to evaluate manually. For example: classifying customer inquiries, writing product descriptions, ranking articles, or categorizing support tickets.

Process: Define evaluation criteria → run multiple models (GPT-4o, Claude, Gemini) → have a stronger model evaluate the output from the others → iterate on the prompt until you get the best possible results. This is the core of “evals” — the most important skill for AI product development.

Practical value: Evaluations are what separate “this kind of works” from “this works well.” Learn the pattern here, and you can apply it to any AI project afterward.

📸
AI Memories / Photo Project
Recreate Facebook/Apple Memories with AI. Let the model choose photos, build a timeline, and generate music.

Can you recreate Facebook Memories or Apple Memories? Give the AI access to your camera roll, let it choose the most interesting photos, and build a timeline with text and context.

Approach: Use the vision API to analyze images — find the most visually interesting ones, group them by theme or time, and generate descriptions. Build a beautiful HTML timeline or a mobile app with Expo.

Bonus points: Connect to Suno to generate a custom song for the memories. Or use TTS to create a voice-over that narrates the story.

📊
Dashboards and Analytics
Have access to logs or analytics? Let Claude help you analyze, visualize, and build dashboards.

Have access to logs, Datadog, Google Analytics, Mixpanel, or any other analytics system? Get the data to Claude and let it build custom dashboards and visualizations that truly answer the questions you have.

Three paths to data: Export as CSV/JSON, give Claude direct API access (e.g., via environment variables), or build an MCP server that wraps the API — then Claude can fetch data on-demand while building the dashboard.

Claude is fantastic at finding patterns in data you didn't know about. Unlike Grafana/Metabase, you skip the config — you just describe what you want to see and get a self-contained HTML you can open directly. Iterate: “can you add a timeline?”, “what if we group by week?”.

Examples: API response times with anomaly detection, user journeys as Sankey diagrams, error rates correlated with deploys, customer behavior segmented by cohorts.

🧩
Chrome Extension
Is there something on the web that annoys you? Let Claude help you build a Chrome extension. Surprisingly fast and satisfying.

Chrome extensions are simpler than you think — it's just HTML, CSS, and JavaScript with a manifest. Claude can build one from scratch in minutes, and you test it immediately in the browser.

Ideas: Remove annoying elements from sites you use daily. Add dark mode where it's missing. Auto-fill forms. Translate text inline. Add keyboard shortcuts. Change default behavior on internal tools.

With AI: Add a context menu that summarizes selected text, translates it, or explains code — via an API call to Claude/GPT directly from the extension.

Setup: chrome://extensions → Developer mode → Load unpacked. No Chrome Web Store required. You'll have a working extension in under an hour.

🔌
MCP Server or CLI Tool
Open up data that the AI can't see today. The National Library, mapping services, municipal data — build a bridge between AI and the world.

A lot of valuable data is available via APIs but invisible to AI. For example, the National Library of Norway has millions of books and newspapers, no access control — but the AI doesn't know it exists.

Two paths: Build an MCP server (Claude/Cursor sees it as a tool in the chat) or a CLI (which Claude Code can call via Bash). Both approaches work — MCP is more portable, CLI is faster to build.

The design challenge: What does the AI need to make good searches? How do you present the results? Should it be able to filter, paginate, fetch full text? This is the interesting problem — API wrapping is the easy part.

Norwegian APIs: National Library (books, newspapers, images), Kartverket (maps, property, place names), Entur (transit schedules, real-time), yr.no (weather), SSB (statistics), Brønnøysundregistrene (company data), municipal datasets. Many with open APIs requiring no key.

🎙️
Voice Chat with AI
Talking to an AI has a pretty big wow factor. Set up a simple voice chat with LiveKit in a few hours.

LiveKit has an open source platform for real-time audio/video, including AI agents. You can set up a voice chat where you speak naturally with an AI — low latency, natural pauses, and interruptions work.

Use cases: Customer service demo for a client, language learning with an AI tutor, interview practice, accessibility help, or a fun demo to show off on Friday.

Setup: LiveKit has a Python agent framework with examples that work out of the box. Connect to OpenAI Realtime API for end-to-end voice, or build an STT → LLM → TTS pipeline for more control. Free tier is enough for prototyping.

Combine with tools: Give the voice agent access to tools — then it can look up information and run actions while you talk. This is where it really gets impressive.

Automate Your Workflow
Build a Claude Code skill or hook for something tedious you do often. Time tracking, Jira updates, deploy checklists.

Think about what you do manually every day or week. Time tracking, status reports, Jira updates, PR descriptions, deploy procedures, code templates. Build a /skill that does it for you — in a couple of minutes.

Skills are Markdown files in .claude/skills/ that define a prompt + instructions. You write what you want Claude to do, and it becomes a slash command. Hooks are shell commands that run automatically on events — e.g., after every commit, after Claude reads a file, or before it runs a bash command.

Examples: /weekly-report that generates a weekly status from git log and Jira. /pr that creates a PR with a good description. A hook that automatically runs linting after file changes. A skill that generates test data based on schemas in the project.

Sharing: Skills can be installed from a URL with /install-skill. Build something useful for the team and share it — then everyone has access to it as a slash command.

🕵️
Scrape, Filter, and Summarize
Build a pipeline that monitors something you care about and sends you daily AI summaries.

Pick something you want to keep an eye on: the housing market in your area, Hacker News, competitors' product pages, job postings in your field, or new research papers.

Pipeline: Scrape with Playwright or cheerio → filter with AI (“is this interesting to me?”) → summarize the highlights → send via email, Slack, or ntfy push notifications to your phone.

Approach: Start with a simple Node/Python script that scrapes one source. Run it locally first and verify the output is useful. Put it on a cron job or GitHub Action for daily runs.

AI twist: Use Gemini Flash (cheap and fast) for filtering each item. Have a stronger model create the final daily summary. Total cost: a few cents per day.

💰
Personal Data Analysis
Bank statements, workout data, sleep logs — build an AI analyzer for your own data.

You're probably sitting on piles of personal data you've never properly analyzed. Export as CSV and let Claude build something useful — everything runs locally, the data never leaves your machine.

Examples: Bank statement → expense categorization with trend analysis and budget tracking. Strava/Garmin export → training insights and load curves. Goodreads export → reading habit patterns. Spotify history → listening patterns over time.

Approach: Give Claude the CSV file and ask for analysis. It will find patterns you didn't know about. Then ask for a self-contained HTML visualization with Chart.js — you get an interactive dashboard you can open in the browser.

Next steps: Build a script that automatically fetches new data and updates the dashboard. Or build a small webapp where you can upload files and get AI analysis on the fly.

🛡️
AI Code Review for the Team
Build a pre-commit hook or GitHub Action that reviews code with AI and knows your team's conventions.

An AI that knows your team's coding standards, architecture, and common pitfalls can catch problems before they reach code review. Faster feedback loop, fewer review rounds, and consistent quality.

Simple version: A Claude Code hook that runs on commit and gives feedback directly in the terminal. Advanced version: A GitHub Action that automatically comments on PRs with contextual improvement suggestions.

The key: Define your team's conventions in a CLAUDE.md that the review bot reads. Architecture decisions, naming conventions, error handling patterns, test expectations. Start narrow (just check one pattern) and expand gradually.

Combine: Have the AI review run after linting and type checking, so it focuses on logic, architecture, and readability — not things the machine already catches.

Stian's Tools

Projects

Resources