Skip to content
Jakarta, Indonesia, UTC+7 Currently CTO at Sxored
EN ID
ALM ALM Abdul Latif Munjiat
ALM ALM
EN ID
Back to case studies
02 / Invesnow

Investing, from an empty repository to a licensed platform.

My first professional role, and the first product I built from nothing at production scale. Retail investors onboard with eKYC, compare mutual funds across investment managers, subscribe, track a portfolio and redeem. Laravel and Nuxt.js on PostgreSQL, with Redis in front of the fund data.

Role Full stack engineer
Scope Built from scratch
Users Retail investors
Certification ISO 27001, led by me
01 / Problem

Investing was a paperwork problem

Buying a mutual fund in Indonesia used to mean a branch visit, a signature on paper, and waiting for someone to key your identity in by hand. Fund data lived with each investment manager in its own format, so comparing two products meant reading two different documents.

A licensed platform does not get a soft launch. Identity verification, order cut off times, settlement and reporting all have to be correct on the first day a real customer sends real money, and the whole thing had to be built from an empty repository.

02 / What I owned

The whole product, end to end

Onboarding eKYC as a resumable flow: identity capture, liveness, risk profiling and approval, with every step recoverable after a drop off.
Transactions Subscription, switching and redemption against cut off times, with order state reconciled against settlement rather than assumed.
Data NAV history, portfolio valuation and performance charts, normalised across investment managers and cached in Redis.
Growth and trust Server rendered public pages built for search, and the ISO 27001 programme I led the company through.
03 / Decisions and impact

The calls I would defend

First platform, real money, no room to hand wave. Each of these traded something away on purpose.

DecisionBusiness impact
eKYC modelled as a resumable state machine instead of one long form A customer who drops out at liveness comes back to the step they left, and compliance can see exactly where a file stalled. More states to maintain, far fewer abandoned accounts.
Fund and NAV data normalised into one internal shape, cached in Redis Product comparison and portfolio valuation stay fast when an upstream feed is slow, at the cost of owning a mapping layer per investment manager.
Order state reconciled against settlement rather than marked complete on submission No customer ever saw a unit balance the custodian disagreed with. Slower to show a filled order, correct every time.
Server rendered public pages on Nuxt.js instead of a single page app Fund pages became the acquisition channel, and search traffic still lands on them. The trade was a heavier front end build than a client only app.
Client specific numbers stay confidential. The engineering does not.
In regulated products the interesting engineering is not the happy path. It is what the system does when a payment settles late, a document is rejected, or an upstream feed goes quiet.
What it taught me
04 / Where it stands

Still the product the business runs on

The platform launched as Investamart and trades today as Invesnow. The flows I shipped in my first professional role, onboarding through redemption, are still the ones customers use, and the habits I formed here, reconciling rather than trusting and designing for the failure case, are the ones I brought to everything after it.

Talk about this work All case studies