Skip to content
Shahab Hassan
All projects

AI mobile app generationWeb Development · 2026

MYTH

An AI platform that turns a plain English description into a real mobile app you can install on your phone.

2nd Place at COMSATS Career Expo 2026

MYTH generating a food delivery app, with the running app previewed in a phone frame
01Overview

Overview

Building a mobile app normally starts with hours of setup. You install the Flutter SDK, Android Studio, a Java kit and an emulator, which is tens of gigabytes and needs a machine strong enough to run it all. That barrier stops exactly the people who usually have the ideas: founders, designers, business analysts and students. MYTH removes it. You type what you want and you get a real app back, because everything happens on the server and the user needs nothing but a browser.

From the outside the flow is simple. You describe your app in a chat box, and you can attach screenshots of a look you like or a PDF spec to work from. MYTH replies with a plan in plain words: the screens it will build, what each one does and how you get from one to the next. You approve that plan before a single line of code is written. Then you watch the files appear one by one as they are generated. When it finishes, your app is running in a phone frame on the screen. You can keep chatting to change it, add a screen or change the colours, or switch to a visual canvas and drag the layout around. When you are happy, you download the full source code as a ZIP, or build an Android APK and install it on your phone.

Behind that simple chat box is a hard problem: language models do not reliably write code that compiles. MYTH deals with it in layers. A planner first produces a structured blueprint with hard caps on screen count and dependencies, so it cannot ask for an unbuildable list of packages. Generation then runs in waves that follow real compile order, foundation first, then shared widgets and the state layer, then screens, then the entry file. Each wave is handed a contract stating exactly which files already exist and what it is allowed to assume, which is what stops the model referring to things that were never written. After generation, deterministic repair modules fix the mistakes models make over and over: dependency files that do not resolve, theme slot types used wrongly, dependency injection registering a type nothing provides, malformed import paths. Only then does flutter analyze run, and every error it reports goes back into a targeted fix loop, carrying just the broken files plus the files that define the symbols they reference, repeating until the project builds clean.

Around that engine sits the infrastructure that makes the promise real. Five model providers sit behind one streaming interface, with their very different token pricing normalised into a single credit unit so a balance means the same thing whichever model runs. Previews come in two tiers: cached web builds for free users, and a Docker container per project with real Flutter hot reload for paid users, with HTTP and WebSocket traffic proxied into the container so Flutter's own reload channel works end to end. The drag and drop builder is a separate Flutter Web app, deployed through its own CI pipeline and embedded as the canvas, so what you drag is drawn by real Flutter rather than an HTML imitation of it.

MYTH is a business as well as a tool. It has subscriptions and billing through Paddle, a credit system with monthly allowances and coupons, a community marketplace where users publish and sell the apps they built with ratings and seller payouts, share links and one click forking, version control that snapshots the whole project so any state can be restored, and an admin panel with roles, revenue charts, runtime feature flags, and a queue where user ratings of AI output feed back into improving generation quality.

The platform is around 60,000 lines of hand written code across more than 400 files: 91 React components, 43 routes, 121 REST endpoints, 11 MongoDB models, and a separately compiled Flutter Web app.

02Features22

Features

  • Describe the app you want in plain English and get a working app back
  • Attach screenshots of a look you want, or a PDF spec to build from
  • MYTH writes a plan in plain words that you approve before any code is written
  • Watch the code being written, file by file, as it happens
  • See the finished app running in a phone frame in the browser
  • Keep chatting to change it: add a screen, change the colours, adjust a layout
  • Build screens by dragging and dropping, on a canvas drawn by real Flutter
  • Edit any file yourself in a built in code editor
  • Download the complete source code as a ZIP, with no lock in
  • Build a real Android APK and install it on your phone
  • Set the app icon, splash screen, colours, name and Android permissions
  • Save versions of a project and restore any of them in one click
  • Share a project by public link, or fork someone else's into your account
  • Publish an app to the community marketplace, free or paid
  • Buy apps other users have built, with star ratings and written reviews
  • Sign in by email or Google, with email verification
  • Generated code is checked and repaired automatically until it compiles cleanly
  • Five AI providers behind one interface, with costs normalised into one credit
  • Paid previews run in a Docker container per project with real Flutter hot reload
  • Android builds run on a GitHub Actions build farm with live logs and cancelling
  • Subscriptions, monthly credit allowances and coupons handled through Paddle
  • Admin panel with roles, revenue analytics, feature flags and AI quality review
03Challenges & solutions7

Challenges and solutions

  1. 01
    Challenge

    Language models do not reliably write Dart that compiles, which is the core problem in this space.

    Solution

    Built the pipeline in four layers: a planner with hard limits, generation waves ordered by dependency with an explicit contract per wave, Dart repair modules for the mistakes models repeat (pubspec sync, theme slot types, DI wiring, import paths), and an analyzer gate feeding a small, focused fix loop until the build is clean.

  2. 02
    Challenge

    Five model providers, each with its own streaming format, usage reporting and pricing, made quotas and cost control messy.

    Solution

    Put every provider behind one streaming interface and converted raw token usage into a single credit unit using a weighted cost model, so a balance means the same thing no matter which model ran.

  3. 03
    Challenge

    Running generation waves in parallel risked two workers writing the same files and corrupting the project.

    Solution

    Gave each worker a frozen copy of the file tree, split batches so no two touch the same path, and merged results back in a fixed order. Sequential stayed the default and parallel is an option you turn on.

  4. 04
    Challenge

    Serving the Flutter toolchain to many users at once, with real hot reload, without overloading the server.

    Solution

    Split preview into two tiers: cached web builds for free users, and one Docker container per project for paid users, with HTTP and WebSocket proxying so Flutter's own hot reload channel works. A session manager tracks containers, clears idle ones, and recovers orphans by reading Docker state after a restart.

  5. 05
    Challenge

    Building Android APKs on demand in the cloud without paying for a dedicated build server.

    Solution

    Used GitHub Actions as the build farm: branches managed through the REST API, workflow triggering, run polling, live logs, artifact download and cancel support, with a Redis queue in front and a local SDK build path behind the same interface.

  6. 06
    Challenge

    A design tool that fakes Flutter widgets in HTML always lies about the final result.

    Solution

    Shipped a separate Flutter Web app, deployed it through its own CI pipeline, and embedded it as the design canvas, talking to React over postMessage. A schema to Dart generator keeps the visual editor and the real source in sync.

  7. 07
    Challenge

    Turning the generation engine into something people actually pay for, not just a demo.

    Solution

    Added Paddle billing with webhook verified fulfilment, cancellation grace periods, monthly quotas and refills, coupons, marketplace payouts with a hold period, and an admin panel with feature flags to run all of it.


04The product21 screens

MYTH screens