Flutler
AI-Powered Software Specification Platform
Can AI coding agents build production-ready software? We built Flutler to find out — and the answer surprised us.
Inspiration
We've all experienced the frustration: you ask an AI to build something, and it generates code that looks right but falls apart in production. Missing edge cases, inconsistent patterns, broken integrations.
The problem isn't the AI — it's the lack of structure.
We wondered: What if we gave AI agents the same guardrails that help junior developers succeed? Opinionated frameworks. Clear patterns. Auto-generated boilerplate. Type safety everywhere.
That's why we used Serverpod — a full-stack Dart framework that generates database code, API clients, and migrations from simple YAML files. It's exactly the kind of structured environment where AI could thrive.
So web set out to build a real, production application — almost entirely with AI — to prove that the right framework makes AI-generated code actually work.
What it does
Flutler is a web platform that helps developers write software specifications that AI coding agents can understand and execute.
The Workflow
- Create a Project — Define your vision, description, and UI preferences
- Write User Stories — Break features into actionable, AI-friendly specifications
- AI Refinement — Claude analyzes your stories, asks clarifying questions, and suggests improvements
- One-Click Development — Send stories directly to Claude Code on your dedicated development server
- Deploy to Production — Launch your app with PostgreSQL, Redis, and Docker — all automated
Key Features
- 📋 Kanban Board — Visual story management (Draft → Ready → In Progress → Completed)
- 🤖 AI Refinement — Automated validation of completeness and edge cases
- ⚡ Direct Execution — Claude Code integration with real-time progress tracking
- 🌐 Production Deployment — One-click launch with database and caching
- 🔐 Flexible Auth — Use Claude API keys or connect your Claude Pro subscription
How we built it
We built Flutler with AI, to write AI — a meta-experiment in AI-assisted development.
The Stack
| Layer | Technology |
|---|---|
| Frontend | Flutter Web |
| Backend | Serverpod 3.x (Dart) |
| Database | PostgreSQL + auto-generated ORM |
| Background Jobs | Serverpod FutureCalls |
| AI Integration | Claude Code CLI via SSH |
| Deployment | Docker Compose |
The Secret Sauce: Serverpod
Serverpod was the game-changer. Here's why:
1. YAML-based Models → Auto-generated Everything
class: Customer
table: customer
fields:
userId: UuidValue
email: String
firstName: String
developmentServerId: int?
The AI writes simple YAML. Serverpod generates type-safe Dart classes, database migrations, and ORM methods. No room for inconsistency.
2. Endpoints → Auto-generated Client SDK
// AI writes this on the server
Future<Project> createProject(Session session, {required String name}) async { ... }
// Serverpod generates this for the client
await client.project.createProject(name: 'My App');
No REST design debates. No serialization bugs. The AI just follows the pattern.
3. FutureCalls for Background Work
await session.serverpod.futureCallWithDelay('refineUserStory', story, Duration.zero);
AI-generated async jobs that actually work reliably.
The Process
We worked in tight loops:
- Human writes the specification (what to build, why it matters)
- AI implements the code (endpoints, models, UI)
- Human reviews, catches issues, provides feedback
- AI iterates until it works
The framework caught most of the AI's mistakes automatically — type errors, missing fields, broken contracts. What got through was usually logic bugs that a human review caught quickly.
Challenges we ran into
1. SSH + Interactive CLI = Chaos
Claude Code runs interactively in a terminal. Automating it via SSH required expect scripts, pseudo-TTY handling, and process management. AI-generated shell scripts needed significant human debugging.
2. AI Doesn't Know When to Stop
Without constraints, AI over-engineers. It adds "helpful" abstractions, error handlers for impossible cases, and configurability nobody asked for. We learned to be explicit: "Only change X. Don't refactor Y."
3. State Synchronization
Real-time updates between the Flutter UI, Serverpod backend, and remote development servers required careful polling and status management. AI got the patterns right but needed human guidance on timing and edge cases.
4. OAuth Flow Complexity
Claude Pro's OAuth flow involves remote server interaction, URL extraction, and code submission. This multi-step, stateful process was the hardest for AI to implement correctly.
5. The "Looks Right" Problem
AI-generated code often looks perfect but has subtle bugs. A button that doesn't disable during loading. A status that updates too early. Code review became essential.
Accomplishments that we're proud of
✅ It Actually Works
Flutler is a real, functional application. You can create projects, write stories, refine them with AI, develop features, and deploy to production. It's not a demo — it's usable.
✅ 90%+ AI-Generated Code
The vast majority of the codebase was written by Claude. Endpoints, models, UI screens, background jobs — all AI-generated, human-reviewed.
✅ Production-Grade Architecture
- Type-safe database operations
- Auto-generated API contracts
- Background job processing
- Real-time status updates
- Docker-based deployment
✅ Beautiful, Consistent UI
Dark theme, minimal aesthetic, responsive design. The AI followed our design system consistently across all screens.
✅ The Meta Achievement
We used AI to build a tool that helps people work with AI. And it validated our thesis: frameworks matter more than prompts.
What we learned
1. Frameworks Are Force Multipliers
The same AI that writes buggy REST APIs writes flawless Serverpod endpoints. The difference? The framework catches mistakes and enforces patterns.
2. Constraints Enable Creativity
Counterintuitively, giving AI less freedom produces better results. "Use this pattern" beats "figure out the best approach."
3. Human-AI Collaboration > Pure AI
The best results came from rapid iteration: AI drafts, human reviews, AI refines. Neither alone matches the combination.
4. AI Excels at Pattern Matching
Once we established patterns in the codebase, AI replicated them flawlessly. The first implementation is hard; the tenth is trivial.
5. Debugging AI Code is Different
AI doesn't have intent, so you can't ask "what were you thinking?" Instead, you describe the problem and ask for a fix. Clear error messages are crucial.
6. Documentation is for Humans AND AI
Well-documented code helps AI understand context. Our developed_summary/ folder — feature documentation — became essential context for new work.
What's next for Flutler
Near-Term Roadmap
- [ ] Multiple Projects — Subscription tiers for power users
- [ ] Team Collaboration — Shared projects with role-based access
- [ ] Git Integration — Version control for generated code
- [ ] Automated Testing — AI-generated test suites
Long-Term Vision
- [ ] Multi-Agent Orchestration — Specialized agents for different tasks
- [ ] CI/CD Pipeline — Automated build, test, deploy
- [ ] Self-Improving System — Learn from successful patterns across projects
- [ ] Plugin Ecosystem — Community-contributed integrations
The Bigger Picture
Flutler proves that AI can build real software — when given the right structure.
We believe the future isn't "AI replacing developers" or "developers ignoring AI." It's frameworks designed for human-AI collaboration. Tools that give AI guardrails while giving humans leverage.
Serverpod showed us what's possible. Now we're building on that foundation.
Try It Yourself
# Clone the repo
git clone https://github.com/marcomanzi/flutler.git
# Start the backend
cd flutler_server
docker compose up -d
dart run bin/main.dart --apply-migrations
# Start the frontend
cd ../flutler_flutter
flutter run -d chrome
OR
Go to https://flutler.com Login User: hackaton@tester.com Password: Requested
Acknowledgments
- Serverpod — The framework that made AI-generated code production-ready
- Anthropic — For Claude, our tireless pair programmer
- Flutter — For beautiful, cross-platform UI
"The best frameworks don't just help humans write code faster — they help AI write code correctly."
Built With
- flutter
- serverpod
Log in or sign up for Devpost to join the conversation.