M Fauzan Haikal Mugni

M Fauzan Haikal Mugni

Full-Stack Developer · Bekasi, Indonesia

I build WhatsApp bots, SaaS and web systems that real businesses run on.

From the database and the AI bot to the VPS it runs on, I design, build and host the whole stack. Through my studio Hal-Creative I work with businesses like Karya Mandiri Dental and Yoyo Bolen.

View my workView CVAvailable for work

Selected work

Systems in production, open-source tools and client concepts.

Karya Mandiri Dental
  • Live
  • Private repo

Karya Mandiri Dental

Catalog site, admin dashboard and AI WhatsApp bot for a dental equipment supplier.

One monorepo, 9 containers, CI-gated deploys to a single VPS

  • Next.js 16
  • TypeScript
  • Prisma
  • PostgreSQL
  • Redis
Yoyo Bolen
  • Live
  • Private repo

Yoyo Bolen

WhatsApp ordering for a home bakery: an AI bot takes orders, quotes delivery and checks payments.

Handles 100+ customer chats a day

  • Node.js
  • TypeScript
  • Express
  • Evolution API
  • Gemini
Viewport Studio
  • Open source

Viewport Studio

Free, open-source Chrome extension to preview any website on phones, tablets and desktops side by side.

Up to 4 synced devices in one tab, with no debugger banner and no account

  • JavaScript
  • Chrome Extension MV3
  • declarativeNetRequest
  • Node test runner
  • Playwright
Kapster.id
  • Live
  • Open source

Kapster.id

Operations SaaS for barbershops: booking, schedules, cashier, customers and reports in one system.

Owner, cashier, admin and public booking apps on one NestJS API

  • Next.js 16
  • React 19
  • TypeScript
  • Vite
  • NestJS
Lighthouse
  • Client concept

Lighthouse

Marketing site and direct-booking prototype for a boutique hotel on Gili Trawangan.

Full booking flow from dates to confirmation, with no personal data in the URL or storage

  • React
  • Vite
  • JavaScript
  • CSS
  • In-house

Hal Support Bot

Discord helpdesk for Hal-Creative clients: bug reports, tickets and access requests in one place.

One support desk for every client project, with AI ticket summaries

  • Node.js
  • discord.js 14
  • Node test runner

Experience

  1. 2025 – Present

    Founder · Hal-Creative

    Run my own studio that builds, hosts and supports web systems, WhatsApp bots and SaaS for small businesses, including Karya Mandiri Dental and Yoyo Bolen.

  2. 2022 – Present

    Full-Stack Developer · Karya Mandiri Dental

    Built and run the company's whole digital system: a Next.js catalog and ordering site, a role-based admin dashboard, and a Gemini-powered WhatsApp bot, all in one monorepo deployed with Docker and CI to a single VPS.

  3. 2023 – Present

    Bot Developer & System Integrator · Yoyo Bolen

    Designed the WhatsApp ordering system that handles 100+ customer chats a day: AI order parsing, Lalamove delivery quotes and dispatch, OCR payment checks, and an admin dashboard for orders and stock.

About

I started with a single HTML page in 2018 and learned the rest by shipping. Today most of my work is for businesses that sell over WhatsApp: the bot has to understand how customers actually type, and the admin has to trust the numbers on the dashboard.

I like owning the whole system. I write the Next.js front end, the Node.js services and the database schema, then deploy it with Docker, Nginx and CI on a VPS I maintain myself. Through Hal-Creative I also handle support for the clients I build for.

Tools I use

Languages
TypeScriptJavaScriptPHPSQL
Front end
Next.jsReactTailwind CSSVite
Back end
Node.jsExpressNestJSPrismaPostgreSQLRedisSupabaseCodeIgniter
AI & messaging
GeminiEvolution APIBaileysdiscord.jsLalamove API
Infrastructure
DockerNginxLinux VPSGitHub ActionsPM2

What clients say

“Fauzan transformed our manual operations into a seamless digital system. His ability to translate business needs into robust solutions is rare.”
Wahyudi · CEO, Karya Mandiri Dental

Let's build something

Have a project in mind or need a developer who can own it end to end? Send a message and I'll reply on WhatsApp or email.

[email protected]

Opens WhatsApp with your message filled in.