Joined Covent, formerly Dispo Genius, as Senior Frontend Engineer and grew into Team Lead. I own frontend architecture, ship backend systems, set engineering standards, and mentor three engineers.
Proposed Covent MCP and led it from idea to production. The Go service shipped 23 read-only tools with OAuth 2.0 and PKCE, tenant-bound access, credit guardrails, structured logging, PostgreSQL state, analytics, and documentation. I built its EC2 delivery path with Docker image transfer, database readiness checks, backups, migrations, staged health checks, rollback, and Slack reporting.
Conceived and shipped Covent Spotlight, a Mac Spotlight-style search system, then extracted it into the shared @covent/spotlight workspace package adopted by Inbox and Prospecting. It coordinates local and server-backed sources, cancellation, pagination, keyboard navigation, and state preservation; Prospecting uses Fuse.js for fuzzy matching. A client called the experience a game changer.
Cut first-load JavaScript across six routes by deferring heavy providers, SDK-backed UI, inactive tabs, dialogs, and route-only code. Production-build route bundles fell by 26–40%, including onboarding from 482 to 295 kB and listing campaigns from 808 to 487 kB; Covent’s CEO called it a great improvement.
Lead and mentor a team of three while serving as frontend code owner, reviewing product and architecture work, setting engineering standards, and remaining hands-on in the codebase.
Owned Covent’s transition from its legacy CRA frontend to a native Next.js and React platform. Maintained the V1/V2 navigation and authentication bridge during coexistence, then removed the iframe and legacy API layer at cutover.
Replaced precomputed multi-agent message generation with an on-demand flow, cutting model calls by 96% in the documented case and monthly spend from about $9,000 to about $700.
Built the Django and PostgreSQL Prospecting Insights API end to end, including aggregate and window queries, price histograms, top-investor rankings, canonical cache keys, tests, and typed frontend integration.
Re-architected Investor Prospecting around live property APIs, Mapbox WebGL layers, location, pin, and polygon searches, bounded client state, stale-request cancellation, and a 10,000-property FIFO accumulator.
Built a real-time Inbox with virtualized conversations, reconnecting WebSockets, optimistic SMS and email, retry and rollback, attachments, translation, templates, scheduling, URL routing, and scroll preservation.
Designed and shipped Auth 2.0 with XState flows, durable Zustand identity, serialized token refresh, OTP, Google and GHL SSO, location selection, cross-tab synchronization, and redirect recovery.
Independently replaced Vercel Flags with LaunchDarkly across server-rendered and client-rendered surfaces, adding failure-safe evaluation, identity synchronization, reactive subscriptions, fallbacks, and regression tests.
Built guarded Vercel and GitHub Actions delivery, release and rollback reporting, Sentry observability, and E2E, Lighthouse, and Unlighthouse quality gates.
- React
- TypeScript
- Next.js
- Go
- Django
- PostgreSQL
- XState
- Zustand
- LaunchDarkly
- WebSockets
- AWS EC2
- Sentry




