Skip to content

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

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.

    Live

  • 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.

    Case study

  • 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.

    Case study

  • 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.

    Case study

  • 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

    Daylee

    Founders post one update a day, publicly, and keep a streak going. Built solo with Next.js and Supabase.

    DemoCode

  • 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

    Smart Networks

    Forecast bandwidth demand from ITU data with XGBoost, as a first step towards routing traffic better in under-served regions. Talked it through with people at Verizon and Ericsson. Simulating actual routing was planned as the next step.

    Write-upVideo

  • 2023

    Learning project

    Electricity demand forecasting

    XGBoost against Prophet on hourly PJM demand. XGBoost won comfortably: 9.2% MAPE against 16.5%.

    ArticleCode

  • 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.

    Write-up

  • 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.

    Final pitch

  • 2023

    Competition pitch

    Photonix

    A team concept for using excimer lasers to break down ground-level ozone. Won Most Impactful at Moonshot Challenge '23. Nothing was built; it was a pitch.

    ArticleVideo

  • 2023

    Learning project

    EventChain

    NFT event tickets on a local Ethereum network, built from a tutorial base to learn Solidity and Hardhat.

    ArticleCode

  • 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.

    Deck (PDF)

  • 2023

    Learning project

    Web3 Twitter

    A tutorial-based dApp for posting messages on-chain, built with React and Solidity on the Goerli testnet.

    ArticleCode

  • 2023

    Hackathon

    CapsuLedger

    A concept for catching counterfeit drugs: a regulator-issued code on each bottle that anyone can check by SMS.

    Write-up

  • 2023

    Learning project

    ZK-SNARK circuit

    A small Circom circuit (prove you know three factors of a number) to learn how zero-knowledge proofs work.

    ArticleCode

  • 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.

    Deck (PDF)

  • 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.

    Write-up

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.