Hi! I'm Emma. I earned my B.S. in Computer Engineering from Columbia University and am now finishing my M.S. in Computer Science there, specializing in Machine Learning, with graduation this December 2026. I’m passionate about software engineering, AI, and building products that combine strong technical systems with meaningful real-world impact. I most recently interned as a Software Engineer at DoorDash in the NYC office, where I worked on the Pharmacy and Regulated Goods team building HIPAA-compliant payment infrastructure for prescription delivery.
I’m interested in full-stack and backend engineering, AI-powered applications, distributed systems, and product-focused development. My technical skills include React, React Native, TypeScript, Next.js, JavaScript, HTML, CSS, Python, C, Java, and modern web and mobile development frameworks. I’m currently looking for 2027 new grad software engineering opportunities following my December 2026 graduation.
Originally from Stillwater, Oklahoma. Outside of tech, I enjoy gaming, playing the clarinet and piano, seeing Broadway shows, photography, video editing, and trying new foods. In my free time, you’ll probably find me drinking boba, searching for the best froyo spots in NYC, or grinding Valorant (currently Ascendant, but still aiming for Immortal).
Contributed to the design and implementation of HIPAA-compliant payment infrastructure for DoorDash’s pharmacy delivery product, including proto contracts, database schema, and a red/green zone architecture for regulated payment data.
Built three gRPC endpoints for patient payment method storage and transaction processing using Go, Protocol Buffers, and Stripe’s API with fingerprint-based deduplication.
Validated production readiness through guardrail tests, Kaizen tests, and observability instrumentation.
Developed backend services for an AI-powered healthcare navigation chatbot that guides newcomers through the U.S. healthcare system.
Implemented APIs and data pipelines on AWS to support LLM fine-tuning, multilingual queries, and real-time insurance guidance.
Designed system architecture and CI/CD pipelines to enable scalable feature iteration and enterprise-ready infrastructure.
stack: AWS · LLMs · CI/CD
9d61f43
The Humor Project
Software Engineer Intern · The Humor Project
Date: May 2025 – Aug 2025 · New York, NY
Developed a humor-generation web app, Crackd.ai, where users select humor flavors like “Barnard,” “NYU,” or “Brainrot” to generate AI captions for photos.
Built the frontend using React and styled-components, with a backend powered by Node.js, OpenAI API, and Supabase for image-caption storage.
Integrated file uploads via S3 and built a tagging system to track humor flavor usage and customize prompt transformation via edge functions.
A browser-based Wordle clone themed around Valorant. Built using React, JavaScript, and Vite, it includes letter feedback, emoji-based result sharing, and custom gaming word lists.
A full-stack website for Columbia students to browse, rate, and review on-campus dorms. Built with Next.js, TypeScript, Tailwind CSS, and Supabase/PostgreSQL, featuring dynamic dorm pages and real-time rating updates.
A mobile movie browsing app built with React Native and Expo. Search for movies, view details, and save favorites, backed by the TMDb API for real-time data with a responsive interface across devices.
An interactive web app teaching basic piano skills, with a Flask backend and JavaScript frontend. Maps keyboard input to notes via the HTML5 Audio API and runs real-time quizzes to track note-identification accuracy.
The classic game recreated on a DE1-SoC FPGA, using SystemVerilog for VGA rendering and C for game logic. Custom hardware for tile graphics, sprite rendering, and PWM audio, with memory-mapped I/O tying software to hardware.
A full-stack web app for cataloging songs with search by title, writer, and artist. Flask backend for song management, with a jQuery frontend driving real-time updates and interactive search.
A programming language for composing music through code. Defines melodies, harmonies, and structure with an intuitive syntax, supporting key and time signatures plus transformations like transposition and harmonization.
compilerslanguage-design
$ cat maze-joystick/README.md
Maze Joystick Controlled Game
An interactive labyrinth game driven by an Arduino-powered joystick. A physical maze of cardboard walls on a plywood base, tilted in two planes by servo motors responding to joystick input.
arduinohardware
~/emma-li $ cat contact.md
Let's connect! Reach me via email or find me on GitHub.