New app build · Senior Flutter Engineer · Feb 2026 – Aug 2026
A music event booking platform, frontend built solo in Flutter web
Built the whole Flutter web frontend for booking artists, venues, instruments and equipment, from Figma to production, AI-assisted end to end.
- ~6 months
- to production, against 18+ estimated without AI
- 44.8k
- lines of Dart
- 560
- automated tests
- 94
- pull requests merged

Challenge
Mousike lets event organisers plan a music event in one place: book artists and a venue, add instruments and equipment, and pay at checkout. It needed a production web app built from Figma designs, against a Django REST API a colleague was building at the same time.
What I did
- Built the frontend end to end: 14 feature areas, including a six-step booking flow (details, artists, venue, instruments, equipment, checkout), the cart, invoices, availability calendars and management screens for artists, venues and equipment.
- Structured every feature in Clean Architecture layers, with Riverpod for state and dependency injection, GoRouter for auth-aware routing, and a typed Result instead of exceptions between layers.
- Implemented the Figma designs for desktop, tablet and mobile web from one codebase, on a shared Mousike component library.
- Wrote the rules the AI agents follow (CLAUDE.md, ARCHITECTURE.md and a custom responsive-design skill), then built with Google Antigravity and, from May, Claude Code.
- Shipped through CI that builds the WebAssembly release and deploys every merge to AWS S3 and CloudFront.
Outcome
- In production at dashboard.mousike-app.com.
- 44.8k lines of Dart across 14 feature areas, covered by 560 automated tests.
- Shipped in about six months with AI, against an estimated 18 months or more for the same scope without it.
Stack
- Flutter
- Dart
- Flutter Web
- WebAssembly
- Riverpod
- GoRouter
- dart_mappable
- Clean Architecture
- REST
- GitHub Actions
- AWS S3
- CloudFront
How it was built
This project is the worked example for my AI workflow: the tools and models used, and the numbers before and after. See how I build with AI →