Projects / AI products
Funding-matching platform.
Matches organizations to non-dilutive funding. It reads thousands of mixed-format documents with retrieval-augmented generation, matches on embeddings, and predicts fit with a fairness-calibrated model, all inside a bilingual client portal.
- Stack
- Next.js, Laravel, FastAPI, pgvector, GCP, AWS
- Scale
- 84,000+ users · $90M+ in completed funding · 2,000+ opportunities · SOC 2 Type II
- Role
- Co-founder and hands-on CTO. Designed the architecture and wrote core code

Flow.
- Funding sources
- Scraping agent
- Semantic chunking
- Embeddings
- pgvector search
- LLM rerank
- Fairness-calibrated score
- Match in portal
How it works.
Opportunities arrive from thousands of sources in inconsistent formats. An autonomous agent structures them into a common record, and a chunker splits each document at meaning boundaries instead of fixed lengths, so eligibility rules stay intact.
Every chunk is embedded and stored in Postgres with pgvector. Organization profiles are embedded the same way, and the cross-lingual alignment means an English profile can match a French opportunity without translation in the loop.
Nearest-neighbour search produces candidates. A reasoning pass with an LLM scores each candidate against the organization's real constraints, and a temporal-aware predictive model estimates likelihood of success, calibrated so historically under-represented applicants are not penalized by skewed data.
The client portal is a bilingual Next.js app using TanStack Query for server state, talking to a Laravel core API and FastAPI microservices for the AI work. Background jobs for matching, scoring, email, and exports run through Laravel Horizon queues.
Hard parts.
- Keeping generated content factual: a multi-model chain extracts constraints, classifies intent, and validates grounding before anything is shown.
- Operating to SOC 2 Type II while moving fast: encryption with AWS KMS, audited access, reproducible image-based deploys.
- Scaling matching from a nightly batch to something that felt live as the user base passed 84,000.
Outcome.
Grew from zero to 84,000+ users with more than 2,000 opportunities indexed and over $90M in completed funding. Won 1st place at a national innovation summit and a Google for Startups partnership along the way.
Screens.


