Firman Hanafi
Solution Architect · Notes

Portfolio

Selected work

A journey from Java Programmer to Solutions Architect, building payment infrastructure at scale. Below are my work experience, projects, and technical expertise.

Work Experience

DOKU, PT Nusa Satu Inti Artha

Solutions Architect

Apr 2021 — Present
📍 DKI Jakarta · Remote

Leading solution design across DOKU's core financial platform, transfer services, payment channels, AI-assisted engineering, and DevOps initiatives:

Solution Design & Architecture

  • Designed solution architecture for Financial Core systems — Settlement, Reconciliation, Centralized Refund, and Fee Calculation & Balance
  • Decoupled monolithic financial-core microservice into nanoservices (Settlement, Reconciliation, Refund, Fee & Balance) to handle growing daily transaction volume
  • Designed Google Payment integration for QRIS MPM channel
  • Piloted Function Compute for reconciliation system — processing millions of transactions daily in a serverless architecture
  • Designed architecture to remove middle service for Google Remittance, migrating to Function Compute
  • Designed merchant onboarding for QRIS on DOKU co-brand partners
  • Designed merchant onboarding for Billing-as-a-Service product
  • Designed bill collection system for Flexy Bill (Billing-as-a-Service)
  • Transfer Service — Solution design for remittance and disbursement platforms (KirimDoku)

API Gateway & Infrastructure

  • Conducted POC for APIWiz integration — installed and evaluated in DOKU sandbox environment with Kong OSS as the open-source API gateway
  • Co-built the API gateway using Spring Cloud Gateway as the inbound proxy for current systems
  • Managed dual API gateway architecture: Nginx (inbound proxy for legacy systems) and Spring Cloud Gateway (inbound proxy for current systems)
  • Managed Squid Proxy as the outbound proxy layer
  • Designed Apache Kafka infrastructure architecture for both development and production environments

AI-Assisted Engineering & Tooling

  • Conducted POC of AI tools for DOKU engineering adoption — selected Claude as primary tool
  • Served as internal trainer for AI-assisted software development practices
  • Championed AI usage across engineering workflows:
    • PRD & PID generation for Product team
    • Integrated Serena for token-efficient AI interactions
    • Solution design with AI — sequence diagrams, C4 model (Level 1, 2, 3), OpenAPI Spec, and NFR for Expert Engineers and Solution Architects
    • Code generation for software engineering teams
    • Test generation — scenario tests, unit tests, and service test generators
    • Deployed Claude Agent & Claude Skills tailored for each engineering pod
  • Led DOKU's adoption of ClickUp as the engineering project management platform

DevOps & Platform Engineering

  • Built CI/CD pipelines for Function Compute (serverless) and established operational SOPs
  • Built CI/CD for Java & Kubernetes microservices deployment
  • Built CI/CD for Angular & static web to Alibaba Cloud OSS
  • Built CI/CD for Python & Kubernetes services
  • Built CI/CD for n8n & Kubernetes (scalable installation)
  • Integrated GitLab & GitHub repositories with Snyk (SAST) for security scanning
Solution Architecture QRIS Nanoservices Function Compute Spring Cloud Gateway Apache Kafka Cloud-Native CI/CD Kubernetes Claude AI AI Trainer ELK Stack n8n ClickUp Snyk SAST
DOKU, PT Nusa Satu Inti Artha

Technical Lead

Mar 2018 — Apr 2021
📍 Menara Mulia, DKI Jakarta

Led the engineering team for KirimDoku / Transfer Service — handling remittance and disbursement products:

  • Rewrote legacy KirimDoku application from Play Framework to Spring Boot WebFlux and MVC
  • Designed and built cashout system integrated with Indomaret and Alfamart retail networks
  • Designed and built bank connector to banks and switching networks for money disbursement
  • Designed and built KirimDoku integration with Ripple for cross-border remittance transactions
Scrum Technical Leadership Spring Boot WebFlux Ripple Remittance Disbursement
DOKU, PT Nusa Satu Inti Artha

Software Engineer

Mar 2017 — Mar 2018
📍 Jakarta

Maintained and developed features for KirimDoku / Transfer Service legacy application:

  • Worked on KirimDoku legacy stack built with Play Framework, CoffeeScript, and native Java/Scala
  • Developed remittance and disbursement features for the transfer service platform
Play Framework Scala CoffeeScript Java PostgreSQL Remittance
PT. Ace Global Consulting and Integration

Java Programmer

Mar 2015 — Feb 2017
📍 Jakarta

Developed enterprise systems for major retail clients:

  • Built finance system for Indomaret using JSF (Java 7)
  • Built ETL pipelines using Open Talend Studio for batch data integration between headquarters and retail stores (bidirectional sync)
  • Built Spring Batch jobs for batch data integration processes
