Full Stack Web Developer

Hi, I'm
Catur Septian

Full stack web developer with about 10 years of experience building web apps, forms, and APIs with HTML, CSS, JavaScript, PHP, and Laravel.

About

Who I Am

Catur Septian

Catur Septian

@caturseptian · Jakarta, Indonesia

I'm a full stack web developer from Jakarta and have been building web apps since 2016. Most of my work is in HTML, CSS/Sass, and JavaScript on the front end and PHP, Laravel, and MySQL or SQL Server on the back end.

Right now I work on a reporting system for a government agency. I took it over from a previous vendor, with quite a few bugs and outdated libraries, and with my team I've been fixing it and moving business logic out of the database into Laravel code. Before that I worked at a startup in Yogyakarta, building online shops and a school marketplace with Xendit and Midtrans payments, and later managed the IT team there.

I use AI tools while coding, but I check and test the code myself before it goes live. I also try to be careful with personal data, for example by encrypting ID numbers. Lately I've been learning more about data engineering and AI: Python ETL, report automation, and small LLM apps.

Projects

Selected Work

Full Stack
Private repo

Circular Waste Marketplace

Marketplace connecting households, waste collectors, and recyclers, with buy/sell flows, inspection and price adjustment, moderated chat, email verification, and KYC. Checkout via Xendit (virtual account, e-wallet, QRIS, card) or manual transfer with proof upload.

React TypeScript Tailwind CSS Go PostgreSQL Xendit
Full Stack
Live site ↗

iHatePDF — PDF Tools in the Browser

PDF tools that run in the browser: merge, split, rotate, reorder, watermark, page numbers, and e-signature. Processing runs in Web Workers, files are not uploaded to a server, and there is no tracking.

React 19 TypeScript Vite Tailwind CSS Web Workers pnpm
Full Stack

Laravel Indonesia Territory

Open-source Laravel package on Packagist with official Indonesian region codes (Kepmendagri 2025: 38 provinces to 83,762 villages), plus optional postal codes, coordinates, boundaries, and islands. An interactive installer generates only the tables you pick, and an eject mode copies everything into the app so production has no dependency.

PHP 8.2–8.5 Laravel 12–13 PHPUnit GitHub Actions
Full Stack

Go Indonesia Territory

Open-source Go module on pkg.go.dev with the same Kepmendagri 2025 region data (38 provinces to 83,762 villages) embedded in the binary, plus postal codes, coordinates, islands, and code-change history. The core package uses only the standard library; sqlload installs the data into PostgreSQL, MySQL/MariaDB, or SQLite and verifies it.

Go 1.26+ PostgreSQL MySQL / MariaDB SQLite GitHub Actions
Full Stack

Laravel Sluggable

Open-source Laravel package on Packagist for Eloquent slugs with Indonesian-aware rules (Kab. → kabupaten; drops PT, Tbk, and (Persero)). One codebase supports Laravel 6–13 and PHP 7.2–8.5, tested by a 16-job CI matrix. An eject command lets apps drop the dependency.

PHP 7.2–8.5 Laravel 6–13 PHPUnit GitHub Actions
Full Stack

Laravel Pennant Analytics

Open-source Laravel package on Packagist that shows which Pennant feature-flag variant wins: it tracks impressions and conversions per variant and reports conversion rate, lift, and statistical significance on a dashboard. Hits are written after the response is sent, with lean daily counters.

PHP 8.2+ Laravel 12–13 Pennant Pest
Full Stack
Live site ↗

Indonesia Region API

Free, read-only static JSON API of Indonesian regions with hierarchy, coordinates, boundaries, and postal data — no server, served straight from a CDN, with validation scripts and tests.

Node.js Static JSON Cloudflare node:test
AI & Automation

NusaCare AI — RAG Support Chatbot

Indonesian-language customer-service chatbot that answers from a knowledge base using retrieval-augmented generation, with streamed answers and friendly error handling.

Python Streamlit Gemini API ChromaDB
AI & Automation
Private repo

QA & Security Test Runner

Self-hosted CLI that runs YAML scenarios in a real browser for UAT and functional tests: login with TOTP MFA, role/IDOR permission checks, passive security scans, and evidence capture, with HTML and JUnit reports for CI.

TypeScript Playwright Vitest Docker
AI & Automation
Private repo

Privacy-First Video Analytics

Local web app that extracts operational events from site CCTV footage. Every field carries a confidence score and evidence frame; no facial recognition, with documented data-protection (UU PDP) compliance.

Python FastAPI OpenCV PostgreSQL Redis
AI & Automation
Private repo

Batch Letter Generator

Generates hundreds of personalized letters (.docx/.pdf) from a single Excel recap by filling an untouched Word template, with a web upload page, CLI, and pytest test suite.

Python FastAPI Tailwind CSS pytest
Full Stack
Private repo

