Work
Two write-ups I'd most like you to read, then everything else on one timeline, then the things that went wrong.
Case studies
- 2025, project lead and engineerReceptionist agents for eight autism clinicsVoice and SMS agents, a human in the loop, and handing it all off to an engineering team.
- Summer 2026, internshipDocument and procurement AI at PalantirExtraction agents for an insurer and procurement forecasting for a medical-supply company.
Everything, in order
Jobs, hackathons, competitions and the projects I built to learn something. Labelled honestly: a case competition is a case competition, and a tutorial project is a tutorial project.
2026
Side project
Ember
A personal CRM that maps your network so you can find warm introductions. Won $1,500 from Duke Venture Group.
May – Aug 2026, New York
Internship
Palantir, Deployment strategist intern
Built AI document-extraction and classification workflows for an insurance customer, then procurement forecasting for a medical-supply customer.
Sep 2025 – now, Durham, NC
Investing
Duke Capital Partners, Investment analyst
Sourcing and diligencing AI, SaaS and healthcare startups for Duke's venture fund, and writing monthly investment memos for the partners.
2025
Hackathon
Rabbithole
Turns a research question into an explorable mind map. 3rd place at Neo Hackathon 2025, with two teammates.
Jun – Dec 2025, North Carolina
Project lead
Clinic receptionist agents, Project lead and engineer
Voice and SMS agents for eight pediatric autism clinics. Scoped it, ran it, built the voice agent and most of the SMS system, then handed it off.
May – Aug 2025, Charlotte, NC
Internship
Fastbreak AI, Software engineering intern
Worked on Swoop.ai, an event discovery app for amateur sports. I built a CMS that lets tournament operators spin up branded event sites, plus SAML single sign-on shipped as an internal npm package.
2024
Side project
LinkedIn Mentor
An agent that matches students with mentors using LinkedIn profiles. Presented at LinkedIn HQ to co-founder Allen Blue.
2024
Side project
May – Aug 2024, Toronto
Internship
BenchSci, Software engineering intern
I got there by winning BenchSci's case competition the year before. I built LLM research agents that draft scientists' reports, and was their first intern.
2023
Learning project
2023
Learning project
2023
Hackathon
Rescue robots with RT-X
A 36-hour pitch for retrofitting heavy machinery with Google's RT-X model to speed up post-disaster rescue. Top 5.
2023
Case competition
BenchSci case competition
With a team of five, interviewed 15+ BenchSci employees and pitched our solution in the finals. We won, which led to my internship there.
2023
Competition pitch
2023
Learning project
2023
Case competition
Amazon Alexa case competition
A team of four pitched Amazon on getting Gen Z to use Alexa in the kitchen. We delivered a deck and a clickable prototype.
2023
Learning project
2023
Hackathon
CapsuLedger
A concept for catching counterfeit drugs: a regulator-issued code on each bottle that anyone can check by SMS.
2023
Learning project
Jun – Sep 2023, Remote
Internship
bloXroute Labs, Data engineering intern
Analysed latency and block propagation in the Ethereum MEV infrastructure that quant funds and market makers trade on. I was 17.
2022
Case competition
CIBC case competition
Pitched CIBC on getting Gen Z into mobile banking: gamified savings, personalised cashback, financial education.
2022
Hackathon
mEye Vote
A concept for voting with an iris-scan hash tied to a wallet, with zero-knowledge proofs to keep ballots private.
Things that broke, or that I'd do differently
The interesting part of building something is usually where it goes wrong.
Clinic agents
First: Four CrewAI agents in a row: classify, schedule, decide on escalation, write the reply.
Then: Every text paid for four model calls in sequence.
Now: One tool-calling agent, with everything deterministic moved out of the model.
Clinic agents
First: An async calendar client with a shared lock, inside a threaded web server.
Then: Python's “future attached to a different loop” error.
Now: A fully synchronous sync path, a lock around the token, and one database client per thread.
Clinic agents
First: Escalations went to staff as one-way cards in Teams.
Then: Staff could see everything but had no clean way to pause the agent and reply themselves.
Now: Human takeover goes in the first version, not the second.
Clinic agents
First: The hours saved were estimated after the fact.
Then: So the 500+ hours figure is an estimate, not a measurement.
Now: Instrument the outcome you care about from day one.
Smart Networks
First: The plan was to make internet routing smarter in under-served regions.
Then: I only got as far as forecasting bandwidth demand. Simulating routing was left as the next step.
Now: I describe it as a forecasting project, because that's what it was.