Software thatHolds Up

Design through delivery — responsive PWAs to enterprise business systems, built by senior engineers who have run them in production.

  • Product & Platform Design

    UX, prototypes, design systems

  • Custom Application Development

    PWA, mobile, enterprise

  • AI Engineering

    in your product and in your SDLC

  • Cloud & SDLC Advisory

    selection, deployment, cost

  • Energy & Commodities
  • Aviation & Transport
  • Insurance & Payments

Waterloo BMath, 1997 · Waterloo MMath, Symbolic Computation, 1998 · Concordia MEng, Software Engineering, 2016 · ThoughtWorks Architect · CFA Level 2 candidate · SR&ED Approved engineering work

[ 02 / CASE STUDIES ]

Selected case studies.

A Canadian integrated energy producer · 2006–2016

A decade of crude blending, scheduling, and settlement on one platform.

expression evaluations per second
250K/sec
engagement
10 yrs
SR&ED approved
SR&ED

Blending economics, contractual and physical balancing, tariff and equalization settlement, and flow scheduling all had to run from one model, integrated with SAP across the enterprise, and fast enough to iterate to convergence inside an interactive planning session.

  • c#
  • .net
  • wcf
  • asp.net mvc
  • winforms
  • oracle
  • ibatis.net
  • msil
  • microsoft solver foundation
  • quickgraph
  • sap xi
  • teamcity
  • nunit

An on-demand insurance provider · 2016–2021

Usage-based insurance built on real-time vehicle telemetry.

engagement
5 yrs
countries
3
billing model
Event-driven

On-demand insurance — purchase, claims, billing, and incident management — priced off live vehicle activity, delivered by a team spread across three countries.

  • .net
  • react
  • typescript
  • aws lambda
  • dynamodb
  • sqs
  • sns

Codebasis · 2024–present

A real-time multiplayer PWA in production, with the cost model published.

frames measured
172,681
concurrent games modelled
10→1,000
modelled monthly cost
$85→$1,150

A four-player real-time game with a 3D board had to work on a phone and a desktop, hold state under concurrency, support bots, and stay cheap enough to run.

  • asp.net core
  • signalr
  • postgresql
  • react
  • three.js
  • rtk query
  • onnx
  • stripe
  • ecs fargate
  • github actions
See all case studies

[ 03 / SCALE ]

From a weekend PWA to a decade-long enterprise platform.

The same practice, the same rigor, plotted across five real engagements — from a four-player web app to a national settlement system integrated with SAP.

  1. MahjongSpot

    4 players · 1 service

  2. RIPER

    3 surfaces · 2 tokens

  3. Telematics Insurance

    3 countries · 5 yrs

  4. Airline Booking

    2 channels · mainframe

  5. Crude Blending

    10 yrs · SAP-integrated

[ 04 / ARCHITECTURE ]

Two ways to build the same app

Every system accretes complexity as it grows. What differs is whether that complexity has anywhere to go.

Ball of mud

Controllers reach straight into persistence. Business rules live wherever they were convenient to write, spread across three layers at once.

Ports & adapters

domainHTTPPersistenceMessage busThird-party feed

A domain core in brass, with ports on its edges and adapters outside: HTTP, persistence, message bus, third-party feed.

The regulator changes the tariff formula.

DimensionBall of mudPorts & adapters
Files touchedWherever the formula was copied — nobody can say how many until they grepOne adapter. The domain core doesn't move.
How you test itEnd to end, by hand, because no seam exists to isolate the changeA unit test against the port, isolated from every adapter around it
Blast radiusUnknown until something breaks — the formula, the persistence, and the response share codeContained to the one adapter behind the changed port
Can it scale outOnly by accident — state and logic sit wherever someone last needed themBy design — the core carries no adapter-specific state

[ 05 / AI ]

AI with guardrails

An LLM will happily generate a ball of mud ten times faster. The bottleneck was never typing.

