Turn your simple ideas into Android apps in minutes, not months
Wally is a distributed system that transforms natural language specifications into instant-ready Flutter applications through automated code synthesis, multi-stage validation, and containerized compilation. The platform orchestrates multiple Large Language Models (GPT-4, Claude-3, Gemini-Pro) with a sophisticated feedback loop that achieves 92% first-pass code generation accuracy through iterative refinement and semantic validation.
- Generate — Your prompt and configured API provider are sent to the LLM, which generates Flutter/Dart code.
- Validate — Generated code is checked for required Flutter structure, forbidden operations, and dependency violations. Invalid output is automatically retried with feedback.
- Save — Validated code is stored as the initial application version.
- Build — The template manager assembles a complete Android project and queues the build. If compilation fails, the build error is sent back to the LLM for correction.
- Compile — A Celery worker runs
flutter build apk --releaseinside an isolated Docker environment. - Ship — The generated APK and build artifacts are stored, and the build status is updated.
- Live Updates — Build status and real-time logs are pushed to the browser through WebSockets.
| Feature | Description |
|---|---|
| 🤖 Multi-LLM Support | Choose between OpenAI, Anthropic, or Google GenAI |
| 🔄 Auto Error Correction | Failed generations and builds are retried with error feedback |
| 🛡️ Security Validation | 4-layer validation prevents network access, file I/O, and code injection |
| 🏗️ Distributed Builds | Scalable worker pool handles concurrent APK compilations |
| 📊 Real-Time Updates | WebSocket notifications provide live build progress and logs |
| 💾 Version History | Track code refinements and roll back to previous versions |
| 🎨 Flutter Native | Generate applications using the Flutter widget ecosystem |
| Layer | Technology | Purpose | Scalability |
|---|---|---|---|
| API Gateway | FastAPI + Uvicorn | REST endpoints and WebSockets | Horizontal via load balancer |
| LLM Orchestration | Python + Async | Multi-provider LLM abstraction | Stateless |
| Validation | Dart Analyzer + Regex | Code and security validation | CPU-bound, cacheable |
| Task Queue | Celery + Redis | Async job processing | Add more workers |
| Build Workers | Docker + Flutter | Isolated APK compilation | Horizontally scalable |
| Database | PostgreSQL | App metadata and versions | Read replicas |
| Cache / PubSub | Redis | Task broker and real-time events | Redis Cluster |
| Storage | MinIO / S3 | APK artifacts | Object storage |
FastAPI - Async Python web framework
SQLAlchemy - PostgreSQL ORM
Celery - Distributed task queue
Redis - Cache, broker, and pub/sub
Pydantic - Data validation and serialization
WebSockets - Real-time client notifications
OpenAI API - Code generation
Anthropic API - Code generation
Google GenAI - Code generation
Streaming - Real-time generation updates
Docker - Container isolation
Flutter SDK - Dart compilation and Flutter builds
Android SDK - APK packaging and signing
Gradle - Android build automation
Kotlin - Android Activity / Flutter embedding
Dart Analyzer - AST-based code validation
Regex Engine - Pattern-based security checks
Validators - Import and dependency whitelisting
cgroups - Container resource limits
✅ Counter apps, calculators, and unit converters
✅ Todo lists and note-taking apps
✅ Quiz and flashcard apps
✅ BMI and tip calculators
✅ Timers, stopwatches, and clocks
✅ Simple games such as tic-tac-toe and memory match
git clone https://github.com/Skyiesac/wally.git
cd wallycp .env.example .envdocker-compose up -dcurl http://localhost:8000/health{"status": "ok"}cd wally-frontend
npm install
npm run devContributions are always welcome!
- ⭐ Give the repository a star if you like it.
- 🐛 Open an issue if you find a bug.
- 🔧 Submit a Pull Request to fix bugs or add new features.