Skip to content

What I Do / Web & Apps

Web and app development that feels fast and stays boring.

TypeScript on the front, Laravel or Node behind. Almost everything I have written in the last few years is typed, because the alternative is finding out about your mistakes from a customer. A JavaScript developer by habit and a Laravel developer by trade, I build the dashboards, portals and internal tools that Toronto businesses run on, written so the next developer thanks you.

Front end

  • TypeScript
  • React
  • Next.js
  • Vue 3
  • Tailwind CSS

Back end

  • Laravel
  • Node / Express
  • MySQL / Postgres
  • Redis, queues

Integrations

  • Stripe
  • Salesforce
  • REST & GraphQL
  • Webhooks

Delivery

  • Git & CI
  • Docker
  • Vercel / VPS
  • Tests where they pay

What I usually get asked to build

Client dashboards

Auth, roles, charts, exports. Real data tables that don’t fall over at 50k rows.

Booking & checkout flows

Multi-step forms, availability logic, Stripe payments, transactional email.

Internal tools & APIs

Replacing the spreadsheet: CRUD, permissions, audit logs, CRM sync.

Engineering standards

The unglamorous things that decide whether a project survives its second year.

Typed boundaries

Validated inputs, predictable API contracts.

Small commits

Reviewable history, easy rollbacks.

Accessible by default

Keyboard paths, labels, contrast checked.

Documented setup

Clone, install and run in under ten minutes.

Got a project that needs doing properly?

Free 30-minute call, honest assessment, fixed price before anything starts.

Start a conversation