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

  1. Create a Project — Define your vision, description, and UI preferences
  2. Write User Stories — Break features into actionable, AI-friendly specifications
  3. AI Refinement — Claude analyzes your stories, asks clarifying questions, and suggests improvements
  4. One-Click Development — Send stories directly to Claude Code on your dedicated development server
  5. 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:

  1. Human writes the specification (what to build, why it matters)
  2. AI implements the code (endpoints, models, UI)
  3. Human reviews, catches issues, provides feedback
  4. 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

Share this project:

Updates