AI-powered contract analysis workspace for freelancers and agencies.
ContractorIQ ingests a PDF/DOCX contract, extracts scope, flags risky clauses, estimates delivery hours, and drafts counter-proposal language in one workflow. It supports authenticated production use and a public interactive demo path. The app uses Supabase for auth/data/storage and can run analysis through either Anthropic or OpenAI via env-controlled provider switching.
| Technology |
Version |
Purpose |
| Next.js |
16.2.3 |
App router UI + API routes |
| React |
19.2.4 |
Component rendering |
| Tailwind CSS |
4.x |
Styling system |
| Framer Motion |
12.38.0 |
UI animations |
| GSAP |
3.15.0 |
Scroll and hero animations |
| Zustand |
5.0.12 |
Analysis upload/result state |
| Technology |
Version |
Purpose |
| Supabase Auth |
managed |
Magic link + OAuth sessions |
| Supabase Postgres |
managed |
Analyses, chat, preferences |
| Supabase Storage |
managed |
Contract file storage |
| Anthropic SDK |
0.88.0 |
Claude analysis provider |
| OpenAI SDK |
6.34.0 |
GPT-4o-mini analysis provider |
| Technology |
Version |
Purpose |
| TypeScript |
5.x |
Type safety |
| ESLint |
9.x |
Linting |
| pnpm |
10.x |
Package manager |
- Upload + analyze flow on
/analyze with status and robust error diagnostics.
- Public demo mode on
/analyze?demo=1 without auth.
- Analyzer provider switch via env: Anthropic or OpenAI.
- Dashboard/history + analysis detail route.
- Preferences screen that affects pricing/negotiation behavior.
- Avatar menu showing signed-in user name/email and sign-out.
| Variable |
Description |
NEXT_PUBLIC_SUPABASE_URL |
Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Supabase anon key |
SUPABASE_SERVICE_ROLE_KEY |
Server-side privileged key for fallback storage upload |
NEXT_PUBLIC_APP_URL |
App origin used for auth redirects |
NEXT_PUBLIC_DEMO_MODE |
Demo-mode feature toggle |
NEXT_PUBLIC_SHOW_GOOGLE_OAUTH |
Show/hide Google OAuth button in auth UI |
ANTHROPIC_API_KEY |
Claude provider key |
OPENAI_API_KEY |
OpenAI provider key |
ANALYZER_PROVIDER |
anthropic or openai |
OPENAI_ANALYSIS_MODEL |
OpenAI model id (default gpt-4o-mini) |
- Apply DB and storage setup from
supabase/migrations/001_initial.sql before first upload.
- If AI billing is unavailable, analysis returns a demo fallback result and surfaces an in-UI notice.