AI App Compiler converts natural language software requirements into structured application configurations using Gemini-powered intent extraction and a multi-stage compiler architecture.
Example Input:
Build a CRM with login, contacts, dashboard, role-based access, and premium plan.
Example Output:
- UI Schema
- API Schema
- Database Schema
- Authentication Rules
- Validation Results
- Repaired Configuration
User Prompt
↓
Intent Extraction (Gemini 2.5 Flash)
↓
System Design
↓
Schema Generation
↓
Validation
↓
Repair
↓
Runtime Simulation
↓
Final Structured Output
Converts natural language requirements into a structured intermediate representation using Gemini 2.5 Flash.
Generates entities, pages, user roles, and application architecture.
Generates:
- UI Schema
- API Schema
- Database Schema
- Authentication Rules
Checks:
- Missing keys
- Invalid structures
- Schema consistency
- API ↔ Database consistency
- Role validation
Automatically repairs known schema issues without regenerating the entire output.
Simulates execution readiness and validates generated configurations.
The system handles:
- Vague prompts
- Underspecified requirements
- Invalid configurations
- Conflicting requirements
Input:
Build app
Output:
{
"clarification_needed": true,
"message": "Prompt is too vague. Please provide more details."
}Input:
Build an ecommerce app without products
Output:
{
"conflict_detected": true,
"message": "Conflicting requirements: ecommerce applications require products."
}Input:
Build a gym management SaaS with trainers, members, subscriptions and attendance tracking.
Output:
{
"app_type": "Gym Management SaaS",
"features": [
"Trainer Management",
"Member Management",
"Subscription Management",
"Attendance Tracking"
],
"roles": [
"Admin",
"Trainer",
"Member"
]
}Dataset:
- 10 real product prompts
- 10 edge-case prompts
Metrics:
- Success Rate
- Validation Errors
- Repair Attempts
- Failure Types
- FastAPI
- Python
- Gemini 2.5 Flash
- Next.js
- React
- Tailwind CSS
AI-App-Compiler/
│
├── backend/
│ ├── stages/
│ ├── validators/
│ ├── repair/
│ └── runtime/
│
├── frontend/
│
├── evaluation/
│ ├── prompts.json
│ └── metrics.md
│
└── README.md
cd backend
venv\Scripts\activate
uvicorn main:app --reloadcd frontend
npm install
npm run devTo ensure generated configurations are execution-ready, the system performs runtime simulation before accepting output.
Runtime validation verifies:
- UI pages are present
- API endpoints are generated
- Database tables exist
- Authentication roles are defined
Example Runtime Result:
{
"executable": true,
"pages_found": 5,
"endpoints_found": 4,
"tables_found": 4
}This provides execution awareness and helps ensure generated configurations can be used by downstream application generators without manual fixes.
The system balances quality, reliability, latency, and inference cost.
Design decisions:
- Gemini 2.5 Flash is used for intent extraction because it provides strong reasoning quality with low latency.
- Validation and repair stages reduce the need for expensive full regeneration.
- Multi-stage generation improves reliability while keeping inference costs manageable.
- Deterministic schema generation ensures predictable outputs after AI intent extraction.
Tradeoff Summary:
| Objective | Approach |
|---|---|
| Quality | Gemini-powered intent extraction |
| Reliability | Validation + Repair Engine |
| Latency | Lightweight schema generation |
| Cost | Single AI call followed by deterministic processing |
Test Dataset:
- 10 real product prompts
- 10 edge-case prompts
Tracked Metrics:
- Success Rate
- Validation Errors
- Repair Attempts
- Failure Types
- Latency
Example Results:
{
"total_tests": 20,
"successful": 18,
"failed": 2,
"success_rate": "90%",
"average_latency": "1.1s",
"failure_types": [
"vague_prompt",
"conflicting_requirements"
]
}- Multi-model AI support
- Full application code generation
- Database migration generation
- Cloud deployment
- Multi-agent architecture
Saaketh B