Project Info
Hi! I am at Table 310
Inspiration
As builders and founders ourselves, we constantly saw VC analysts juggling 10+ tabs just to understand what a startup does. Signals were scattered across Crunchbase, GitHub, LinkedIn, Product Hunt, and company websites β but there was no unified way to surface a clear, investor-relevant profile. SignalStackVC was born from that pain. We wanted a tool that felt like having your own research analyst β but faster, smarter, and automatic.
What it does
SignalStackVC aggregates fragmented data across the web and builds an intelligent, structured profile of any startup β in seconds. You input a company name, and SignalStackVC pulls in high-signal data (funding, team, traction, tech, etc.) from trusted sources like Crunchbase, LinkedIn, GitHub, and press coverage. It categorizes content using semantic embeddings, filters noise using confidence scoring, and generates a clean, JSON-based company profile with clickable sources.
How we built it
π§ Smart Query Engine: Combines rule-based and LLM-generated queries tailored to each startup. π Search Layer: Uses SerpAPI to fetch high-relevance Google search results per query. π§ Categorization Engine: Uses OpenAI embeddings + cosine similarity to classify each result into funding, tech, team, product, etc. π Async Web Scraper: Enriches high-confidence links with live page content using aiohttp. π€ Profile Generator: Uses GPT-4 to generate a structured profile from categorized data, with strict constraints to avoid hallucination. π Backend Infra: Modular, CLI-friendly Python backend with rate limiting, deduplication, and JSON export.
Challenges we ran into
Entity disambiguation: Sometimes we fetched unrelated results for similarly named tokens or products (e.g. VLY crypto vs vly.ai). Result quality: Google results can be noisy; we had to build custom filtering, scoring, and fallback logic to keep profiles clean. OpenAI hallucinations: Without strict grounding, the model sometimes mixed up team members or made up features β so we tightened prompts and added source matching logic.
Accomplishments we're proud of
Built a fully functioning backend pipeline in under 48 hours. Extracted clean profiles for real YC startups like vly.ai, including team info and product summaries with cited sources. Designed a confidence-weighted categorization system that balances rules + embeddings. Modularized the codebase so itβs production-ready and extendable.
What we learned
Combining LLMs with traditional rule-based systems leads to surprisingly robust data pipelines. Query quality is everything β the better your search prompts, the better the downstream data. Entity resolution is hard β and crucial. Filtering and exact-match logic saved us from tons of noise.
What's next
for SignalStackVC π― Frontend: Launch a UI where VCs can search and watch startups, not just generate profiles from CLI. π Watchlists & Alerts: Let users track startup momentum over time (team changes, funding updates). π¬ Founder Signals: Extract founder posts from Substack, Medium, and LinkedIn. π§ Semantic Search: Let users search for βearly-stage devtools with high tractionβ and get ranked results. π User accounts + history so analysts can save, comment, and collaborate on startup profiles.
π SignalStackVC
All the startup signals, in one place. So you can stop hunting and start investing.
π§ Tagline
We aggregate fragmented startup data into one clean, searchable intelligence layer β built for VCs, analysts, and scouts who donβt have time to click through ten tabs per company.
π§© What SignalStack Does
SignalStack pulls in live data from across the web to build a single, investor-grade profile for any startup β with zero fluff and 100% relevance.
ποΈ Sources We Aggregate:
- π Startup Website β extract mission, product, features
- πΈ Crunchbase / AngelList β funding history, team info
- π Product Hunt β traction signals from launch
- π» GitHub β repo activity, tech credibility
- π§βπΌ LinkedIn β team structure, growth hints
- βοΈ Medium / Substack β founder insight, thought leadership
π What You See:
For every startup you track or paste in, SignalStack generates a unified profile with:
- β What they do β clear, AI-generated summary
- π§ Team background β LinkedIn + Crunchbase rollup
- π Traction signals β PH votes, GitHub stars/commits
- π° Funding insights β round info + any investor mentions
- π― Market fit β inferred category, use case, wedge
- π Your notes & tags β add context for your team
- π Save / Watchlist β for later follow-up or alerts
π― Use Cases
- π¨βπΌ VC Analysts tired of 20-tab sourcing
- π Scouts needing fast, accurate snapshots
- π§ͺ Fund partners looking for thesis-aligned prospects
- π FOFs tracking emerging markets across portfolios
π§ͺ MVP = Working Flow:
- Paste startup URL
- SignalStack scrapes and aggregates info
- LLM cleans + summarizes into profile
- Display clean result (JSON + styled view)
- Save profile or add notes
Analysis
View
Metric
- 16
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- HTMLIn code
- JavaScriptIn code
- OpenAIIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
9 of 9 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
230 KB
Source files
28
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
sgtanvi/SignalStackVC
53 files Β· 338 KB Β· @ b2e8980
Structure
Interface
3 files Β· 6%Screens, components and styles rendered to the user.
Application logic
36 files Β· 68%Domain rules, services and shared utilities.
+2 more
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here β open the file browser to check anything the diagram implies.
Languages
- Python48%
- YAML35%
- TypeScript13%
- CSS2%
- Markdown2%
- JavaScript0%
- Other (1)0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm Β· 21- @tailwindcss/vite
- class-variance-authority
- clsx
- lucide-react
- react
- react-dom
- tailwind-merge
- tailwindcss
- +13 more
backend/requirements.txt
pypi Β· 8- fastapi
- openai
- pandas
- pydantic
- python-dotenv
- python-multipart
- serpapi
- uvicorn
Declared in the repositoryβs manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This projectβs features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.