I build and ship real products end-to-end — Flutter apps, Next.js backends, Postgres, and the infra to run them. Currently building the DRW Skincare ecosystem: a POS app used by ~1,000 beauty consultants and the platform behind it.
I'm a self-driven developer who likes owning a product from idea to production — designing the data model, building the app, wiring the API, and keeping it running on real infrastructure.
Most of my time goes into the DRW Skincare ecosystem: a Flutter point-of-sale app used daily by around a thousand beauty consultants, its Next.js + PostgreSQL backend, and a handful of other web apps for clients and side projects.
Products I've designed, built, and shipped end-to-end.
Quran-reading app that verifies recitation from the user's voice via real-time forced alignment (no tajwid scoring — just live "heard-word" tracking). Speech recognition runs fully on-device (Zipformer2 CTC phoneme model, ONNX INT8 ~73 MB): audio never leaves the phone, works offline, with automatic server fallback. Community layer: public "Jelajah" groups, collaborative split-page reading (up to 3 readers, per-member colour building a whole-Quran "Peta Khatam"), khatam cycles, endless leaderboards, badges, realtime chat/DM, and universal-link sharing. Flutter (Android/iOS/Web) + FastAPI + PostgreSQL + ONNX Runtime, self-hosted on a VPS. On Google Play and the App Store; live at berquran.com.
Network of nine media accounts publishing to Instagram, Facebook, TikTok and YouTube on a fixed slot schedule, with generation and posting fully automated. The publishing rate is decided per slot from queue depth — twenty or more pending links and all ten slots fire, below that only the five core slots run and the half-hour slots are skipped without catch-up. Five applications share one sign-on and one roster, each holding its own internal token scope so a token minted for one brand cannot act as another; an archive polls the platforms after each post and stores views, reach and engagement, which is why the numbers are measured rather than estimated. Between July and September 2026 it published 1,522 posts and drew 99.1 million views — the top 1% of posts accounting for 63% of that total, one post reaching 13.4 million, and the median post 2,322. Next.js + SQLite, self-hosted on a VPS via Coolify. Live at r2media.id.
Flutter point-of-sale app used daily by ~1,000 beauty consultants across Android, iOS & Web. Full-online architecture, Riverpod state management, thermal-printer receipts, per-reseller stock, tiered pricing, and a loyalty/coin wallet — backed by the Next.js + PostgreSQL platform. On Google Play and the App Store; web build live at pos.drwskincare.com.
Facial & skin-treatment salon site for Beauty Center (by DRW Skincare) — affordable clinic-grade facials (under 100K) with treatment listings and a booking flow. Built with Next.js 16 and Clerk auth, with a Ghost-powered blog. Live at beautycenter.id.
Community engagement platform (Next.js + PostgreSQL) with gamified ranking, tasks, badges and a loyalty/coin system bridged to the DRW wallet. Self-hosted on its own VPS via Coolify + Cloudflare, with scheduled jobs driving imports and payouts. Live at berkomunitas.com.
The Next.js 15 + TypeScript + PostgreSQL platform behind DRW Skincare — mobile POS API, web cashier UI, e-commerce storefront, SSO (Google & Apple), a loyalty/coin wallet, and a promo/discount engine. Self-hosted on a VPS with Docker + GitHub Actions CI/CD. Live in production at drwskincare.com.
Aesthetic-clinic website with an integrated affiliate-marketing system — auto-generated referral codes, automatic 10% commission tracking on actual payments, a member dashboard, and an admin panel for managing reservations. Built with Next.js 15, Clerk auth, and Prisma/PostgreSQL. Live at drwprime.com.
Social-media marketing reporting platform — a monorepo with a public SPA, a Next.js API, and a BullMQ + Redis worker for background jobs. Self-hosted on a VPS via Coolify. Live at mizu.mkwiro.online.
In-house rebuild of a hospitality group's HR system, taken over from an outside vendor — employee records, shift-aware attendance, leave and payroll data, migrated out of a legacy Laravel app that exposed no API. Next.js + PostgreSQL, self-hosted via Coolify. Live at humanioo.dzawanikost.com.
Self-hosted AI gateway that buys LLM capacity wholesale through LiteLLM and redistributes it to teams, schools and communities — per-user virtual keys, monthly budgets, rupiah wallet top-ups, and usage/cost/margin reporting, plus a built-in chat with vision, image and video generation. Next.js 15 + Prisma/PostgreSQL + Redis, self-hosted on a VPS. Live at nxslabs.space.
Boarding-house (kost) booking platform — room browsing and availability, online booking with Xendit payments, and WhatsApp OTP sign-in. Next.js 16 + Prisma/PostgreSQL, self-hosted on its own server with GitHub Actions deploys. Live at livioo.id.
Double-entry accounting app for a hospitality group of ~25 branches, rebuilt from a legacy Laravel system — hierarchical chart of accounts, balanced journals, Excel import, period closing, and computed reports (general ledger, worksheet, profit & loss, balance sheet) with separate books per business unit. Next.js + Prisma/PostgreSQL, self-hosted via Coolify. Live at financioo.dzawanikost.com.
Flutter companion app for DRW Skincare patients — guided photo and video capture that documents skin-treatment progress over time, walked through step by step by an Indonesian voice assistant ("Buperi"), backed by a dedicated journey API on the DRW platform. Android & iOS, built alongside the POS app.
Member app and back office for a women-only gym & pilates studio in Yogyakarta — class booking, QR check-in that deducts session credits, membership and expiry tracking, push notifications, and in-app payment with a native QRIS flow via Xendit. Flutter app rewritten from React Native, on a NestJS + PostgreSQL API. Live at wondher.fit.
Have a project in mind — an app, a website, or a system that needs to scale? Drop me a line.