Building a Full Production App with Claude: What Actually Worked and What Didn't

A senior backend developer with years of experience but zero Flutter/Dart knowledge built and shipped a full production mobile app called Warantly (warranty management) for iOS and Android using Claude as their primary development tool. The project took 2.5 months of evenings after a day job.
The Stack
- Frontend: Flutter
- Backend: Laravel 12
- Infrastructure: Ansible (entire VPS environment codified, reproducible from a single run)
How Claude Was Used
The developer managed Claude like a capable but context-limited junior developer. They ran multiple sessions in parallel, each scoped to a single concern:
- Usually 2-3 sessions at a time; at peak, 6 simultaneously (3 backend, 2 Flutter, 1 DevOps)
- Used
git worktreesso sessions could work on different features without conflicts - Their role: architect and integration layer — cycling between sessions, providing context, making cross-cutting decisions
What Claude Did Well
Fast, competent first drafts of well-specified components. Anything with a clear spec and bounded scope came back usable on the first or second pass. Claude was also genuinely good at walking the developer through unfamiliar territory — store compliance, paywall configuration, infrastructure setup — things where guidance was needed, not just code generation.
Where It Broke Down
1. UI Bugs
The biggest failure mode. Claude has no way to see the screen. It would analyze code, make a fix, confidently say "this should resolve it" — and it wouldn't. Multiple rounds on the same visual bug because the agent reasoned about what the UI should do rather than seeing what it actually did. Workaround: extensive debug statements, test by hand, feed Claude exact runtime output and UI screenshots. The feedback loop — instrument, run, report back — became the standard pattern for anything visual.
2. Cross-Session Consistency
The backend agent might design a response format that doesn't match what the Flutter agent expects. Claude doesn't know what other sessions decided. The developer had to be the source of truth for API contracts, shared constants, naming conventions — copying them between sessions manually. Whenever that step was skipped, mismatches were found during integration.
3. Context Drift in Long Sessions
A session that's been running quietly loses the thread — reintroduces patterns already rejected, contradicts constraints from earlier. It doesn't announce this. The output stops being coherent with its own history. Solution: keep sessions focused and disposable. Start fresh when they get long. Front-load critical context as a structured brief rather than relying on conversation history.
What Made It Work
The developer enforced tests and static analysis from day one. They couldn't review Dart/Flutter code with expert eyes, but automated checks held as the quality gate. Without it, they wouldn't have had the confidence to ship. "The hardest part wasn't technical — it was giving up control. I'm an experienced developer and this was the first project where I wasn't reviewing code line by line. Trusting the process (tests pass, linter clean, behavior correct) over reading every function was a real adjustment."
The App
Warantly — warranty management. Track purchases, store receipt photos, get expiry reminders, AI receipt scanning, product recall alerts. Free with unlimited warranties. Pro adds AI scanning, recall alerts, and maintenance schedules. Available at warantly.app.
📖 Read the full source: r/ClaudeAI
👀 See Also

AbsolutelySkilled Registry Adds 156 Production-Ready Skills for Claude Code
A developer has created AbsolutelySkilled, a registry of 156 structured skill modules for Claude Code that persist across sessions. Each skill includes trigger conditions, reference files, test cases, and anti-patterns in SKILL.md files.

GrapeRoot MCP Tool Reduces Claude Code Token Usage by 50-70%
A developer built GrapeRoot, an MCP tool using Claude Code, that tracks explored files and avoids re-reading unchanged content, reducing token usage by 50-70% and making $20 Claude Code plans last 2-3× longer.

AgentCrawl Update Adds Critical Crawler Features and Enhancements
AgentCrawl's latest update introduces features like robots.txt compliance, disk caching, resumable crawls, and structured metadata extraction, turning it into a more robust and production-ready tool.

OpenClaw-Superpowers: A Native Port of Jesse Vincent's Superpowers Framework Without Claude Code Dependency
A Reddit user ported obra/superpowers to OpenClaw with dedicated agents (coding orchestrator, implementer, reviewer) and native commands like sessions_spawn and update_plan, removing Claude Code dependency.