Skip to content

// Case study

Elivate Wallet

A digital wallet across web and mobile, from the API to the screens people tap.

From merge to production

from14 minto95 s

Client
Elivate
Built with
React, Node.js
Role
Full-stack engineer
Kind
Mobile
A developer at a desk lamp-lit workstation, reading code on two monitors

01

The problem

Elivate needed one wallet that worked the same on the web and on a phone. Every release meant a manual build, a manual check and a long wait, so small fixes sat in a queue for days and nobody wanted to ship on a Friday.

02

The approach

  • One TypeScript API in Node.js in front of PostgreSQL, so the web app and the mobile app read the same balances and the same rules.
  • Money stored as whole cents, never as decimals, so a balance adds up the same way on every screen and in every report.
  • A pipeline that tests, builds and deploys every merge on its own, with a one-click rollback if anything looks wrong.

03

The result

A merge now reaches production in 95 s instead of 14 minutes. Fixes go out the same afternoon they are written, and releases stopped being an event.

Shipping became the boring part, which is how it should be.

Built with

  • React
  • Node.js
  • TypeScript
  • PostgreSQL
Next casePlatform · Quality Installs Co.QPASPart of the Quality Installs suite, built on the same data model as QPIMS.

// Start a project

Tell me what you are building.

Three quick picks so the first reply is useful. You finish the message on the contact page.

01What do you need?
02Rough budget

brief.ts

draft, not sent

export const brief = {

kind: null, // not picked yet

budget: null, // not picked yet

name: null, // not typed yet

}

or write to hello@bokoisaac.com

Nothing is sent from this page. Your picks are kept in this browser tab and wait for you on the contact form.