How nithyasahasra/business-idea-validator works
IdeaLens is a full-stack business-idea validation platform. A user signs in, submits an idea, and follows a queued research job through six stages to a persistent, source-linked report and deterministic opportunity score. The graph includes the documented authentication, report browsing, and email-verification capabilities. The README describes several subsystems whose implementation was not sampled; those links are documented rather than inferred from unseen code.
Main entry points: App.jsx React app · research_service.py Research stages · main.py FastAPI app · api.js API client
Components 26
Web application
- React app
App.jsx - Sign-in and signup
SignIn.jsx - Email verification
VerifyEmail.jsx - Idea submission
Validate.jsx - Job progress
Research.jsx - Report history
MyReports.jsx - Validation report
Report.jsx - Auth state
AuthContext.jsx - API client
api.js
API and identity
- FastAPI app
main.py - Auth routes
auth.py - Auth service
auth_service.py - Email delivery
email_service.py - Idea routes
ideas.py - Research routes
research.py - Report routes
reports.py
Research pipeline
- Research worker
worker.py - Research stages
research_service.py - Evidence search
search_service.py - Report synthesis
llm_service.py - Opportunity scoring
scoring_service.py
Persistence
- Application database
database.py
Other components
- Founder
- Tavily Search
- OpenAI
- Resend email
Connections 32
- Founder → React app: uses
README - React app → Sign-in and signup: routes to
App.jsx - React app → Email verification: routes to
App.jsx - React app → Idea submission: routes to
App.jsx - React app → Job progress: routes to
App.jsx - React app → Report history: routes to
App.jsx - React app → Validation report: routes to
App.jsx - Founder → Idea submission: submits idea
README - Sign-in and signup → Auth state: uses auth
- Idea submission → API client: submits via
- Job progress → API client: polls via
- Report history → API client: fetches via
- Validation report → API client: fetches via
- API client → FastAPI app: HTTP JSON
README - FastAPI app → Auth routes: registers
main.py - FastAPI app → Idea routes: registers
main.py - FastAPI app → Research routes: registers
main.py - FastAPI app → Report routes: registers
main.py - Auth routes → Auth service: delegates to
- Auth routes → Email delivery: sends email
- Email delivery → Resend email: sends via
email_service.py - Idea routes → Application database: queues job
README - Research worker → Application database: claims jobs
worker.py - Research worker → Research stages: processes job
worker.py - Research stages → Evidence search: collects evidence
research_service.py - Evidence search → Tavily Search: searches
search_service.py - Research stages → Application database: persists sources
research_service.py - Research stages → Report synthesis: synthesizes report
research_service.py - Report synthesis → OpenAI: generates report
README - Research stages → Opportunity scoring: calculates score
research_service.py - Research stages → Application database: persists report
research_service.py - Report routes → Application database: reads reports