PT Indopasifik Teknologi Medika Indonesia · Apr 2023 — Jan 2024
Tetama OMS
An internal order management system for a pharmaceutical distributor.

- Role
- Frontend Engineer
- Timeline
- Apr 2023 — Jan 2024
- Links
- live ↗
Overview
Tetama.id is an application from PT Indopasifik Teknologi Medika Indonesia for managing sales orders of the company's products — medicines. It's used internally by the team that runs day-to-day distribution.
The challenge
Order management for pharmaceuticals is full of interlocking rules: catalogue data, order states, and discount logic that all have to stay consistent. The challenge was turning that complexity into interfaces an internal team could operate quickly and confidently — without mistakes leaking into real orders.
My role
- Frontend Engineer (freelance) building and enhancing OMS features.
- Focus on usability and maintainability of complex, data-heavy workflows.
Approach
I broke the system into clear domains — catalogue, orders, discounts — and kept each form typed and validated with Zod + React Hook Form so bad data can't be submitted. Critical flows are covered with React Testing Library for confidence on every change.

What I built
- SKU management for the medicine catalogue.
- Sales Order management — the core workflow of the system.
- Discount management, with its own rules and combinations.
- KUM Talangan — a bridge-financing flow that lets a pharmacy borrow from the bank to fund its orders.
KUM Talangan
Pharmacies often need to place an order before the cash to pay for it has come in. KUM Talangan bridges that gap: it lets an apotek apply for bank financing (Bank Mandiri) straight from Tetama, so the distributor gets paid while the pharmacy is funded by the bank.
I built the applicant-facing registration as a guided, multi-step flow — loan info → personal info → address — with each step typed and validated so the KYC data reaching the bank is clean. KTP and domicile addresses use cascading province → city → district → sub-district selects, with a "same as KTP" shortcut, and a Cek Informasi Pinjaman view lets an applicant check their loan status.

Under the hood
- Next.js 14 + TypeScript with a Chakra UI component layer.
- NextAuth for internal authentication.
- Zod + React Hook Form for typed order forms; React Testing Library for critical flows.
Tools
Figma · VS Code · Postman · Git · JIRA · GitHub Actions · Docker · Jenkins · Pritunl · VPS
Next project
TaniDoc Nufarm→