You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AI-powered technical spec generator for developers, students, and hackathon builders.
Drop in a GitHub URL or describe your project in plain text and SpecForge instantly produces a professional, structured technical specification — system designs, API contracts, database schemas, or feature specs — powered by your choice of AI model.
Features
Core Generation
4 spec types — System Design, API Design, Database Schema, Feature Spec
2 input modes — GitHub repository URL or plain-text description
Streaming output — content appears token-by-token in real time as the AI writes
Mermaid architecture diagrams — auto-generated alongside the document (architecture, ER, sequence diagrams depending on spec type)
Complexity score — AI-scored 1–10 rating with tech debt risk breakdown and written summary
8 starter templates — SaaS API, Mobile App, Real-time Chat, Data Pipeline, E-commerce Platform, Microservices, ML API, Multi-tenant Database
Multi-Model AI
GPT-5 (OpenAI) — default, alternative with strong reasoning
Gemini 2.5 Pro / Flash (Google) — Flash optimised for speed
Model selector on the generator page; choice is stored per spec
Export & Sharing
Public share links — generate a token-based URL (/share/:token) anyone can read without logging in; view count tracked
PDF export — clean browser-print layout via @media print CSS; sidebar, nav, and UI chrome hidden automatically
Notion export — push the full spec as a structured Notion page (headings, bullets, code blocks) directly into your workspace
Word / DOCX export — full Markdown-to-DOCX conversion; downloads a formatted .docx file
Markdown download — raw .md file for use in any editor or repo
Copy to clipboard — one-click copy of the full document
Code scaffold — generate 8–15 real starter files (README, package.json, source files, config) from any spec and download as a ZIP
GitHub Integration
GitHub Auto-sync — for specs generated from a GitHub repo, a manual sync button re-reads the latest source and regenerates the spec
GitHub Webhook — auto-regenerates on every git push; HMAC-SHA256 verified; fires in-app notification on completion or failure
AI-Powered Extras
Ask Your Doc — AI-powered chat scoped to each spec; ask questions, request clarifications, get implementation advice
Intelligent Insights — on-demand spec health analysis: completeness %, overall health rating, strengths, missing areas, improvement suggestions, and estimated implementation timeline
Collaboration & Realtime
Real-time presence — when multiple people view the same spec simultaneously, a live avatar bar appears
Version history — every generation is snapshotted; timeline panel lets you browse all past versions, preview any historical document in a full modal, and see a color-coded diff
In-app notifications — real-time bell icon with unread badge; notified when sync completes or fails; mark single or all read
Team workspaces — create teams, invite members with owner/editor/viewer roles, assign specs to teams
Authentication
Replit Auth — full session-based authentication via OpenID Connect + PKCE. All /app/* routes are protected behind an AuthGate that shows a branded login prompt to unauthenticated visitors. User info displayed in the layout header.
graph TD
%% Core Users
User["👥 User (Browser)"]
%% Frontend App
subgraph Frontend ["Frontend (React 18+, Vite)"]
UI["React UI (shadcn/ui, Tailwind)"]
Stream["Real-time Client (SSE)"]
AuthG["Auth Gate"]
end
%% External Auth Provider
ReplitAuth{"Replit Auth (OIDC)"}
%% Backend API
subgraph Backend ["API Server (Node.js, Express)"]
Router["API Router (/api/*)"]
GenServ["Spec Generation Service"]
SSE["SSE Stream Manager"]
Sync["GitHub Sync / Webhooks"]
end
%% AI Providers
subgraph AI ["AI Model Providers"]
OpenAI["OpenAI (GPT)"]
Gemini["Google Gemini"]
end
%% Database
subgraph DatabaseLayer ["Database Layer"]
DB[(PostgreSQL)]
ORM["Drizzle ORM"]
ORM <--> DB
end
%% External Integrations
GitHub["GitHub API"]
Notion["Notion API"]
%% Connections
User <-->|Interacts| Frontend
AuthG <-->|OAuth Flow| ReplitAuth
Frontend <-->|REST API| Router
Frontend <-->|Real-time stream| SSE
Router <-->|Queries| ORM
Router --> GenServ
GenServ -->|Prompts| AI
AI -->|Tokens| GenServ
GenServ -->|Pushes updates| SSE
Sync <-->|Fetches Code / Receives Webhooks| GitHub
Router -->|Exports Document| Notion
%% Styling
classDef client fill:#3b82f6,stroke:#2563eb,color:#fff;
classDef backend fill:#10b981,stroke:#059669,color:#fff;
classDef db fill:#f59e0b,stroke:#d97706,color:#fff;
classDef ext fill:#8b5cf6,stroke:#7c3aed,color:#fff;
classDef ai fill:#ec4899,stroke:#db2777,color:#fff;
class User,Frontend,UI,Theme,Stream,AuthG client;
class Backend,Router,AuthM,GenServ,SSE,Sync backend;
class DatabaseLayer,DB,ORM db;
class ReplitAuth,GitHub,Notion ext;
class AI,OpenAI,Gemini ai;
Loading
Getting Started
Prerequisites
Node.js 20+
pnpm 9+
A Replit account (for Auth and PostgreSQL)
An OpenAI or Gemini API key (set as environment secret)
Local Development
# Install all workspace dependencies
pnpm install
The API server and frontend each run as separate workflows. In Replit they start automatically. For local development without Replit Auth, set:
LOCAL_DEV=true
VITE_LOCAL_DEV=true
This bypasses authentication and injects a mock local-dev-user so the full app is accessible immediately (a "LOCAL DEV MODE" banner appears at the top of the UI as a reminder).
Key Commands
# Full typecheck (libs + all packages)
pnpm run typecheck
# Regenerate API client from OpenAPI spec
pnpm --filter @workspace/api-spec run codegen
# Push DB schema changes to PostgreSQL
pnpm --filter @workspace/db run push
Environment Variables
Variable
Required
Description
DATABASE_URL
Yes
PostgreSQL connection string (auto-provisioned by Replit)
SESSION_SECRET
Yes
Secret for signing session cookies
OPENAI_API_KEY / GOOGLE_AI_API_KEY
Yes
API key for spec generation
NOTION_API_KEY
Optional
Notion Internal Integration token for Notion export
LOCAL_DEV
Dev only
Set true to bypass Replit Auth
VITE_LOCAL_DEV
Dev only
Shows the LOCAL DEV MODE banner in the UI
API Reference
All endpoints are prefixed /api and require authentication unless noted.
User ↔ team membership with role (owner / editor / viewer)
users
Authenticated user profiles (Replit Auth)
sessions
Auth session store
Recommended Improvements
High Impact
Spec versioning UI — the backend already snapshots every generation; surfacing a full diff view in the frontend with +/- color coding would let users track how their spec evolves over time.
Webhook-triggered auto-sync completion — complete the GitHub webhook flow so specs regenerate automatically on push with no manual step required.
Semantic search — replace the current text search with vector embeddings (pgvector) so users can find specs by meaning and concept, not just keywords.
Custom section templates — let users define reusable sections (e.g. "Our standard security checklist") injected at a fixed position in every new spec.
Medium Impact
Spec quality scoring — after generation, run a secondary AI pass that scores completeness, consistency, and security coverage and surfaces specific gaps with suggested fixes.
Mobile-responsive layout — add a collapsible bottom tab bar for the sidebar on small screens so the app is usable on phones.
Dark/light auto mode — add a "System" option to the theme picker that follows prefers-color-scheme automatically.
Keyboard shortcut palette — cmd+k command palette for quick navigation, spec creation, and theme switching without reaching for the mouse.
Polish
Onboarding checklist — a persistent first-run checklist (generate your first spec, try GitHub sync, share a spec) to help new users discover features.
Spec tagging — add free-form tags to specs and filter the spec list by tag, complementing the existing type and status filters.
AI model comparison — a side-by-side mode that runs the same prompt through two models simultaneously so users can compare output quality before committing to one.