The original goal was simple:
Build an AI tool that can analyze startup ideas.
At this stage, the system relied mostly on:
- prompting an LLM
- generating general startup advice
The outputs looked good but had a major flaw:
- no grounding in real data
- answers were generic and sometimes unrealistic
“If the system only uses LLM, it’s just a chatbot — not an analysis system.”
Introduced real startup dataset:
- description
- industry
- funding
- success_score
- outcome_label
From: Idea → LLM → Output
To: Idea → Data → Signals → Output
Implemented TF-IDF similarity.
- system started referencing real startups
- noisy matches
- dataset bugs (empty columns, wrong formats)
- still relied on LLM
- data cleaning pipeline
- standardized schema
Redesigned system as a pipeline:
Idea
→ Retrieval
→ Scoring
→ Risk
→ Scenario
→ Recommendation
→ Report
Separate:
- data (retrieval)
- logic (rules)
- generation (language)
Added rag_context_builder.py
- retrieve similar startups
- compute signals:
- avg_success_score
- success_ratio
- failure_ratio
- similarity
LLM is no longer the brain, only the narrator.
Random ideas got very high scores.
- weak penalties
- no caps
- overly optimistic aggregation
- penalty system
- similarity thresholds
- score caps
Scoring must be conservative, not optimistic.
Rule-based instead of LLM:
Signals:
- failure_ratio
- similarity strength
- peer count
Outputs:
- risk_level
- risk_flags
Upgraded from simple text → structured output:
Each scenario includes:
- title
- description
- why it happens
- trigger
- warning signs
- actions
Components:
- score + radar chart
- peer signals
- similar startups
- scenarios
- recommendations
UI must explain reasoning, not just output.
ai_modules/
- data_loader.py
- similarity_bridge.py
- rag_context_builder.py
- scoring_engine.py
- risk_analyzer.py
- scenario_simulator.py
- recommendation_engine.py
- report_generator.py
- full_analysis.py
- radar_chart.py
- LLM without data = unreliable
- Retrieval quality is critical
- Scoring must be calibrated
- Structure > complexity
- Most bugs come from data mismatch
- Embeddings instead of TF-IDF
- Industry baseline scoring
- Percentile ranking
- Better evaluation
- Memory system
“I built a startup analysis system that moved from LLM-based guessing to a data-driven RAG pipeline with scoring, risk modeling, and structured scenario simulation.”