// upload your requirements

Drop your brief. Get a project ID + email in 30 seconds.

Skip the questionnaire. Upload a PDF / DOCX / MD / TXT brief and we'll mint aSOL-XXXXXXproject ID, send you a confirmation, and start the build. Your file never touches our database — only the extracted text + a private R2 reference do.

// one fileEach submission takes a single file. Got several documents? Merge them into one PDF / DOCX / MD / TXT before uploading.
// sign-in required
Sign in to upload your brief. Magic link or Google — no account needed first.
Sign in →
Free demo build · queues immediately · live within 24 hours
// add a brief file above to enable submit
// what a buildable brief contains

Four things your brief should name explicitly

We extract structure from your brief automatically (no hand-coding required), but the brief has to actually say these things or we can't build a real app from it. Our guard rejects briefs that don't meet the thresholds below so you don't waste a build slot.

// need ≥ 3
Distinct roles
The different kinds of people who interact with the system. Not just "user" + "admin" — give them job-shaped names with what each does.
"Membership Coordinator", "Pro Shop Manager", "Director of Tennis", "Board Member"
// need ≥ 5
Things the system tracks
The nouns your business cares about — records, documents, events. Each should be concrete enough to put in a database table.
"Member Application", "Court Booking", "Dues Invoice", "Tournament Draw", "Audit Event"
// need ≥ 2
End-to-end workflows
Multi-step processes named after the WORK being done — not the path type. "Quote a new event", not "Happy path". Include hand-offs and at least one exception.
"New application → coordinator review → board approval → welcome packet emailed"
// need ≥ 3
Named screens
The pages users actually interact with — a list view, a detail view, and at least one task-specific surface. Name them by what the user sees, not by route.
"Reservation calendar", "Suite detail panel", "Daily check-in roster"
// need ≥ 4
Done-criteria
What a reviewer would check to confirm the app works. One sentence each, focused on observable behaviour rather than UI details.
"A member can book a court 7 days ahead; admin overrides go to audit log; finance sees only paid bookings"
Drafting with an AI assistant?
Paste the prompt below into Claude, ChatGPT, or Gemini. Answer the questions it asks. The output will be a Markdown brief that clears our gate on the first try.
Already have a brief? Audit it first.
Drop your existing brief + this audit prompt into Claude or ChatGPT. It'll diagnose what's missing against our gate's thresholds without rewriting your content — pure dry-run.
Prefer to see an example?
MemberPath — a private-club operations brief that cleared our gate with 8 actors / 7 entities / 6 workflows / 6 screens / 6 done-criteria. Use it as a structural template.
See sample brief ↗
// already have a long PDF / SRD / RFP from your team? Just upload it as-is — the extractor handles 5K–30K chars of structured prose comfortably. Aim for 2–4 pages of plain English over 15+ pages of formal spec.
// don't have a brief written yet? walk through the 7-stage questionnaire instead →
// what happens after you upload

From upload to live demo

/ 01
You upload
We accept PDF, DOCX, Markdown, or plain text. The brief should describe roles, workflows, data, approvals, and outputs.
/ 02
We extract
pdf-parse or mammoth pulls plain text out of your file. We require ≥80 chars to act — empty or scanned-image PDFs are rejected with a clear message.
/ 03
SOL-XXXXXX mints
A unique 6-char project code (base32 minus 0/O/1/I/L). The build pipeline names your GitHub repo, Vercel project, Neon DB, and DNS subdomain after this code.
/ 04
Two emails fire
You get a confirmation with the SOL ID and a link to your project page. Our team gets an admin alert with the extracted preview.
/ 05
Build starts
A BuildJob queues with state PENDING. Our build worker (or a human operator on the first pass) reads the extracted text and starts the customer-app build.
/ 06
Live at .ustack.ai
When the build completes you get a second email with the live URL — typically your SOL code under ustack.ai (e.g. sol-a4f8dz.ustack.ai).