Full-stack software engineer / Toronto

I build products end to end, from the database to the screen.

I was promoted from co-op to senior at ZEVA. I’m the sole frontend owner of a live operations console, and I’ve taught 1,000+ students at U of T.

See what I shipped ↓
  • Available for full-stack roles and freelance
  • Toronto, Canada
  • Promoted co-op to senior

Selected production work

Four systems with four kinds of ownership. Cross-platform architecture, a frontend built from zero, a live solo commerce build, and a legacy system hardened in place.

01 / Cross-platform rewards

Referral + promotions engine

I designed the reward lifecycle in Django, then carried the same state through Angular and Flutter. One feature that had to agree with itself across three tiers, on a live product.

  • Django
  • Angular
  • Flutter
  • PostgreSQL

Read the case study →

Redemption authority / ZEVA

Two clients can ask. One service decides.

Django issues rewards on a cycle and signs each one. The Angular console manages referrals and promotions; the Flutter app takes a deep-linked referral and presents the signed token at redemption.

Neither client settles anything. Django verifies the signature and the single-use state, then writes to the one PostgreSQL record both surfaces read.

A forged or replayed token fails at the signature

02 / Live commerce

Banu Beauty

I had no one else to hand a layer to. The data model, the payment path, and the deploy were all my decisions, and all of them had to work the first time a customer paid.

  • Next.js
  • TypeScript
  • Stripe
  • PostgreSQL
  • Vercel

Read the case study →Visit the live site ↗

Live commerce / Banu Beauty

The cart on banubeauty.ca with three line items: an Island Girl Sweater and a Lankan Sweater, both Women's XS at $60 CAD against a struck-through $75, and Island Haven 50mL at $65 CAD against $80. The order summary beside them has a ship-to control set to CA, a subtotal of $185 CAD, a launch discount of minus $45, shipping of $18, and a total of $203 CAD above a Checkout button.
  1. A clothing variant and a fragrance size in one order.
  2. Shipping is charged once per order, not per item.
banubeauty.ca ↗

03 / Operations platform

Production operations console

I owned the frontend from its first commit to production. The console now runs vehicles, reservations, pricing, users, locations, live maps, and telemetry.

  • Angular 17
  • TypeScript
  • Maps
  • Telemetry
  • Theming

Read the case study →

Ownership / HAIL Admin

Sole frontend owner, empty repo to live operations.

  • Vehicles
  • Reservations
  • Pricing, users, and locations
  • Live maps and telemetry
  • Shared components and theming
  • Release to production

The rule is where my ownership stopped. Everything server-side sat on the other side of it. I consumed those APIs, I did not own them.

  • Backend services and APIs

Sole frontend engineer · ~2.5 months · empty repo to live

04 / Security + testing

Prime Accounts Inc

A live PHP site with no build step and a login that did not work. I replaced the authentication system, centralised the submission guard, and wrote the suite that proves both still work.

  • PHP
  • PDO
  • Split-token auth
  • Session epochs
  • Regression tests

Read the case study →Visit the live site ↗

Submission guard / five gates

Twenty-four handlers. One gate library.

The honeypot, JS flag, timing, CSRF, and one-time token checks lived as twenty-four drifting copies, so no two behaved the same and none was tested. I pulled them into one shared library, and each gate now logs which one refused.

The suite drives the real pages over HTTP against a throwaway database, with outbound mail stubbed so nothing can send.

An unauthenticated POST is refused and sends nothing

Capability map / skills with evidence

What I have shipped with each part of the stack.

Each tool below points to a real system and the part I owned.

01 / Product frontendAngular 17 · TypeScript · RxJS / NgRx
I took HAIL Admin from an empty repository to the console used for vehicles, reservations, pricing, users, and locations.
02 / React + commerceNext.js · React · Stripe · Vercel
For Banu Beauty I built the storefront, the Stripe checkout, and the admin area that runs catalog and orders, and deployed it solo.
03 / Mobile + on-device MLFlutter · Google ML Kit
I shipped real-time face detection for identity checks, plus object detection and labeling before vehicle-photo upload.
04 / Backend + dataDjango · REST · PostgreSQL
I built fleet onboarding and organization management: invite-based signup, company provisioning, and per-user access controls, all over one shared model.
05 / Security, testing + deliveryPHP · OAuth/SSO · CI/CD · Maps
I built split-token auth and an eight-suite regression harness on a live PHP site. I also led a SonarQube rollout through Jenkins and TeamCity, and shipped Tesla account linking and Maps geofencing.

Trust boundary / how I build

Clients render and request. The server decides.

The same rule holds across every system here. Angular, Flutter, and Next.js surfaces render state and ask for changes; Django, PHP, and PostgreSQL authorise, own every write, and hold the only copy of the truth.

Cycle-based issuance, signature verification, five-gate submission checks, and OAuth/SSO all sit on the server side of that line.

A client can be stale, offline, or tampered with. So it never gets to be the place a decision is made.

Professional background

  1. Senior Full-Stack Developer / ZEVA

    2024 – present · promoted twice

    I’m the sole frontend owner of HAIL Admin. I built fleet onboarding and organization management with invite-based signup, company provisioning, and per-user access controls, and shipped a cross-platform referral engine, Flutter ML Kit verification, geofencing and live maps, Tesla OAuth/SSO, product analytics, and white-label theming.

  2. Software Engineer, Co-op / DBRS Morningstar

    Feb – May 2023

    I built across Angular, Node.js, .NET, and MySQL in an agile team, and led the SonarQube rollout through Jenkins and TeamCity so analysis ran on every commit and pull request.

University of Toronto / 2022 – Apr 2026

1,000+

students supported across four computer science courses

I reviewed Python, Java, Angular, and Android projects, debugged alongside students, and helped teams get their builds tested and deployed.

Education / University of Toronto

Honours BSc, Computer Science Specialist

Contact / product engineering

Open to the right full-stack team.

I’m based in Toronto, and I’m looking for product teams where I can own features across frontend, backend, and mobile, then carry them through release. I also take on freelance builds: Banu Beauty and Prime Accounts Inc are both client work.

annachester02@gmail.com ↗

© 2026 Anna Chester

Toronto, Canada · Open to full-stack roles and freelance builds