← All work

Zeewise · 2025–present

Zeewise

Lead engineer

Vue 3 · TypeScript · Pinia · AG Grid · IndexedDB · AWS Cognito · GraphQL · Vitest

zee360 is how a franchise brand keeps track of every location it has: the contracts, the fees, the accounting integrations, and how all of that changed over time. One app serves many brands, and each brand gets its own subdomain and its own pool of users.

When I joined, the front end was a prototype built fast with an AI editor. It worked for a demo, and it wasn’t going to survive real data or a second developer. I rebuilt it into something a team could keep building on. Now I take the hard problems myself, hand work to the other front-end developer, and make the calls across the stack with the backend team.

Reviewing a spreadsheet upload in zee360, with invalid cells flagged and a warning about 27 locations missing from the file

Reviewing a bulk upload. Bad cells are flagged before anything saves, and locations missing from the file get called out instead of quietly archived. Demo data.

What I built

The zee360 locations list, with filters, bulk actions and a status column

The locations list. Demo data.

How it’s held together

Every change goes through a written plan, tests and code review, and CI runs lint, tests and a build on every pull request. The suite has grown past 270 tests while the app went from prototype to product.

A location's contract history as a timeline, showing when each field changed

A location’s contract history, showing when each setting changed. Demo data.