All projects
36 projects
Showcase
Featured work & projects I'm proud of · 18 projects

POS CRM
Enterprise POS system unifying Kalbe's pharmacy retail (Kalcare) and home delivery (KHD) — initialized the project, built the design system, and owned most feature modules. Unified POS for Kalbe Pharma merging Kalcare (retail pharmacy counters) and KHD (Kalbe Home Delivery). I initialized the project, set up the tech stack and GraphQL, built all base components with Storybook. Key modules I built: • Library: product CRUD (multi-variant, multi-unit, expiry), categories, vendors, units, barcodes with in-app barcode printing • Reports: sales, item, user, payment, discount, account mutation, stock, dashboard (tables & charts) • Auth, transaction list, order detail, settlement • Task module: Kanban board (drag-drop, Jira-style) for KHD packing → shipping → received → completed status tracking • Order flow (most complex): cashier open/close, multi-store, retail & FnB card views, barcode scan-to-cart, QRIS via Midtrans Snap, customer KPoint redemption, delivery address, discount engine, split payment • Multilingual (i18next: ID + EN for Philippines operations) and multi-currency

Geoshub
Offline-first field data platform for enterprise mining operations (Vale, Freeport) — featuring multi-database sync architecture and real-time updates. A field data management system for mining site operators. The core challenge: devices collect drilling/survey data with no connectivity in the field, store it locally, and sync to the server once back at the office. Architecture: three databases — Hub DB (Geoshub's own data), Centre DB, and Client DB (e.g., Vale or Freeport). Login resolves against Hub DB, then routes to the correct Client DB based on the user. I built: • Backend (Express.js, Prisma, PostgreSQL, Socket.IO) — sync engine, multi-DB routing, real-time updates. • Frontend (React.js, TypeScript, Material UI) — client & template management, data input/validation forms, synced record viewing.

Ponpes Al-Jairy
Multi-app system for an Islamic boarding school — company profile, digital PPDB enrollment, and a full REST API backend. A three-part system for Pondok Pesantren Al-Jairy: 1. Company Profile (WordPress + Elementor) — 10+ pages covering school levels, facilities, achievements, news, and admission info. 2. PPDB System (Next.js) — three enrollment modules: (a) SPMB new-student registration with multi-step forms (personal data, address, guardian, documents), (b) Lapor Diri — check-in after acceptance with payment scheme selection, and (c) Daftar Ulang — re-enrollment for current students with similar forms. 3. Backend REST API (Express.js, MySQL, AWS S3) — admin panel for SPMB verification, enrollment management, referral management, and active student records.

TapMenu
SaaS digital product catalog — one shareable link lets any business showcase products and receive orders via WhatsApp. TapMenu is a SaaS side-project I built solo. Businesses create a digital product catalog accessible via a single link — like Linktree, but with a real product list, categories, cart, and WhatsApp checkout. Seller dashboard: product & category CRUD, store settings (theme, QR code), subscription management via QRIS (iPaymu), WhatsApp OTP via Fonnte, and automated cron jobs for trial expiry & subscription lapses. Customer storefront: browse categories, add to cart, checkout → redirects to seller's WhatsApp with a pre-filled order message.

Web Order - Majoo
Multi-tenant web ordering system built at Majoo, where each merchant has their own branded storefront through a dedicated domain or subdomain. I worked on this customer-facing ordering platform during my time at Majoo, contributing to the migration from the legacy CodeIgniter codebase to Next.js. Accessing barakopi.id loads Bara Kopi's storefront and user scope, while other merchant domains load their own catalog, branding, and customer data. My contribution covered most of the customer journey: • Product listing, promo, cart, and checkout • Register, login, order history, and account pages • Dine-in ordering flow, where customers scan a table QR code and place orders directly from their phone with table context attached to the session.

Isiin - PPOB
Full-stack PPOB platform for agents and regular users — covering mobile credits, data packages, electricity tokens, PDAM, BPJS Kesehatan, and e-wallet top-ups. Isiin is a PPOB (Payment Point Online Bank) platform I built with teammates as a volunteer project. I contributed across the backend, web admin, and landing page. - Backend API (Express.js, PostgreSQL) — integrated with Digiflazz for digital product fulfillment and Xendit for QRIS payments and balance top-ups. Powered separate pricing tiers for agents and regular users, along with business flows for agent KYC verification, notifications, promotions, points, and agent receivables. - Web Admin (Next.js, Mantine) — built operational interfaces for pricing management, product configuration, order monitoring, and user management. - Landing Page (Next.js, Tailwind) — built the public-facing marketing website for the product. Supported products: mobile credits, data packages, electricity tokens, PDAM, BPJS Kesehatan, and e-wallet top-ups. The project was eventually discontinued due to a change in direction from the project owner. Despite this, it remains one of my most complete end-to-end builds — combining third-party PPOB integration, payment flows, role-based pricing logic, and multi-surface product development in a single system.

Salariku - HRIS
Adaptive HRIS with ML-based salary prediction and performance recommendation for hybrid remote teams — built as an undergraduate thesis project. Thesis title: "Development of an Adaptive HRIS for Hybrid Remote Teams with Performance Prediction and Salary Recommendation Using Machine Learning". I built three of the four components: • REST API (Express.js, MySQL, AWS S3) — HR data, attendance, salary records. • Web Admin (Next.js, TypeScript, Tailwind, Shadcn, React Query) — manage employees, attendance, WFH/WFO records, and view ML-generated salary recommendations. • ML API (Flask) — model trained on public HR datasets using scikit-learn. Inputs: attendance patterns, WFH/WFO ratio, position, etc. Outputs: performance prediction and salary recommendation with SHAP explainability. Teammate built the Android mobile app.

Knowledge Management System
Internal KMS for Kalbe's sales & CS teams — AI-assisted article search over a deeply nested folder hierarchy. Built from scratch as the sole frontend engineer. The system helps Kalbe's sales and customer service teams find product and internal information quickly. Two roles: • Admin: creates folders and articles in a Google Drive-like structure — folders within folders, articles within folders. Rich WYSIWYG editor built with Lexical. • User: sidebar dynamically mirrors the admin's folder hierarchy with infinite nesting. Infinite scroll handles thousands of folders and articles. Clicking an article renders it on the main page. • AI Chat: users type natural-language queries (e.g., "cara konsumsi morinaga") and receive a ranked list of relevant articles.

Catatin
SaaS bookkeeping & accounting app with 20+ features — transactions, reports, CRM, referral, and subscription billing. Catatin is a SaaS financial recording application consisting of three separate web apps: 1. Web Admin — dashboard, sales records, product plans (1-month / 1-year), referral commissions, user list, settings. 2. Main Web App — full accounting suite: cash balance, transactions, money transfers, sales, receivables, payables, expenses, returns, assets, stock & product management, reports (cash flow, P&L, balance sheet), CRM for customer management, and a referral system. 3. Checkout Web — subscription purchase flow for end-users. No third-party payment gateway integration — uses internal balance top-up.

Orbit Shop (Buntomart)
Commercial e-commerce script sold to multiple clients — a full-stack platform built from scratch with flash sales, shipping integration, and payment gateway. Originally released as Buntomart, it includes flash sales, featured products, product filtering and sorting, multi-image products, blog support, web push and email notifications, order tracking, complaints handling, Raja Ongkir shipping integration, flexible checkout and payment options, and theme customization through the admin panel.

KShop (Seller Center & CMS)
Seller Center and internal CMS for KShop, Kalbe's in-house product ordering and loyalty platform. I worked on two CRM-side internal applications. The first was KShop Seller Center, adapted from the POS CRM codebase and tailored for e-commerce operations by removing the POS order flow and reworking the task kanban and product management modules. The second was CMS KShop, an internal management system I built independently to handle clients and sellers, reports, payment gateway configuration, info codes, shipping, users, promotions, complaints, and banners.

Dashboard Majoo
Merchant dashboard for Majoo, an Indonesian POS and e-commerce SaaS platform. I was responsible for the Online Store and Web Order configuration modules, covering multi-store sales settings, QR code management, dine-in setup with printable table QR codes, shipping and internal courier configuration, payment methods, and balance withdrawal. I also worked on storefront customization features, including product display modes, banners, featured products, store profile details, operating hours, FAQ, contact information, and a weblink feature for listing merchants' social and external links.

Klikizin
Legal services web app for company setup and business permits, covering 15+ service flows such as PT establishment, NIB issuance, PKKPR, and other administrative processes. The platform combined service discovery, educational content, and transaction flows in a single product. Users could explore services from the home page, browse articles and reels-style service guides, authenticate, go through multi-step service forms, review KBLI lists, add services to cart, complete checkout, and track order history. Highlights: • 15+ distinct service flows, each with its own multi-step form and validation logic. • Content-driven UX with home, articles, and Instagram Stories-style reels for service education. • Core commerce flow including cart, payment detail, checkout, and order history. • Integrated live chat to support users during complex legal and permit submission flows. The project is still running, though I am no longer actively involved in its development.

Cakra Radha Mustika
Full company profile for my current employer — all pages built and owned by me, with multilingual support and a career CMS. Official company profile for Cakra Radha Mustika, the company I currently work for. Originally started as partial work (homepage, Solution & Service, Articles), but after a design revamp I took full ownership of all pages. Pages built: Home, Solution & Service, About, Articles & Detail, Career, Job Listings, Job Application Form, Contact Us. CMS module for career management: create job vacancies, view applicants, approve/reject applications. Multilingual support (Indonesian / English) via Next.js built-in i18n path routing (e.g. /en/about).

AY Rental Motor
A motorcycle rental booking system for AY Rental Motor Yogyakarta, covering date and time selection, available unit browsing, personal data input, payment flow, and booking history. Includes an admin panel for managing orders, users, garages, units, and auto-approval validation rules.

Peribumi
Client company profile website for Peribumi with 13 static pages, built to present the brand, programs, work, and contact information in a clean responsive experience. Developed with Next.js, Tailwind CSS, JavaScript, and Leaflet.js for the interactive map integration. The site covers Home, Who We Are, What We Do, Our Roots, Our Documents, Main Program, Our Work, News, Events, Marketplace, Partnership, and Contact. Fully responsive across all breakpoints.

Fordiskus
A web-based discussion forum built as a submission for the Dicoding React Expert class. Users can browse and search threads, filter discussions by category, create new threads, and interact through comments, likes, and dislikes. The app also includes authentication flows and a leaderboard to highlight top contributors. From an engineering perspective, this project focuses on scalable state management with Redux Toolkit, reusable UI documentation with Storybook, unit testing with Jest, and end-to-end testing with Cypress.

My Portfolio
The portfolio website you are currently viewing, built from scratch to showcase my projects, experience, and skills in a clean and modern design. Built with React.js, Next.js, TypeScript, Tailwind CSS, shadcn/ui, and Framer Motion for animations. The site features a homepage with project highlights, a detailed projects section with filtering by category and type, an about page with my background and skills, and a contact form.
Supporting Projects
Freelance, client, learning & practice work · 18 projects

Digital Wedding Invitation
Digital wedding invitation platform built for a client, combining a public storefront, a private user dashboard, and an admin panel in one system. Visitors can browse available invitation designs, while couples can manage their own invitation through a dashboard that supports content editing, RSVP and guestbook tracking, theme switching, contact import, and invitation sharing via WhatsApp. Each purchase is published as a personalized invitation page, and the admin panel is used to manage designs and orders.

TokoOrder
PHP-based online store solution designed for simple WhatsApp-first selling, with a ready-to-use storefront and private admin dashboard. Built for a client, the project includes product banners, categories, discounts, variants, automatic shipping cost calculation, order tracking, and a management dashboard for handling products and orders. The shopping flow is designed to stay simple for customers while keeping store operations practical for sellers.

Butik Store
A personal full-stack fashion e-commerce practice project inspired by lookboutiquestore.com. The original app included catalog, product detail, cart, checkout, and order history flows; the current portfolio demo uses static data because the original backend is no longer active.
Poplus
React Native mobile app for exploring population data across all 50 U.S. states. Built as an academic assignment for a Mobile Programming course at Binus, Poplus allows users to browse state population data, search and filter by year, mark states as favorites, and view state details with map support. The app also includes Google OAuth authentication and Supabase-based favorite persistence.

Arctect
Responsive architecture and interior consultancy catalog for Arctect, built with clickable service categories and direct WhatsApp inquiry. The site showcases architecture design, PBG/SLF permits, interior design, and as-built drawing services through a clean catalog-style homepage. Built to present residential and non-residential services in a structured and easy-to-scan layout.

Ratio Calculator
A promotional landing page for the $RATIO platform featuring interactive point calculators, animated Lottie-based sections, and tokenomics highlights.

AI Voice Generator
A one-page promotional landing for an AI voice generation concept, featuring audio upload, artist selection, animated flow lines, and a stylized remix result interface.

DentalNow
A dental clinic website designed to showcase treatments, highlight the gallery, provide location information, and support online appointment booking.

Manjur Sehat
A pharmacy website designed to present products, FAQs, locations, testimonials, career information, and a Google Form-based contact flow.

OC Security
A cybersecurity company profile website covering services like VAPT, security training, and consulting — complete with client portfolio and detailed service pages.

Rumah Pintar Bersama
A foundation website for a foster parent program, featuring program information, transparency reports, organization details, and a donation popup flow.

Konjac International
A bilingual company profile website for an Indonesian konjac supplier, featuring product, service, about, and contact pages in English and Chinese.

Restofud
A restaurant discovery web app built for a Dicoding Front-End Expert submission, featuring restaurant listings, detail pages, customer reviews, favorite saving with IndexedDB, and end-to-end testing.

Walletmu
A digital wallet landing page built for a Dicoding web fundamentals submission, featuring merchant highlights, product sections, testimonials, and a local-storage-based review form.

Affani University
A single-page university landing page built for a college assignment, featuring campus profile sections, study program listings, statistics, and news content.

Bookshelf
A bookshelf management app built for a Dicoding React submission, featuring add, edit, delete, search, and localStorage-based persistence.

Grocery Shopping App
A grocery shopping app project covering backend API development and supporting mobile UI design, with buyer and admin roles, product browsing, cart management, order creation, and invoice-based checkout flows.

Quecen
A QR-based quiz platform where teachers create POS stations with multiple questions and students scan each station's QR code to access and complete the quiz. I worked on both the backend API and the UI/UX design.