Finkasso — Double-Entry Finance App

Self-hosted finance app with a true double-entry ledger enforced in the database, multi-organization roles, audit log, EN/ID language toggle, and document import with OCR and rollback.

Go React TypeScript PostgreSQL Tailwind CSS
AI & Automation

Usatrix — Server Monitoring Agent

Cross-platform agent that watches CPU, memory, and disk on production servers and sends Telegram or SMTP email alerts with cooldown and anti-spam logic. Single static binary with CI releases.

Rust SQLite SMTP GitHub Actions
Full Stack
Private repo

HydroSim — Flood Simulation Platform

Web-based flood simulation workbench for 1D/2D hydrodynamic modeling with GIS input, scenarios, a job queue, and GeoJSON/PDF result exports.

Go React TypeScript PostgreSQL OpenAPI
Full Stack

Laravel 2FA App

Two-factor authentication for Laravel 12 built from scratch with no external packages — a clean reference for secure login flows.

Laravel PHP Security
Abilities

Tech Stack

Front-End

HTML5 CSS3 Sass / SCSS JavaScript (ES6+) Bootstrap Tailwind CSS Vue.js React Next.js htmx

Back-End

PHP Laravel CodeIgniter Node.js / Express Go Python REST APIs

Quality & Compliance

Accessibility (ARIA) Responsive / mobile-first Performance tuning A/B testing Data privacy (UU PDP / GDPR) 2FA & encryption

Databases

MySQL SQL Server PostgreSQL SQLite Redis

Payments & Email

Xendit Midtrans SMTP (Google, Zimbra, self-hosted) HTML email templates

Build Tools

npm pnpm Vite Composer Nix

Cloud & DevOps

Docker Ansible OpenTofu MinIO Linux / SSH AWS (EC2) GCP Alibaba Cloud VMware vSphere

Workflow & AI

Git GitHub GitLab Bitbucket Claude Code Gemini API LLM integration
Journey

My Journey So Far

Project Manager & Full Stack Developer

Mar 2023 – Present

IT services company · assigned to a government energy regulator, Jakarta

  • ●Hands-on role: beyond project management, I built and ran the platform end to end myself: planning, coding, repositories, servers, deployment, maintenance, and monitoring
  • ●Lead development of a regulatory reporting platform where licensed companies submit sales, supply, and material-balance reports used to calculate regulatory levies
  • ●Took over the platform from a previous vendor and led a migration away from vendor lock-in: moved business logic out of stored procedures into tested Laravel code
  • ●Fix legacy bugs, replace deprecated dependencies, and turn fast-changing regulations into shippable features with a small team
  • ●Stack: Laravel, Blade, JavaScript, Node.js services, SQL Server, GitLab; AI-assisted development with mandatory human review

Full Stack Developer

Jun 2022 – Feb 2023

Government energy regulator, Jakarta

  • ●Built and maintained internal web applications, reporting modules, and public-facing digital services
  • ●Improved database performance through query tuning and refactoring of legacy modules

IT Manager

Oct 2021 – May 2022

Tech startup, Yogyakarta

  • ●Hands-on role: besides leading the team, I built and ran the products end to end myself: planning, coding, repositories, servers, deployment, maintenance, and monitoring
  • ●Managed the development team, project planning, and delivery for e-commerce and education products
  • ●Owned infrastructure, deployments, and vendor/client coordination

Full Stack Developer

Apr 2019 – Sep 2021

Tech startup, Yogyakarta

  • ●Built B2C e-commerce and a B2B procurement marketplace (Laravel APIs + Next.js storefronts) with online checkout via Xendit and Midtrans
  • ●Delivered e-learning, e-office, and live-streaming platforms; set up transactional email over SMTP
  • ●Shipped responsive, mobile-first interfaces with Bootstrap and Tailwind CSS

Freelance Full Stack Web Developer

2016 – Present

Self-employed

  • ●Designed and built custom web applications for SMBs, schools, and public institutions using PHP, CodeIgniter, and Laravel
  • ●Developed inventory, point-of-sale, CMS, school-management, and online-store systems
  • ●Maintained and extended legacy codebases, reducing technical debt and improving performance
Earlier Roles

Practicum Assistant

2014 – 2016

STMIK Amikom Yogyakarta

Courses:

Algorithm & Programming (2014/15) — Excellent Data Structures (2014/15) — Good Algorithm & Programming (2015/16) — Good Web Programming (2015/16) — Good

Student Staff — Computer Technician

Aug – Nov 2016

STMIK Amikom Yogyakarta

  • ●Provided hardware maintenance and technical support for campus computer labs
  • ●Configured network equipment and assisted faculty with IT needs — Satisfactory
Contact

Let's Connect

Open to full-time remote web developer roles. I can adjust my hours to overlap with US or European time zones.

Like my open-source projects? You can support them here: