A scalable, JWT-secured backend built with FastAPI, designed to evaluate user-submitted startup ideas using OpenAI's GPT API. It allows authenticated users to submit ideas and receive structured AI feedback scored across five categories. Ideal for product validation, ideation tools, or investor pitch pre-analysis.
-
🔐 JWT Authentication (SignUp & Login with scoped access)
-
💡 AI-Powered Startup Evaluation
- Creativity
- Demand
- Uniqueness
- Scalability
- Investment readiness
-
🧠 OpenAI GPT Integration via
gpt-4o-mini
-
📦 Database Storage of evaluated ideas per user
-
📈 Scalable Architecture – future-ready to add premium usage limits or analytics
-
🗃️ Usage History – fetch user-specific past evaluations
-
🛡️ Custom Free Usage Control (usage tracking logic ready)
-
🔌 Modular FastAPI Router Design
- Framework: FastAPI (with APIRouter modular structure)
- Auth: JWT via OAuth2 with token-based flow
- Database: SQLAlchemy ORM + PostgreSQL / SQLite
- AI API: OpenAI GPT via
openai
Python SDK - Env Management:
python-dotenv
- Schema Validation: Pydantic
git clone https://github.com/Asthraris/AI-StartUp-Idea-Validator.git
cd startup-evaluator-api
pip install -r requirements.txt
OPENAI_KEY=sk-xxxxxxxxxxxxxxxxxx
SECRET_KEY=your_jwt_secret
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=60
uvicorn app.main:app
Method | Route | Description |
---|---|---|
POST | /auth/signup |
Register new user |
POST | /auth/login |
Login and get token |
Each route returns a JWT token to be used in Authorization header:
Authorization: Bearer <token>
Method | Route | Description |
---|---|---|
POST | /ideas |
Submit a startup idea and get evaluation |
GET | /ideas/history |
View your previously submitted ideas |
Note: Auth required for both routes.
{
"startup_idea": "AI-powered mental health assistant for teens",
"evaluation": {
"creativity": {
"sentence": "Unique blend of AI and mental wellness tools.",
"score": 8
},
"demand": {
"sentence": "High demand due to rising teen mental health issues.",
"score": 9
},
...
}
}
- After login/signup, you get a token.
- Include it in your request headers:
Authorization: Bearer <your_token>
The system is structured to support per-user usage limits (e.g., 3 free evaluations). This logic can be extended to support:
- Tiered API access
- Premium unlocks
- Billing integration
- Rate limiting & quota management
- Admin dashboard with analytics
- User-defined evaluation criteria
- Support for team-based accounts
- Export results as PDF/CSV
- Frontend integration (Next.js/Flutter/React)
MIT – free to use and extend.
Aman Gupta Inspired by innovation, powered by AI.