Hello, I'm

Greg McClellan

Senior full-stack engineer with 10+ years building and owning production financial web applications. I design data models, APIs, and the long-lived architecture behind them — and I enjoy the kind of complex problems that only get harder as systems grow.

About

I'm a senior full-stack engineer based in Berkeley, CA, with 10+ years of experience building and owning production financial web applications used by ~100 municipal and county governments. Most of my career has been spent on long-lived systems where the interesting problems aren't in the first commit — they're in keeping a codebase maintainable, performant, and accurate as it grows over years.

I work across the stack: data modeling and NoSQL schema design, serverless APIs on GCP, complex spreadsheet-style UIs with AG Grid and Handsontable, accessibility, and the migrations and refactors that keep technical debt from compounding. I've designed core architecture, led platform migrations, owned production incident response, and mentored engineers through code review and pair programming.

I'm currently open to new opportunities. If you're working on something interesting — especially in fintech, gov-tech, or any domain where correctness and longevity matter — I'd love to hear about it.

Work History

OpenBook

Senior Software Developer · Euna Solutions

2023 – Present Euna Budget ↗

Financial reporting web application serving ~100 municipal and county government customers. Shipped data-visualization enhancements (interactive charts, custom labeling, new reporting features), led the migration from Flexmonster to Kendo UI to reduce long-term technical debt, and improved WCAG accessibility across core reporting views using axe-core. Optimized report data models, cutting payload sizes by ~50% (60MB → ~30MB) and eliminating memory-overflow errors and timeouts.

  • TypeScript
  • .NET
  • Aurelia
  • Entity Framework
  • Kendo UI
  • Data Viz
  • Accessibility
  • Performance

Allocate

Senior Software Developer · Euna Solutions (formerly CostTree → ECivis → GTY Technology)

2018 – 2023 Euna Grants ↗

Long-term owner and contributing architect of Allocate, a financial planning platform used by ~100 municipal and county governments. Designed the core data models, APIs, and business logic across the full application lifecycle. Built a financial allocation engine supporting complex many-to-many cost distributions across dozens of departments and hundreds of cost centers, and shipped spreadsheet-like budget data-entry interfaces using AG Grid and Handsontable. Defined the Firestore schema and indexing strategy, established team coding standards, served as the primary escalation point for production incidents, and mentored junior developers through code review and pair programming.

  • TypeScript
  • Python
  • Node.js
  • Polymer
  • Ag Grid
  • Handsontable
  • Google Cloud Functions
  • Firebase

Moover

Software Developer · Momentum Ideas

2016 – 2018

Backend systems and REST APIs for Moover, an on-demand moving-services platform, including a requirements intake system that calculated truck capacity from client-provided inventory data. Delivered contract software development for enterprise clients across multiple concurrent projects, and laid the groundwork on Allocate (CostTree) that led to a full-time role with the client in 2018.

  • Angular
  • REST APIs

Projects

Goblinos Tactics

A turn-based tactics game with roguelite elements — built in Godot 4 / C#.

  • C#
  • Godot
  • Video Game Development

Skills

Languages

  • JavaScript
  • TypeScript
  • Python
  • C#
  • HTML
  • CSS/SASS

Frontend

  • React
  • Angular
  • Polymer
  • Aurelia
  • Ag Grid
  • Kendo UI
  • Handsontable

Backend & APIs

  • Node.js
  • .NET
  • REST APIs
  • GraphQL
  • Google Cloud Functions
  • Entity Framework

Cloud & Infra

  • GCP (Cloud Functions, Firestore, Pub/Sub, Cloud Run/GKE)
  • Azure
  • Docker
  • CI/CD pipelines

Databases

  • Firestore
  • Firebase Realtime DB
  • SQL

Testing

  • Jest
  • MSTest

Contact

I'm actively looking for my next role. If you'd like to work together or just say hello, reach out via any of the links below.