Portfolio

Nine-plus years of production web work, with frontend architecture as the specialization: React, Next.js, TypeScript, shared component systems, accessibility, and rendering performance in interfaces dense enough that those things decide whether the product is usable.

The staff-level part is leverage, not a title: my roles were Senior, and the evidence is specific. At AlwaysGeeky I owned the shared design system four product surfaces were built on, wrote the design docs for its library and convention changes, drove adoption with the engineers building those surfaces, and mentored through pairing and code review. The standards were enforced in CI rather than by memory.

The case studies below are ordered by how much they show. LedgerGuard is a product I own end to end, from the Next.js App Router frontend through the Fastify API, PostgreSQL schema, and queue-backed document pipeline. AlwaysGeeky is the shared React and TypeScript library four product surfaces were built on, along with the conventions and CI gates that kept them consistent. Emplifi is dense D3 analytics and the rendering work that made it survive mobile webviews.

Each write-up covers the problem, what I owned, the decisions that mattered, and what I traded away to get there. I use AI coding agents for implementation, testing, and investigation, and keep architecture, security, and final review on my side of the line.

Based in Montreal, Canada. English: professional. French: intermediate.

  • Frontend architecture
  • Technical direction
  • React / Next.js / TypeScript
  • Design systems
  • Cross-team standards
  • Mentoring
  • Accessibility
  • Rendering performance
  • Node.js APIs & PostgreSQL
  • Async & background workflows
  • Developer experience

What to look for

Four things run through every case study below. If you're hiring for frontend architecture, technical direction, or end-to-end ownership, these are the parts worth reading closely.

Architecture decisions, with their costs

Each case study names the decision, why it was made, and what it cost. Component boundaries, client/server splits, deterministic versus probabilistic separation. The trade-offs are stated because that's the part worth interviewing me about.

Systems other engineers build on

Shared component libraries, typed API contracts, Storybook documentation, and CI gates, plus the part that makes them stick: design docs, migration paths with deprecation instead of abrupt removal, and working directly with the engineers adopting them. The influence came from making change safe, not from authority.

Complex product states

Loading, empty, error, validation, partial data, low confidence, and review-required, designed as real states rather than afterthoughts. This is most of the work in data-heavy and AI-assisted interfaces.

Ownership past the browser

Where the product needed it, I built the API, the schema, the auth, and the queue behind the interface. LedgerGuard is the clearest case; ControlTech is where the habit started.

Case studies

AI contract intelligence SaaS for renewals, commitments, notice windows, and financial exposure.

LedgerGuard

Full-Stack AI Contract Intelligence

Senior Product Engineer

A multi-tenant contract-intelligence SaaS built alone across the Next.js App Router product, Fastify API, PostgreSQL schema, authentication, billing, and a queue-backed document pipeline. The design problem was keeping probabilistic extraction from becoming confirmed contract data without a human reviewing the evidence.

  • Next.js
  • TypeScript
  • Node.js

Read the LedgerGuard case study

Shared component library, frontend conventions, and product workflows across four product surfaces.

AlwaysGeeky Games

Shared Design System & Frontend Standards

Senior Frontend Engineer

Four product surfaces, one React and TypeScript component library. I built and owned it, documented it in Storybook, and shipped marketplace, authentication, and account workflows on top of it. The lasting part was the conventions: component APIs, accessibility defaults, TypeScript and code-review rules, and CI gates that caught drift before it shipped.

  • React
  • Next.js
  • TypeScript

Read the AlwaysGeeky Games case study

Enterprise analytics dashboards with dense data views and embedded contexts.

Emplifi

Enterprise Analytics

Senior Frontend Engineer

Data-heavy React and TypeScript analytics modules built on D3.js, assembled from shared accessible components and their documentation, running in both desktop browsers and embedded mobile webviews. Profiling the webview path led to an 80% reduction in unnecessary re-renders and chart-update paint cost on lower-powered devices.

  • React
  • TypeScript
  • D3.js

Read the Emplifi case study

Independent tooling experiments for AI-assisted development and developer experience.

Agent Engineering Tools

Deterministic AI-Agent Developer Tools

Independent / Ongoing

Three TypeScript CLIs and a GitHub Action built out of the same frustration: teams adopt AI-assisted development before their conventions, agent settings, and review process can carry it. The tools make repository readiness, instruction and settings quality, and pull-request risk into things you can check in CI rather than assume. The work now includes Action v1.2.0 and integrations v0.1.2: an MCP server, a portable skill, and editor plugins.

  • TypeScript
  • CLI
  • GitHub Actions

Read the Agent Engineering Tools case study

Full-stack PWA for manual-first personal finance tracking, reporting, forecasting, and asset management.

TallyFolio

Privacy-first personal finance tracker

Founder · Product Engineer · Designer

Most personal finance apps make you choose between bank aggregation and a spreadsheet. TallyFolio is the third option: a full-stack PWA with deterministic money math, CSV import review, forecasting, and production auth, built without handing over bank credentials.

  • Full-stack product
  • Financial correctness
  • Privacy boundaries

Read the TallyFolio case study

Frontend delivery across early-stage SaaS products, dashboards, and workflow-heavy tools.

ControlTech

Startup Studio Frontend Delivery

Frontend Engineer

Four years across multiple early-stage SaaS products, dashboards, and PWAs, taken from MVP to production. Workflow-heavy interfaces built around multi-step processes, validation, async state, API integration, and the Playwright, Cypress, and Jest coverage that made repeated releases survivable.

  • React
  • TypeScript
  • PWA

Read the ControlTech case study

Independent, experimental zoning and property-feasibility product for Montreal.

MapBylaw

AI-Assisted Zoning Exploration

Independent / Product experiment

An independent zoning and property-feasibility experiment for Montreal. Beyond the map-led exploration UI, the hard part was AI recommendations: one typed contract shared by the Fastify API, the React dashboard, and the React-PDF report, fed only inputs the product had already verified, with out-of-schema output rejected instead of cleaned up.

  • AI product UI
  • Typed API contracts
  • Information architecture

Read the MapBylaw case study