Inspiration

Every side project starts the same way: a half-formed idea, a blank README, and a weekend you'll never get back. Good ideas die at the "now what?" step, before a single file is created. AbridgeAI came from wanting a tool that does the thinking a project needs before the coding starts. Give it one sentence and it hands you a feasibility verdict, an architecture, a stack, a real starter scaffold, and a week-by-week plan, instead of a blank screen.

What it does

AbridgeAI runs a seven-stage deterministic planning pipeline on your local backend:

  1. Builder Signals reads your public GitHub profile for signal (optional)
  2. Research & Opportunities scans the market, flags risks, suggests direction
  3. Feasibility Assessment scores your idea out of 100 across five weighted axes
  4. Architecture Direction maps module breakdown and data flow
  5. Tech Stack recommends a comfort-matched stack, or accepts your own custom combo
  6. Builder Plan & Scaffold produces a downloadable starter repo (.zip) with a project-specific README.md and PLAN.md
  7. Project Brief assembles the full brief, viewable in-app or exported as Markdown

Feasibility is scored as $$\text{score} = \min\left(100,\ c + s + p + t + b\right)$$

across five axes: idea clarity, stack fit, scope, time realism, and builder fit. Above 70 it says GO, between 50 and 70 it says Proceed with caution, and below that Rethink / reshape. The plan is honest before you commit.

Add a custom stack like FastAPI + React + PostgreSQL + Docker and the text gets parsed into structured components, the scaffold auto-selects for the backend language, and the README renders each layer. Type C++ + Rust together and both get recognized. The pipeline lists both and picks the best matching starter base.

How we built it

The backend is Express + Node, the frontend is React + Vite, and all planning logic lives server-side behind a typed stage registry (stages.js). The UI never rebuilds project logic; it just consumes structured results over HTTP. Four stages are LLM-powered: Gemini goes first, and if it's missing, out of quota, or unparseable, Groq is tried automatically. If both fail, a deterministic engine takes over so the app never 500s. Badges in the UI tell you which path ran (Gemini · live, Groq · live, LLM · cached, or fallback).

Even the deterministic fallback is idea-aware. Items are picked by hash-scored seeding, where every candidate scores as

$$s_i = H(\text{seed} + \text{poolItem}_i)$$

with the best-seeded options chosen. Two similar ideas still diverge and a run never re-bills the same prompt twice because results are cached per input hash.

Challenges we ran into

The biggest challenge was billing discipline. The Gemini free tier allows roughly 20 requests/day on this model, and one run already uses four. A deployment that worked yesterday shows fallback today for no code reason. Debugging that led to the whole resilience story: a real provider chain (Gemini, then Groq, then deterministic) instead of a single point of failure. We also had to keep LLM output honest. Models return malformed JSON, miss keys, or invent content, so every stage sanitizes and clamps LLM results before anything touches the UI.

Accomplishments that we're proud of

  • The pipeline always produces a complete plan, demo-proof even with no API keys
  • A real downloadable scaffold, not just text: README.md, PLAN.md, a test, a fixture, and a core module that embeds the project's planned architecture
  • Deterministic fallbacks are idea-specific, not generic canned text

What we learned

  • Resilient beats ambitious: a fallback chain beats a single "perfect" model
  • LLM output is a contract to validate, not a source of truth
  • A typed stage registry made adding stages trivial, single source of truth
  • Caching identical inputs prevents cost spikes and guarantees stable re-runs

What's next for AbridgeAI

  • More starter languages (C++/C#, web frameworks) and richer scaffolds
  • A persisted project store plus cloud run for multi-user use
  • Cost-tiered provider routing (which stage uses which provider, by cost)

Built With

Share this project:

Updates

Submission history