Building a Startup Scoring Tool in Streamlit: My First End-to-End VC Tech Project

Introduction
In the fast-moving world of startups, investors, analysts, and accelerators are constantly trying to identify high-potential companies. But how do you quickly assess which ones are worth looking into — especially when you're dealing with dozens or even hundreds of domains?
That’s the problem I set out to solve with my Startup Scoring Tool — a lightweight, interactive app that lets you evaluate startups based on publicly available data using just their domain name.
It was my first full solo project combining:
Streamlit (for the UI),
Hunter.io API (for public company data),
Altair (for visualization), and
ReportLab (for generating downloadable PDF reports).
What It Does
The tool lets you:
Analyze a single startup domain (e.g. stripe.com)
Upload a CSV of multiple domains to batch score them
View a bar chart comparing top startups
Download a full PDF or CSV report for sharing or records
How It Works
When a user enters a domain (like notion.so), the app sends a request to the Hunter.io API to fetch:
Email count
Type of emails (generic/personal)
Confidence score
Job titles (CEO/Founder/etc)
Industry
Employee estimate
Then a scoring algorithm evaluates the startup out of 100 based on factors like:
More email presence = more traction
Tech/SaaS = higher score
High-confidence decision-maker emails = bonus points
Keeping the API Key Secure
Since the app relies on the Hunter.io API, it needs a special secret “key” to access the data. To keep this key safe and prevent misuse, I stored it securely outside the main code—in a protected configuration file that the app reads at runtime but is never included in the public repository. This way, the key stays hidden from anyone viewing the source code, protecting both the app and the data provider.
The Dashboard
Separate from the single domain scoring tool, the app also includes a batch analysis feature designed for scoring multiple domains at once. This is useful when you're evaluating a list of startups or company websites. When a user uploads a CSV file containing a list of domains, the app:
A bar chart of the top 10 scoring domains
A full results table
A button to download a PDF report with the chart + data
A button to download a CSV report
All with a clean, simple UI powered by Streamlit.
Example use case:
A VC analyst receives a list of 50 companies from an event. Instead of manually Googling each one, they upload the CSV and instantly see who's worth a deeper look.
Try It Yourself: startup-scoring-tool.streamlit.app
GitHub Repo: github.com/Ezama/startup-scoring-tool
API Used: Hunter.io Domain Search API
What I Learned
This project helped me:
Understand how to build production-grade Streamlit apps
Use public APIs to power data apps
Save visualizations as images and embed them in PDFs
Debug real-world deployment errors
Use Git and GitHub end-to-end (including fixing merge conflicts 🙃)
Final Thoughts
This was more than a portfolio project; it was a real test of combining design thinking, code, and business logic. I learned to think like both a developer and a product user.
If you’re a recruiter, investor, or builder who wants to collaborate, let’s connect! And if you’re new to Streamlit or APIs, this project is a great place to start.
Thanks for reading!
Subscribe to my newsletter
Read articles from Innocent Ezama directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Innocent Ezama
Innocent Ezama
Data Analyst| Data Scientist | Technical Writer | Seeking Opportunities to Drive Impactful Solutions in Tech