Build a Project Management App with Claude Code in 15 Minutes
Suneet Malhotra
Jan 5, 2026
Build a Project Management App with Claude Code in 15 Minutes
A step-by-step guide to building Flowstate β a Kanban board with tasks and notes β using Claude Code, Next.js, and Supabase. No prior AI coding experience required.
π‘ Key Insight: Claude Code is the best AI coding assistant available today. It understands context better than anything else I've tried, and it can build entire applications from a single prompt.
TL;DR: Key Takeaways
- 15-Minute Build: Complete project management app from idea to deployment
- Claude Code: Best AI coding assistant for context understanding and rapid development
- Tech Stack: Next.js 15, TypeScript, Supabase, Tailwind CSS, dnd-kit
- UI Design: Use /frontend-design skill for professional, distinctive interfaces
- Cross-Device Sync: Supabase integration for real-time data synchronization
- No Sign-up Required: Fully functional app with automatic data persistence
I think Claude Code is the best AI coding assistant available today. It understands context better than anything else I've tried, and it can build entire applications from a single prompt.
In this tutorial, I'll show you how I built Flowstate β a minimal project management app with a Kanban board, task list, and notes area β in about 15 minutes using Claude Code.
By the end, you'll have a fully functional app deployed to Netlify with cross-device sync powered by Supabase. Let's dive in.
Jump to Section
- 00:00 - Introduction & Setup
- 02:30 - Building the Kanban Board
- 06:00 - Adding Priority Levels
- 09:00 - UI Design with /frontend-design
- 12:00 - Supabase Integration
- 14:30 - Deploy to Netlify
1. Install Claude Code & Create Project
First, make sure you have Claude Code installed. If you haven't already, open your terminal and run:
npm install -g @anthropic-ai/claude-code
Create a new directory for your project and start Claude Code:
mkdir flowstate && cd flowstate && claude
π‘ Tip: Claude Code works best when you give it context about what you're building. Start with a clear, detailed prompt.
Now give Claude your initial prompt. Here's what I used:
I want to build a project management app with:
- A Kanban board (To Do, In Progress, Done columns)
- A todo list next to the board
- A notes area below the todo list
- Dark mode interface
- Use Next.js and localStorage for persistence
Make it clean and simple, not AI-generated looking.
Claude will ask you a few clarifying questions about layout preferences and features. Answer them, and it will scaffold the entire Next.js project with TypeScript and Tailwind CSS.
2. Building the Kanban Board
Claude sets up the project structure and creates all the components. The Kanban board uses dnd-kit for smooth drag-and-drop:
npm install @dnd-kit/core @dnd-kit/sortable @dnd-kit/utilities
The key components Claude creates:
KanbanBoard.tsxβ Main container with DnD contextKanbanColumn.tsxβ Individual columns (To Do, In Progress, Done)KanbanCard.tsxβ Draggable task cardsuseLocalStorage.tsβ Custom hook for persistence
At this point, you can run npm run dev and see a working Kanban board. Cards can be dragged between columns and the state persists in localStorage.
3. Adding Priority Levels
I wanted cards to have priority levels with visual indicators. Simple prompt:
Add priority levels to Kanban cards. I want: Low, Medium, High, Urgent. Each should have a different color indicator.
Claude updated the types, added a priority selector when creating cards, and added color-coded badges:
- β Low β Emerald green
- β Medium β Sky blue
- β High β Amber orange
- β Urgent β Rose red
Each card now shows a priority badge and a colored indicator line on the left edge. The visual hierarchy makes it easy to spot urgent items.
4. UI Transformation with /frontend-design
The default UI was functional but generic. I used Claude's /frontend-design skill to transform it:
/frontend-design β redesign my UI
This skill applies design thinking to create distinctive interfaces. The result was an "Editorial Brutalism" aesthetic:
| Design Element | Specification |
|---|---|
| Typography | Instrument Serif for headers + DM Sans for body |
| Colors | Warm charcoal (#0d0c0b) with amber accent (#d4a853) |
| Texture | Subtle grain overlay for depth |
| Motion | Staggered fade-in animations on page load |
β¨ Pro tip: The /frontend-design skill is a game-changer. It transforms generic UIs into something that looks professionally designed, not AI-generated.
5. Adding Supabase for Cross-Device Sync
localStorage is great, but I wanted my data to sync across devices. Enter Supabase β a Firebase alternative with a generous free tier.
npm install @supabase/supabase-js
I told Claude to migrate from localStorage to Supabase:
Add Supabase so data syncs across devices. I have a Supabase project ready.
Claude created:
supabase-schema.sqlβ Database tables for cards, todos, notessrc/lib/supabase.tsβ Client with CRUD operations- New hooks:
useKanban,useTodos,useNotes
To set it up yourself:
- Create a project at supabase.com
- Run the SQL schema in the SQL Editor
- Add your Supabase URL and anon key to environment variables
6. Deploy to Netlify
Final step β deploy to the world. I asked Claude to set up Netlify:
Push this to GitHub and help me deploy to Netlify. Repo: github.com/SuneetMalhotra/flowstate
Claude configured Next.js for static export and created the netlify.toml configuration. After connecting the GitHub repo to Netlify and adding environment variables, the app was live.
π Result: A fully functional project management app, deployed and syncing across devices, built in ~15 minutes.
What I Learned
Building with Claude Code is a different experience from traditional coding. You're more of a product manager than a developer β describing what you want and iterating on the results.
Key takeaways:
- Be specific in prompts β The more context you give, the better the output
- Iterate quickly β Don't try to get everything perfect in one prompt
- Use skills β /frontend-design and other skills add specialized capabilities
- Review the code β Claude is good, but always review what it generates
The entire codebase is open source. Feel free to fork it, learn from it, or use it as a starting point for your own projects.
Try Flowstate
See the finished product in action. No sign-up required.
π Open App β Try the live demo
π¦ View Source β Explore the complete codebase
Written by Suneet Malhotra | Sr. Manager, Test Engineering at Motorola Solutions | Exploring the future of AI-driven development
Share this post
You Might Also Like
Building Shape Popper: A Kid-Friendly iOS Game with SwiftUI & Claude Code
Step-by-step guide on building Shape Popper, a high-performance SwiftUI game for kids using Claude Code. Learn about Canvas rendering, MVVM architecture, and iOS accessibility for ages 4-6.
Engineering LeadershipMastering Claude Code: From Core Mechanics to God Mode
A deep dive into Claude Code CLI: Context engineering, automation hooks, and scaling AI-driven development. Learn how to leverage planning mode, thinking mode, panic buttons, and post-hook type-safety loops to become a power user.
Quantitative TradingA Retry Is Not a Trading Decision
A rejected order is a decision. Retrying it without preserving the reason can turn a risk control into a duplicate trade.
Agentic AIThe Log Is Part of the Agent's Interface
An agent that can act but cannot leave a useful decision record is not autonomous. It is an opaque process with write access.
Latest Blog Posts
A Retry Is Not a Trading Decision
A rejected order is a decision. Retrying it without preserving the reason can turn a risk control into a duplicate trade.
The Log Is Part of the Agent's Interface
An agent that can act but cannot leave a useful decision record is not autonomous. It is an opaque process with write access.
The Market Is Closed Is Not a Trading Rule
A backtest can know the exchange hours and still schedule a trade into a holiday, an early close, or a stale session. Calendar state is market data.
Related Tools & Demos
The QA Field Manual to Language Models
A free 24-chapter book. Start at βwhat is AI, really?β and finish with a small language model you built yourself β one that reads a failing Playwright test and proposes a fix you can run. Read it in your browser, or download the PDF or the Mac app.
View Source Code βMulti-Model LLM Harness
One interface to call any AI model β capability routing, fallback chains, budgets, circuit breakers, and a quality feedback loop. A practical architecture pattern write-up.
Automated Trading System
Multi-engine trading platform with real-time risk management, regime-based strategy selection, and automated order execution.
View Source Code β
Stay in the Loop
Get weekly insights on AI-driven QA, engineering leadership, and automation strategies.
No spam, ever. Unsubscribe anytime.