AI writes whatever your repo teaches it to write.

  1. 01

    Architecture stated in-repo, at every boundary

    Every boundary the system crosses is documented where a model actually reads it — in the codebase, not a wiki it was never trained on.

  2. 02

    Domain model first

    A ubiquitous language, settled before code, so generated names for the same concept don't drift between the endpoint, the service, and the table.

  3. 03

    Ports as contracts

    Interfaces and generated clients turn a seam into something a build can fail on, not just something a reviewer might notice.

  4. 04

    Tests as the gate

    Unit, integration, and e2e tests gate the merge. On our own mahjong-api, a recent feature shipped two new test fixtures in the same commit as the endpoint (034dd81cd) — and across the whole repository, close to a quarter of all files are tests.

  5. 05

    Dependency rules enforced by tooling

    Architecture tests and lint rules fail the build before a boundary violation reaches a human reviewer.

  6. 06

    Small, reviewable units

    Files sized to fit in a reviewer's head — and in a model's context window — so a generated change can be read before it merges.

  7. 07

    Spec → plan → implement

    Each stage ends at a review checkpoint, so a generated plan is approved before it becomes generated code.

[ 06 / SCALING ]

Holds up means scales out

Compute is never the bottleneck.

Every limit measured here was a boundary problem, not a hardware one: single-process state design, a write pattern that didn't fan out, and unbounded storage for old frames. More CPU would not have moved any of them.

Concurrent gamesConnectionsMonthly cost
1040~$85
100400$150–200
1,0004,000~$1,000–1,150

[ 07 / CAPABILITIES ]

Every discipline a system needs

  • Product & Platform Design

    Design systems, prototypes, and the research behind them, carried through to production-ready components.

  • Web & PWA Development

    Responsive, installable web applications built for offline resilience and sub-second interactions.

  • Mobile Applications

    Native and cross-platform apps engineered for App Store review, device fragmentation, and field conditions.

  • Enterprise Business Applications

    Line-of-business systems that replace spreadsheets and legacy tools without disrupting daily operations.

  • Data Integration & EAI

    Pipelines and APIs that reconcile data across ERPs, SCADA, and third-party systems in near real time.

  • AI Engineering

    Production machine learning and LLM systems designed for accuracy, latency, and cost under real load.

  • Cloud Architecture & Deployment

    Infrastructure, deployment pipelines, and cost engineering across AWS, Azure, and GCP.

  • SDLC & Delivery Advisory

    Delivery audits, team structure, and process design for organizations scaling past their first few engineers.

[ 08 / ENGAGEMENTS ]

Four ways to work together

Advisory & Architecture

Best when
When you need an outside opinion before committing budget or headcount.
You bring
An existing team, a decision to make, and a deadline.
We bring
Architecture review, technology selection, and a written recommendation you can act on.
Typical shape
1–3 weeks

Architecture & SDLC Assessment — fixed scope, two weeks, fixed price.

See the proof

Embedded Consultant

Best when
When your team has the roadmap but needs a senior hand to unblock delivery.
You bring
A team, a backlog, and a gap in seniority or specialist skill.
We bring
One senior engineer embedded in your team, on your tools, reporting to your lead.
Typical shape
3+ months
See the proof

Senior Squad

Best when
When a project needs to move faster than your current team can staff.
You bring
A defined scope and a product owner.
We bring
A small senior team, design through delivery, that ships as a unit.
Typical shape
2–6 months
See the proof

End-to-End Delivery

Best when
When you have an idea, not yet a team, and need it built and shipped.
You bring
The vision, the budget, and the market.
We bring
Full delivery: design, build, deploy, and the first release to production.
Typical shape
3–12 months
See the proof

[ 09 / THE PRACTICE ]

Founder-led, network-backed

Codebasis is founder-led. Twenty-seven years of software engineering sit behind every engagement, starting with a BMath and MMath from the University of Waterloo and an MEng from Concordia, a stint as a ThoughtWorks architect, and a decade embedded in energy-sector systems — crude blending, pipeline allocation, tariff settlement — work that stays live for years and has to be right the first time.

That rigor continues past the codebase: a CFA Level 2 candidacy and a body of SR&ED-approved engineering work mean the numbers a client cares about — cost, risk, return — get the same scrutiny as the architecture.

There is no bench. Engagements are staffed from a curated network of senior engineers, assembled to the shape of the work in front of us — never padded with juniors learning on a client's clock, and never drawn from a standing team sitting idle between projects. You are hired by, and answer to, the person who founded the practice, on every engagement, regardless of its size.

  • Waterloo

    BMath, 1997

  • Waterloo

    MMath, Symbolic Computation, 1998

  • Concordia

    MEng, Software Engineering, 2016

  • ThoughtWorks

    Architect

  • CFA

    Level 2 candidate

  • SR&ED

    Approved engineering work

[ 10 / CONTACT ]

Let's talk about what you're building

Every engagement starts as a conversation about the system in front of you — its constraints, its history, and what has to be true a year from now. Book a consultation, or write in directly.