01/AI-native investment banking
CLIMB

Problem
Fundraising work already lives in email and messages. A CRM that asks founders to leave those channels becomes another system to maintain - not a system of record.
What I owned
- Streaming LLM chat
- Semantic investor search and ranking
- Gmail and Outlook OAuth, token refresh, background sync
- iMessage agent infrastructure
- PostgreSQL schemas on AWS
Engineering challenge
Keep token lifecycle, background synchronization, semantic ranking, and streaming generation coherent inside one founder workflow - without turning the CRM into a second inbox.
Architecture
How the system connects.
01 →
OAuth
Gmail · Outlook · Microsoft identity
02 →
Sync queue
Redis-backed refresh and ingest
03 →
PostgreSQL
Threads, attachments, founder graph
04 →
Semantic search
Embeddings · ranking · retrieval
05 →
Streaming LLM
Chat, fundraising assistance
06
Agents
iMessage webhooks and actions
Context
CLIMB is an AI-native investment bank for the top 1% of startups. The product spans capital raise, M&A, embedded corporate development, and IPOs. The Founder CRM is the operational surface those workflows run through.
What I owned
I led full-stack development of the Founder CRM: streaming LLM chat, semantic investor discovery, Gmail and Outlook OAuth integrations with token refresh and background synchronization, iMessage agent infrastructure, and the PostgreSQL schemas that hold the founder graph.
Technical decisions
OAuth tokens are treated as a lifecycle, not a login event. Sync work is queued so inbox volume cannot block the UI. Investor discovery is embedding-based retrieval plus ranking, not keyword search. Agent actions leave the product through webhooks so iMessage can participate without becoming a special case.
Outcome
A production Founder CRM where investor discovery, email context, and AI assistance operate as one system - not a set of disconnected tools.
- OAuth CRM sync
- Gmail + Outlook
- Streaming founder chat
- LLM
- Investor discovery
- Vector
Technology
Microservices · Next.js · TypeScript · Python · FastAPI · Flask · PostgreSQL · Redis · AWS · OAuth 2.0