Transmute your idea into a production-ready codebase in minutes.
- Overview
- Getting Started
- Simple Mode
- Advanced Mode
- Generation Tiers
- The Generation Pipeline
- Downloading Your Project
- Running Your Generated Project Locally
- Frequently Asked Questions
StackAlchemist generates a complete, compilable source repository from a description of your SaaS idea. You describe what you're building — your entities, relationships, and API surface — and receive a full project archive with a .NET 10 Web API backend, Next.js 15 frontend, PostgreSQL migrations, Supabase auth integration, and Docker Compose dev environment.
There are two ways to describe your project:
| Mode | Best For |
|---|---|
| Simple Mode | Natural language descriptions. You type what you're building and the engine extracts the schema. |
| Advanced Mode | Precise control. You model entities, relationships, and API endpoints using the visual wizard. |
- Navigate to the StackAlchemist homepage (
/). - Scroll to the Launch Console section and choose your input mode using the SIMPLE / ADVANCED toggle.
- Describe or model your project.
- Select a generation tier (Blueprint, Boilerplate, or Infrastructure).
- Complete checkout — your generation begins immediately.
- Watch live status updates as your project is synthesized.
- Download your ZIP archive when complete.
Simple Mode accepts a plain-language description of your SaaS product. No technical knowledge required — just describe what you're building the way you'd explain it to a colleague.
- On the homepage, ensure the toggle is set to SIMPLE.
- In the AlchemyInput terminal box, type a description of your project. Include:
- What the product does
- Key entities (e.g., Users, Products, Orders, Projects, Tasks)
- Relationships between entities (e.g., "Users have many Projects", "Orders belong to a Customer")
- Any important API behaviors (e.g., "Admins can approve orders", "Projects have status fields")
- Click SYNTHESIZE (or press
Enter).
E-Commerce Platform:
A multi-vendor e-commerce platform where Sellers can list Products with categories and inventory.
Customers can place Orders containing multiple Products. Orders have statuses: pending, paid,
shipped, delivered. Sellers see a dashboard of their own orders and revenue.
Project Management Tool:
A project management SaaS with Workspaces, Projects, and Tasks. Each Task has an assignee,
due date, priority level, and status. Users belong to Workspaces and can be assigned to
multiple Projects. Comments can be left on Tasks.
Healthcare Scheduling:
An appointment scheduling system for clinics. Patients can book Appointments with Doctors
who have Availability slots. Appointments have types (consultation, follow-up) and statuses.
Doctors belong to Departments.
After submission, StackAlchemist will:
- Display the extracted schema (entities and endpoints the engine identified from your description)
- Ask you to confirm or adjust before proceeding
- Prompt you to select a generation tier
- Begin synthesis after checkout
Advanced Mode provides a 3-step visual wizard for precise schema control. Use this when you know exactly what you want to generate.
Add your data entities using the + Add Entity button. For each entity:
- Name — The entity name (e.g.,
User,Product,Order). Use PascalCase. - Fields — Add fields with names, types, and optional/required flags.
- Supported types:
string,number,boolean,date,uuid
- Supported types:
- Relationships — Link entities together. Specify the target entity and relationship type:
one-to-one— Each record maps to exactly one record in the related entityone-to-many— One record has many related records (e.g., User → Orders)many-to-many— Both sides can have many records (e.g., Product ↔ Category)
The Entity Diagram panel on the right (visible on desktop) shows your schema visually as a ReactFlow graph. Nodes represent entities; edges represent relationships.
| Field | Type | Required |
|---|---|---|
id |
uuid |
✓ |
name |
string |
✓ |
price |
number |
✓ |
description |
string |
|
inStock |
boolean |
✓ |
Define the REST endpoints your API should expose. For each endpoint:
- Path — The route path (e.g.,
/products,/orders/{id}) - Method — HTTP method:
GET,POST,PUT,DELETE,PATCH - Description — What this endpoint does (used by the LLM for implementation)
StackAlchemist will generate a fully implemented controller action for each endpoint, wired to the appropriate repository method.
| Method | Path | Description |
|---|---|---|
GET |
/products |
List all products (paginated) |
GET |
/products/{id} |
Get a single product by ID |
POST |
/products |
Create a new product |
PUT |
/products/{id} |
Update an existing product |
DELETE |
/products/{id} |
Delete a product |
Choose your generation tier and complete the checkout flow.
StackAlchemist offers three tiers of output, each building on the previous:
Best for: Validation, planning, technical review before committing to implementation.
What you receive:
ARCHITECTURE.md— Full system design document with entity descriptions and relationshipsDATABASE_SCHEMA.md— ER diagram in Mermaid syntax + field definitionsAPI_SPEC.md— OpenAPI-style endpoint documentationREADME.md— Setup overview
Use this when: You want to validate your schema with stakeholders or teammates before building.
Best for: Developers who want a running codebase to build from.
What you receive (ZIP archive):
your-project/
├── backend/
│ ├── YourProject.csproj # .NET 10 Web API
│ ├── Program.cs # Minimal API + DI setup
│ ├── Controllers/ # Generated REST controllers
│ ├── Models/ # Entity classes
│ ├── Repositories/ # Data access layer
│ ├── Migrations/ # SQL migration files
│ └── appsettings.json
├── frontend/
│ ├── package.json # Next.js 15 + TypeScript
│ ├── src/app/ # App Router pages
│ ├── src/lib/api.ts # Type-safe API client
│ └── src/types/index.ts # Generated TypeScript types
├── docker-compose.yml # Full stack orchestration
├── .env.example # Environment variable template
└── README.md
Compile guarantee: The generated backend is compiled with dotnet build before delivery. If compilation fails, the engine auto-corrects (up to 3 attempts) before reporting success.
Best for: Teams ready to deploy to production on AWS.
Everything in Boilerplate, plus:
infra/
├── cdk/
│ ├── bin/app.ts # CDK app entry
│ ├── lib/
│ │ ├── database-stack.ts # RDS PostgreSQL
│ │ ├── api-stack.ts # Lambda + API Gateway
│ │ ├── frontend-stack.ts # S3 + CloudFront
│ │ └── auth-stack.ts # Cognito / Supabase wiring
│ └── package.json
├── .github/
│ └── workflows/
│ ├── ci.yml # Build + test pipeline
│ └── deploy.yml # CDK deploy on merge to main
└── DEPLOYMENT.md
Understanding how StackAlchemist generates code helps you write better prompts and debug unexpected output.
StackAlchemist uses a hybrid template + LLM approach called the Swiss Cheese Method:
┌─────────────────────────────────────────────────────┐
│ Handlebars Templates (Static Structure) │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
│ │ Controllers │ │ Models │ │ Repos │ │
│ │ skeleton │ │ skeleton │ │ skeleton │ │
│ └──────┬───────┘ └──────┬───────┘ └─────┬─────┘ │
│ │ [hole] │ [hole] │[hole] │
│ ▼ ▼ ▼ │
│ LLM fills business logic into the holes │
└─────────────────────────────────────────────────────┘
-
Static layer — Handlebars templates define the file structure, class skeletons, import paths, constructor signatures. This ensures consistent, predictable scaffolding.
-
Intelligence layer — The LLM fills in the "holes": business logic, validation rules, query implementations, domain-specific behavior. Your schema drives what gets injected.
-
Compile validation — The generated
.NETproject is compiled withdotnet build. If it fails, the compiler error is fed back to the LLM as context for correction. Up to 3 correction attempts are made. -
Delivery — Only green builds are packaged into the downloadable ZIP archive.
During generation, you'll see real-time status updates:
| Status | Meaning |
|---|---|
queued |
Job accepted, waiting for a worker |
processing |
Engine is generating your code |
compiling |
Running dotnet build on the output |
correcting |
Compilation failed; LLM is correcting (retry N/3) |
packaging |
Building the ZIP archive |
completed |
Ready for download |
failed |
Generation failed after all retry attempts |
When generation completes:
- A Download button appears on the generation status page.
- Click it to download
your-project-name.zip. - The download link is valid for 7 days.
If you need to re-download, log into your account and visit your generation history.
- Docker Desktop installed and running
- Node.js 20+ (for frontend development)
- .NET 10 SDK (for backend development without Docker)
# 1. Extract the archive
unzip your-project.zip -d my-saas
cd my-saas
# 2. Copy environment config
cp .env.example .env
# Edit .env with your Supabase URL and anon key (or leave defaults for local dev)
# 3. Start everything
docker compose up
# Services will start on:
# Backend API: http://localhost:5000
# Frontend: http://localhost:3000
# PostgreSQL: localhost:5432Backend (.NET Web API):
cd backend
dotnet restore
dotnet run
# API available at https://localhost:5001Frontend (Next.js):
cd frontend
npm install
npm run dev
# Available at http://localhost:3000Database migrations:
# Migrations are in backend/Migrations/
# They run automatically when the API starts (or via Docker Compose)| Variable | Description | Default |
|---|---|---|
DATABASE_URL |
PostgreSQL connection string | postgres://postgres:postgres@localhost:5432/mydb |
SUPABASE_URL |
Your Supabase project URL | Required for auth |
SUPABASE_ANON_KEY |
Supabase public anon key | Required for auth |
NEXT_PUBLIC_API_URL |
Backend API URL for frontend | http://localhost:5000 |
Yes. StackAlchemist includes a Compile Guarantee: the generated .NET backend is compiled with dotnet build before the archive is assembled. If compilation fails, the engine automatically feeds the error output back to the LLM for correction — up to 3 times. Your archive is only delivered after a successful build.
The generated code is a solid, production-structured foundation. It follows clean architecture patterns: controllers, repositories, models, proper separation of concerns, typed API client, SQL migrations with foreign keys and constraints. You should review and extend it with your specific business logic, add authentication policies suited to your security requirements, and write tests before deploying to production.
Yes. Return to the homepage and submit a new generation. Each generation is independent.
Typically 30–90 seconds for Boilerplate, depending on schema complexity. Infrastructure tier adds cloud infrastructure generation and may take up to 3 minutes.
If generation fails after all retry attempts, you will not be charged. You can retry the same schema or refine your prompt and submit a new generation. Check the Troubleshooting guide for common issues.
Yes. Generated code is yours. StackAlchemist retains no rights to the code you generate.
V1 generates a specific opinionated stack: .NET 10 API + Next.js 15 + PostgreSQL + Supabase + Docker. Additional stacks (Python/FastAPI, Node/Express, Laravel, etc.) are planned for future versions.
Each one-to-many relationship generates a foreign key constraint in the SQL migration. many-to-many relationships generate a join table with appropriate indexes. Relationship names follow your entity naming conventions.
Yes. You can define multiple entities with multiple relationships between them. The entity diagram panel shows the visual graph of your schema as you build it. The LLM uses the full relationship graph when generating query implementations.
For issues and troubleshooting, see troubleshooting.md.
For architectural decisions and system design, see docs/architecture/.