Java 7 JSF Spring Batch Talend ETL PostgreSQL
PT. Numazu Trans Teknologi

Java Programmer

Jan 2014 — Jan 2015
📍 Jakarta

Built end-to-end barcode systems for Japanese manufacturing clients:

  • Built production barcode system for PT. Kyoraku Blowmolding Indonesia — tracking the entire manufacturing process from production to QC pass
  • Built production barcode system for PT. Keihin Indonesia — end-to-end tracking from product creation through quality control
Java Barcode Systems Manufacturing PostgreSQL Apache Tomcat

Projects

Open source contributions, internal engineering initiatives, and personal builds.

n8n-nodes-7z
A custom n8n community node for compressing and decompressing files using the 7-Zip format. Enables automated file archiving workflows directly within n8n pipelines.
TypeScript n8n 7-Zip MIT License
n8n-nodes-postgresql-copy
A custom n8n community node extending PostgreSQL capabilities with the COPY command for high-performance bulk data ingestion and extraction in automated workflows.
TypeScript n8n PostgreSQL COPY Command MIT License
Function Compute for Reconciliation
Problem Reconciliation system couldn't scale to handle growing daily transaction volume
Approach Piloted serverless architecture using Alibaba Cloud Function Compute
Impact Processing millions of transactions daily with auto-scaling, no infrastructure management overhead
Function Compute Alibaba Cloud Serverless
🔄 KirimDoku Platform Rewrite
Problem Legacy remittance platform built on Play Framework was hard to scale and maintain
Approach Full rewrite to Spring Boot WebFlux and Spring MVC, modern reactive architecture
Impact Improved scalability, maintainability, and developer productivity for the transfer service platform
Spring Boot WebFlux Spring MVC Reactive
📱 QRIS Merchant Onboarding
Problem No standardized onboarding flow for QRIS merchants on DOKU co-brand partners
Approach Designed end-to-end solution architecture for merchant onboarding across multiple partners
Impact Enabled DOKU co-brand partners to onboard QRIS merchants at scale
QRIS Solution Design API Architecture
🔧 n8n Self-Hosted on Kubernetes
Problem Need a scalable, reliable workflow automation platform for internal engineering use
Approach Designed and managed self-hosted n8n on Kubernetes (ACK) — Main + Worker + Webhook pods, Redis queue mode, PostgreSQL, NAS-backed PVC
Impact Production-grade automation platform serving multiple engineering teams across SIT, UAT, Sandbox, and Production
n8n Kubernetes Redis PostgreSQL
🌐 Spring Cloud Gateway — API Gateway
Problem Legacy systems using Nginx as inbound proxy couldn't support modern API management needs
Approach Co-built API gateway using Spring Cloud Gateway as inbound proxy for current systems, alongside Nginx for legacy
Impact Dual gateway architecture supporting both legacy and modern microservices with clean separation
Spring Cloud Gateway Nginx API Management
🤖 fc-ai — AI-Assisted Engineering Platform
Problem Need to evaluate LLM integration for internal engineering productivity
Approach Built Spring Boot 4 / Java project with Ollama on Kubernetes (CPU-only, Qwen models) for UAT/SIT environments
Impact POC for AI-native microservice, foundation for DOKU's AI-assisted engineering adoption
Spring Boot 4 Ollama Qwen Kubernetes
🏕️
SpotCamp ID
🚧 In Progress ~50%
A platform for discovering and exploring camping spots in Indonesia. Built out of personal passion for family camping trips. Features location discovery, reviews, and campsite details.
Angular TypeScript SCSS Spring Boot PostgreSQL

Tech Stack & Skills

A curated collection of technologies, tools, and methodologies I work with daily.

🏛️
Architecture & Design
Solution Architecture Enterprise Architecture System Design Cloud-Native Event-Driven (DDD) Microservices
🤖
AI & Automation
AI Pair Programming Prompt Engineering LLM Integration Vibe Coding n8n Workflow Automation
💳
Domain Expertise
Payment Systems Transfer & Remittance PCI DSS FinTech
⚙️
Backend & Languages
Java Java EE Spring Boot Spring MVC Spring Batch Node.js Play Framework Hibernate JSP Primefaces JSF JBoss ESB
🎨
Frontend & Mobile
JavaScript React React Native AngularJS
🗄️
Databases
PostgreSQL Oracle SQL SQL Server Database Optimization Database Design
☁️
Infrastructure & Cloud
Kubernetes Docker Helm Charts OpenShift Jenkins SonarQube CI/CD IaC GCP Alibaba Cloud
📡
Messaging & Observability
Apache Kafka Redis Elastic Stack Prometheus Grafana
🔧
Tools & Methodologies
IntelliJ IDEA STS Maven SBT Scrum JIRA Technical Leadership