frhn.

Mochammad Farhan Ali — Fullstack Developer

I build the software public institutions run on.Saya membangun software yang menjalankan institusi publik.

I'm Farhan. For the past year and a half I've been building academic and HR systems for a public-works college and the Ministry of Public Works — with TypeScript, Next.js, Go and PostgreSQL, from the database schema to the deploy.Saya Farhan. Satu setengah tahun terakhir saya membangun sistem akademik dan kepegawaian untuk kampus pekerjaan umum dan Kementerian Pekerjaan Umum — dengan TypeScript, Next.js, Go, dan PostgreSQL, dari skema database sampai deploy.

NowSekarang
Software Engineer (Fullstack), STT Pekerjaan Umum JakartaSoftware Engineer (Fullstack), STT Pekerjaan Umum Jakarta
AlsoJuga
Founder, Surupan Software HouseFounder, Surupan Software House
StudyingKuliah
Informatics Engineering, STT PU (2023–)Teknik Informatika, STT PU (2023–)
BasedLokasi
Jakarta, Indonesia (open to remote)Jakarta, Indonesia (open to remote)
01

AboutTentang

Most of what I've built replaces a spreadsheet, a stack of paper, or a WhatsApp group. At STT PU that meant SIPEKAD, the system around 300 active students now use to submit academic requests. At Pusdatin it meant moving the records of 140+ employees out of Excel files and into one dashboard.Sebagian besar yang saya bangun menggantikan spreadsheet, tumpukan kertas, atau grup WhatsApp. Di STT PU itu berarti SIPEKAD, sistem yang kini dipakai sekitar 300 mahasiswa aktif untuk pengajuan akademik. Di Pusdatin itu berarti memindahkan data 140+ pegawai dari file Excel ke satu dashboard.

I like the unglamorous parts: data models that survive real-world mess, migrations that don't lose rows, and documentation the next developer will actually read. I'm still finishing my informatics degree, so I'm learning as I ship.Saya suka bagian yang tidak glamor: model data yang tahan dengan data dunia nyata yang berantakan, migrasi yang tidak kehilangan baris, dan dokumentasi yang benar-benar dibaca developer berikutnya. Saya masih menyelesaikan kuliah informatika, jadi saya belajar sambil merilis.

How I workCara saya bekerja

  1. 01 Learn the paperwork first.Pahami kertasnya dulu.

    Before modelling a process I sit with the people who do it by hand. The spreadsheet usually knows edge cases the spec doesn't.Sebelum memodelkan proses, saya duduk dengan orang yang mengerjakannya secara manual. Spreadsheet-nya biasanya tahu edge case yang tidak ada di spesifikasi.

  2. 02 Pick boring tools.Pilih tools yang membosankan.

    PostgreSQL, Next.js and Go — things I can debug when they break in production.PostgreSQL, Next.js, dan Go — tools yang bisa saya debug saat rusak di produksi.

  3. 03 Leave a map.Tinggalkan peta.

    Every system I hand over ships with documentation and an architecture diagram.Setiap sistem yang saya serahkan disertai dokumentasi dan diagram arsitektur.

  4. 04 Ship, then tighten.Rilis, lalu rapikan.

    Get a working version in front of real users, then fix what they actually run into.Taruh versi yang berjalan di depan pengguna sungguhan, lalu perbaiki yang benar-benar mereka alami.

ToolboxPeralatan

Fullstack DevelopmentPengembangan Fullstack
TypeScript · Node.js · Express.js · Laravel · Next.js · React · Tailwind
Cloud & InfrastructureInfrastruktur Cloud
AWS · Docker · Linux · Vercel
CI/CD & AutomationCI/CD & Otomatisasi
GitHub Actions · Docker · Shell Scripting
Database ArchitectureArsitektur Database
PostgreSQL · MySQL · MongoDB · Redis

Commit logLog commit

Contributions on GitHub over the past yearKontribusi di GitHub selama setahun terakhir

Loading…Memuat…

02

Selected workProyek pilihan

  1. 01 2025

    SIPEKAD — Sistem Pengajuan Akademik

    Academic Workflow SystemSistem Alur Pengajuan Akademik

    Replaced the paper queue for around 300 active students across 3 study programs. Every submission is now tracked in one place and students are notified automatically.Menggantikan antrean kertas untuk sekitar 300 mahasiswa aktif di 3 program studi. Semua pengajuan kini tercatat di satu tempat dan mahasiswa mendapat notifikasi otomatis.

    React · Node.js · WhatsApp API

  2. 02 2026

    Website Kampus

    Official Institutional Website with Headless CMSWebsite Resmi Institusi dengan Headless CMS

    Production-ready site now serving as the official online presence of STT Pekerjaan Umum Jakarta, handling 500+ monthly visitors with sub-second page loads.Website siap produksi yang kini menjadi kehadiran online resmi STT Pekerjaan Umum Jakarta, melayani 500+ pengunjung bulanan dengan waktu muat di bawah satu detik.

    Next.js · TypeScript · PostgreSQL · Payload CMS · Tailwind

  3. 03 2026

    Sistem Kepegawaian & Jabatan Fungsional Pusdatin

    HR Management & Functional Position SystemSistem Manajemen Kepegawaian & Jabatan Fungsional

    Centralized personnel and functional position data for 140+ Pusdatin employees in one dashboard, with credit points calculated automatically instead of by hand.Data kepegawaian dan jabatan fungsional 140+ pegawai Pusdatin kini terpusat dalam satu dashboard, dengan angka kredit dihitung otomatis, bukan manual.

    Next.js · TypeScript · PostgreSQL · Supabase · Tailwind

  4. 04 2026

    Huora Beauty × Twenty Eight

    Clinic landing page · client project at Surupan Software HouseLanding page klinik · proyek klien Surupan Software House

    The clinic's landing page, with WhatsApp as the single booking channel.Landing page klinik dengan WhatsApp sebagai satu-satunya kanal booking.

    Next.js · Tailwind CSS · Vercel

  5. 05 2026

    Metland Cikarang — Rumah Impian

    Property landing page · client project at Surupan Software HouseLanding page properti · proyek klien Surupan Software House

    A landing page that works as a direct lead channel between buyers and the developer.Landing page yang berfungsi sebagai kanal lead langsung antara pembeli dan developer.

    Next.js · Tailwind CSS · GSAP · Vercel

