Adam Gent — Data Engineer

leading a kayak tour on grewingk lake

About

  • Building legal billing software for Makase
  • Making it easier for researchers to conduct marine research with the Greenwater Foundation
  • Identifying problems and building solutions for projects I believe in

Working on a cool project? I'd love to hear about it.

GitHub logoLinkedIn logoSpotify logo
Adam Gent

Professional Experience

Makase Data Engineer Sept 2025 – Present · Remote
  • Built the billing and payments core of Makase, a practice-management platform for law firms — a multi-tenant TypeScript monorepo (Hono API, React, Postgres/Supabase) with row-level security isolating every firm's data
  • Designed a legal-grade billing engine: versioned fee agreements with a four-tier rate hierarchy, flat-fee credits that net against hourly work, invoice amounts frozen at approval, and an append-only payment ledger that respects IOLTA trust accounting
  • Shipped online invoice payments on Stripe Connect — embedded KYC onboarding gives each firm its own account, clients pay by card or ACH through a least-privilege portal, and an idempotent webhook worker ensures no event can ever double-record a dollar
  • Backed it with production discipline: a fine-grained role/permission catalog, integration tests pinning bookkeeping invariants, and tenant-scoping audits on privileged code paths

Personal Projects

🅿️⏰

Sweeper Beeper

December 2025
Problem
Street sweeping occurs on the second and fourth Monday and Thursday on the streets near my house. I've gotten quite a few tickets because I forget to move my car in the morning.
Solution
An iOS Shortcut shares your location, the app identifies your exact street and block side using geospatial analysis of SF Open Data, and a cron job sends push notifications before upcoming sweeps. Self-hosted on a $12/month Digital Ocean droplet.
Stack
Python, FastAPI, PostgreSQL, Docker, GeoPandas, iOS Shortcuts
💃🏾

Live and Local

October 2025
Problem
I want to see more music at these really cool local venues, but I don't know most of the artists coming into town. I'd sit at home scrolling through the venue website, typing each artist into Spotify, listening, and deciding if I wanted to go. It was time consuming.
Solution
Scrapes your favorite venue lineups and automatically builds Spotify playlists with tracks from upcoming artists. Connect your Spotify account, pick your venues, and the playlists update themselves.
Stack
Python, PostgreSQL, Spotify API, OpenAI API, web scraping
Problem
Can you predict how dangerous an intersection is just from an aerial photo?
Solution
Scraped 1,731 aerial images from Google Maps, combined them with 20 years of SF collision data, and trained a multi-modal model using ResNet50 image embeddings merged with infrastructure features. Achieved 79% accuracy (R²=0.79) — the built environment accounts for nearly 80% of collision frequency variation.
Stack
Python, PyTorch, ResNet50, Selenium, Pandas, NumPy

Contact