Princeton University
A.B. in Computer Science, certificate from the Bendheim Center for Finance. Thesis and lab work in between.
2021 - 2025

MostoftheworkIpickupstartsthesameway—toomanymanualsteps,weaksignal,andaprocessnobodyfullytrusts.
AtPwCI'mworkingontechnicaldirectionandproductstrategyintheCEDAgroup.Beforethat,mostofmytimewentintoConstellation'sinternalplatform,whereIreplacedatangleofbilling,CRM,HR,equity,andclient-datatoolswithoneapp.Ontheside,I'vebeenbuildingAI-assistedcompliancetoolingfor85+long-termcarefacilitieswithAgileAging.
Ilikeworkthatsitsclosetooperators,revenue,andexecution—placeswherethecodehastoearnitskeep.
Base
New York / Princeton
Focus
AI workflows, cloud infrastructure, process efficiency
Current
Senior Software Engineer and technical Product Owner at PwC CEDA
Computer science, finance, research, and rowing. None of these were detours. They all shaped how I show up to a problem.
Princeton University
A.B. in Computer Science, certificate from the Bendheim Center for Finance. Thesis and lab work in between.
2021 - 2025
Google Cloud
Working through the Associate Cloud Engineer cert. Most of my BigQuery and analytics work runs through GCP.
In Progress
PwC
Senior Software Engineer and Technical Product Owner in the CEDA group.
2026 - Present
Constellation Software
Started as a finance intern, moved into FP&A, then into engineering and tech lead on the internal platform and the client SaaS.
2023 - 2026
Amazon Web Services
AWS Certified Cloud Practitioner. Production work across Lambda, S3, RDS, IAM, Route 53, and API Gateway.
Certified 2025
Wharton School, University of Pennsylvania
Two years on a Wharton/Princeton research team applying ML to policing reform — classifying misconduct across thousands of labeled cases.
2022 - 2024
USA Rowing
Rowed for the U.S. heavyweight men's team in Princeton off-seasons. 35+ hour training weeks.
2021 - 2023
Princeton Athletics
Four years on the heavyweight varsity squad. Won the program's first IRA gold in the 4+ since 1973.
2021 - 2025
Corporate Finance Institute
FMVA program, financial statistics concentration.
Certified 2023
Mostly TypeScript on AWS, with Python for anything modeling-shaped and SQL pulling reporting through the middle.
Postman
Where I poke at APIs when something looks wrong.
API tooling
Vercel
Where the front-ends I ship usually live, this site included.
Delivery layer
Auth0
Login and per-team permissioning on the internal platform.
Security
Hasura
GraphQL layer in front of Postgres for our internal app — the shortest path between a schema change and the UI.
Application graph
GCP
Where most of my research and BigQuery work has lived.
Analytics layer
AWS
Most of what I build day-to-day runs here — Lambda, S3, RDS, the usual primitives.
Core platform
Docker
How I keep local and prod from drifting on the Lambda monorepo.
Runtime tooling
Snowflake
Where reporting, cohort analysis, and most of the warehouse work end up.
Data warehouse
Claude Code
I write a lot of code alongside this, and increasingly inside it.
Build acceleration
Looker
Revenue and ops dashboards, mostly carryover from the FP&A days.
Reporting layer
PostgreSQL
Default database for almost everything I build.
Primary database
Supabase
What I reach for when I want a backend standing up in an evening.
Rapid backend
Stripe
Used when something actually needs to take money.
Commerce layer
Next.js
What I'm reaching for on every front-end right now, this site included.
Web framework
Python
Research, ML work, and most of the glue scripts I write.
Research + automation
TypeScript
What I write more than anything else, front and back.
Primary language
React
How I build interfaces, paired with Next.
UI foundation
SQL
From the finance reporting days through to current platform work.
Query layer
JavaScript
Whatever isn't strictly typed yet.
Modern web
Postman
Where I poke at APIs when something looks wrong.
API tooling
Vercel
Where the front-ends I ship usually live, this site included.
Delivery layer
Auth0
Login and per-team permissioning on the internal platform.
Security
Hasura
GraphQL layer in front of Postgres for our internal app — the shortest path between a schema change and the UI.
Application graph
GCP
Where most of my research and BigQuery work has lived.
Analytics layer
AWS
Most of what I build day-to-day runs here — Lambda, S3, RDS, the usual primitives.
Core platform
Docker
How I keep local and prod from drifting on the Lambda monorepo.
Runtime tooling
Snowflake
Where reporting, cohort analysis, and most of the warehouse work end up.
Data warehouse
Claude Code
I write a lot of code alongside this, and increasingly inside it.
Build acceleration
Looker
Revenue and ops dashboards, mostly carryover from the FP&A days.
Reporting layer
PostgreSQL
Default database for almost everything I build.
Primary database
Supabase
What I reach for when I want a backend standing up in an evening.
Rapid backend
Stripe
Used when something actually needs to take money.
Commerce layer
Postman
Where I poke at APIs when something looks wrong.
API tooling
Vercel
Where the front-ends I ship usually live, this site included.
Delivery layer
Auth0
Login and per-team permissioning on the internal platform.
Security
Hasura
GraphQL layer in front of Postgres for our internal app — the shortest path between a schema change and the UI.
Application graph
GCP
Where most of my research and BigQuery work has lived.
Analytics layer
AWS
Most of what I build day-to-day runs here — Lambda, S3, RDS, the usual primitives.
Core platform
Docker
How I keep local and prod from drifting on the Lambda monorepo.
Runtime tooling
Snowflake
Where reporting, cohort analysis, and most of the warehouse work end up.
Data warehouse
Claude Code
I write a lot of code alongside this, and increasingly inside it.
Build acceleration
Looker
Revenue and ops dashboards, mostly carryover from the FP&A days.
Reporting layer
PostgreSQL
Default database for almost everything I build.
Primary database
Supabase
What I reach for when I want a backend standing up in an evening.
Rapid backend
Stripe
Used when something actually needs to take money.
Commerce layer
Postman
Where I poke at APIs when something looks wrong.
API tooling
Vercel
Where the front-ends I ship usually live, this site included.
Delivery layer
Auth0
Login and per-team permissioning on the internal platform.
Security
Hasura
GraphQL layer in front of Postgres for our internal app — the shortest path between a schema change and the UI.
Application graph
GCP
Where most of my research and BigQuery work has lived.
Analytics layer
AWS
Most of what I build day-to-day runs here — Lambda, S3, RDS, the usual primitives.
Core platform
Docker
How I keep local and prod from drifting on the Lambda monorepo.
Runtime tooling
Snowflake
Where reporting, cohort analysis, and most of the warehouse work end up.
Data warehouse
Claude Code
I write a lot of code alongside this, and increasingly inside it.
Build acceleration
Looker
Revenue and ops dashboards, mostly carryover from the FP&A days.
Reporting layer
PostgreSQL
Default database for almost everything I build.
Primary database
Supabase
What I reach for when I want a backend standing up in an evening.
Rapid backend
Stripe
Used when something actually needs to take money.
Commerce layer
Next.js
What I'm reaching for on every front-end right now, this site included.
Web framework
Python
Research, ML work, and most of the glue scripts I write.
Research + automation
TypeScript
What I write more than anything else, front and back.
Primary language
React
How I build interfaces, paired with Next.
UI foundation
SQL
From the finance reporting days through to current platform work.
Query layer
JavaScript
Whatever isn't strictly typed yet.
Modern web
Next.js
What I'm reaching for on every front-end right now, this site included.
Web framework
Python
Research, ML work, and most of the glue scripts I write.
Research + automation
TypeScript
What I write more than anything else, front and back.
Primary language
React
How I build interfaces, paired with Next.
UI foundation
SQL
From the finance reporting days through to current platform work.
Query layer
JavaScript
Whatever isn't strictly typed yet.
Modern web
Next.js
What I'm reaching for on every front-end right now, this site included.
Web framework
Python
Research, ML work, and most of the glue scripts I write.
Research + automation
TypeScript
What I write more than anything else, front and back.
Primary language
React
How I build interfaces, paired with Next.
UI foundation
SQL
From the finance reporting days through to current platform work.
Query layer
JavaScript
Whatever isn't strictly typed yet.
Modern web
Different domains, same shape: messy inputs, decisions that matter, and people on the other end who need the output to actually be usable.
Constellation Software
2025 - Present
One internal app that replaced the spreadsheets, scripts, and SaaS tools we'd been using for billing, CRM, onboarding, equity, and client-data validation.
Core tools
Languages and frameworks
Princeton Thesis
Thesis / 2025
My senior thesis on election forecasting using betting odds and institutional investor portfolios. Public codebase and a documented research write-up.
Core tools
Languages and frameworks
Wharton & Princeton
2022 - 2024
Two years on a Wharton/Princeton research team building the ML pipeline behind a misconduct-classification model. BigQuery feature engineering, TensorFlow and PyTorch classifiers.
Core tools
Languages and frameworks
A lot of how I show up to engineering was built long before I wrote any production code. This section is here for that reason.
A lighter section, but still built like an interface. Drag a card, pause on one, or open it to get the full note behind the moment.Tap any card to read the full note behind the moment.
Drag, pause, openTap to open
Team USA
National team block
IRA Gold
Championship moment
Australia Block
Crews don't graduate
Bike Racing
Engine building
Princeton '25
Graduating crew
Program Culture
Team standards
Rowing
Foundational rhythm
If something like that is on your side too, email is still the fastest way to reach me.