03

ExperiencePengalaman

WorkKerja

  1. Oct 2026 - Present

    Fullstack EngineerInsinyur Full Stack — Hino Motors Sales IndonesiaHino Motors Sales Indonesia

    Fullstack engineer working on-site in Jakarta, building web applications with FastAPI and Next.js.Fullstack engineer yang bekerja on-site di Jakarta, membangun aplikasi web dengan FastAPI dan Next.js.

  2. Aug 2024 - Present

    Software Engineer (Fullstack)Software Engineer (Fullstack) — Sekolah Tinggi Teknologi Pekerjaan Umum JakartaSekolah Tinggi Teknologi Pekerjaan Umum Jakarta

    Designed and shipped SIPEKAD, an academic submission system used by around 300 active students across 3 study programs. Built with React, Node.js, and the WhatsApp API — students submit requests online, admins review them in one click, and status updates reach students on WhatsApp. Also developed the official institutional website with Payload CMS and authored complete technical documentation and system architecture diagrams to ensure long-term maintainability.Merancang dan mengembangkan SIPEKAD, sistem pengajuan akademik yang dipakai sekitar 300 mahasiswa aktif di 3 program studi. Dibangun dengan React, Node.js, dan WhatsApp API — mahasiswa mengajukan secara online, admin meninjau dengan sekali klik, dan update status dikirim lewat WhatsApp. Juga mengembangkan website resmi institusi dengan Payload CMS dan menyusun dokumentasi teknis lengkap beserta diagram arsitektur sistem untuk memastikan maintainabilitas jangka panjang.

  3. 2025 - Present

    Founder & Fullstack DeveloperFounder & Fullstack Developer — Surupan Software HouseSurupan Software House

    Founded a small software house that builds websites and web systems for local businesses and institutions. Built landing pages with Next.js, Tailwind CSS, and GSAP for a beauty clinic and a housing development, with WhatsApp-based booking and lead flows. Handle client requirements, design, development, and deployment on Vercel.Mendirikan software house kecil yang membangun website dan sistem web untuk bisnis lokal dan institusi. Membangun landing page dengan Next.js, Tailwind CSS, dan GSAP untuk klinik kecantikan dan perumahan, dengan alur booking dan lead berbasis WhatsApp. Menangani kebutuhan klien, desain, pengembangan, hingga deployment di Vercel.

  4. Jan 2026 - Apr 2026

    Fullstack Developer InternFullstack Developer (Magang) — Pusdatin, Kementerian Pekerjaan UmumPusdatin, Kementerian Pekerjaan Umum

    Built an integrated HR dashboard with Next.js and TypeScript to digitalize personnel and functional position management for 140+ Pusdatin employees. Engineered Python and SQL ETL pipelines to clean and import employee records from Excel files, replacing manual data entry. Implemented granular RBAC and real-time data synchronization with Supabase.Membangun dashboard HR terintegrasi dengan Next.js dan TypeScript untuk mendigitalkan manajemen kepegawaian dan jabatan fungsional untuk 140+ pegawai Pusdatin. Merancang pipeline ETL menggunakan Python dan SQL untuk membersihkan dan mengimpor data pegawai dari file Excel, menggantikan input data manual. Mengimplementasikan RBAC granular dan sinkronisasi data real-time dengan Supabase.

EducationPendidikan

  1. 2023 - Present

    Informatics EngineeringTeknik Informatika — STT Pekerjaan UmumSTT Pekerjaan Umum

    Focus: Software Engineering, Data Structures, Algorithm Design. Relevant Coursework: Web Development, Database Systems, AI.Fokus: Rekayasa Perangkat Lunak, Struktur Data, Desain Algoritma. Mata kuliah relevan: Pengembangan Web, Sistem Basis Data, Kecerdasan Buatan.

  2. Jan 2024 - May 2024

    Backend Developer Bootcamp (Golang)Bootcamp Backend Developer (Golang) — Enigma Camp BootcampEnigma Camp Bootcamp

    Built a room reservation REST API in Golang with Gin, JWT authentication, and a PostgreSQL schema with indexing. Reached 85%+ unit test coverage with Go's testing package. Practiced clean code architecture, strict input validation, and comprehensive error handling to ensure backend reliability.Membangun REST API sistem reservasi ruangan dengan Golang dan Gin, autentikasi JWT, serta skema PostgreSQL dengan pengindeksan. Mencapai cakupan unit test 85%+ dengan package testing bawaan Go. Menerapkan arsitektur clean code, validasi input yang ketat, dan penanganan error komprehensif untuk memastikan keandalan backend.

Full résumé (PDF) ↓ CV lengkap (PDF) ↓
04

ContactKontak

Got a process that still runs on spreadsheets? Let's talk.Punya proses yang masih jalan di spreadsheet? Ayo ngobrol.

I'm open to full-time roles and freelance projects. Email is fastest:Saya terbuka untuk posisi full-time dan proyek freelance. Paling cepat lewat email: mochamadfarhanali@gmail.com — or — atau WhatsApp.