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

Innocent EzamaInnocent Ezama
3 min read

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!

0
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