Open to junior software engineer roles in Jakarta or remote
Farhan Taufik Rahman
Software Engineer, Jakarta, Indonesia
I build full-stack systems, then keep them running.
Six months of full-time building apps since Hacktiv8, four years of telecom engineering before that. My latest project, Llama Express, is a real-time courier platform I designed, shipped, deployed and monitored on my own.

Featured project, Sep–Oct 2026
Llama Express
A real-time courier platform, from the first commit to production-style operations.
Customers book a delivery on a map, nearby couriers are dispatched automatically, and everyone follows the courier live until the package arrives. I built the Spring Boot backend, the React frontend and everything around them: Kubernetes, CI/CD with automatic rollback, monitoring and public exposure.
The API runs on my own machine through a Cloudflare Tunnel, so the live demo works while it is online.
- 0 pods
- backend replicas sharing real-time traffic through Kafka
- 0+
- backend tests, including Testcontainers integration tests
- 0
- frontend tests with Jest, Testing Library and MSW
- 0
- Prometheus alert rules behind a custom Grafana dashboard
How a request moves through it
Pick a scenario. The highlighted path is what actually runs in production.
- The customer confirms a quote; the request enters through the Cloudflare Tunnel and the gateway.
- The backend saves the order and an outbox event in one Oracle transaction.
- The outbox publisher sends the event to Kafka.
- The dispatcher consumes it and offers the job to nearby online couriers over WebSocket.
Problems I had to solve
An order is saved but its event never reaches Kafka
Transactional outbox: the order and its event are written in one database transaction, and a scheduled publisher forwards events to Kafka.
Two backend pods, but WebSocket subscribers live in one pod's memory
Each pod reads status and location events with its own Kafka consumer group and forwards them to its own browsers, so every customer gets every update.
Scheduled jobs would run twice after scaling out
ShedLock on the outbox publisher, dispatch sweeper and housekeeping, so only one pod runs each job.
Updates lost while a pod is replaced during a deploy
The client re-subscribes first, then refetches from REST. WebSocket is a notification channel; REST is the source of truth.
Anyone can POST a fake 'paid' notification to a public webhook
Midtrans signature (SHA-512) verification plus a status re-check against the Midtrans API before an order is marked paid.
A bad release reaches the cluster
Jenkins records the running images, rolls out the new SHA, runs a smoke test and restores the previous images if anything fails. I tested it with a deliberately broken image.
Screens
Customers follow the courier live and share a tracking link.
Couriers step through each job and upload a proof photo.
Recipients track the package without an account.
Admins filter, inspect and export orders.
Prometheus and Grafana: traffic, latency, JVM, database and business metrics.
Every merge to main is tested, scanned, deployed and smoke-tested.
Built with
- Java 25
- Spring Boot 4
- Oracle 23ai
- Kafka
- Redis
- WebSocket (STOMP)
- React 19
- TypeScript
- Leaflet
- Docker
- Kubernetes
- Helm
- Jenkins
- SonarQube
- Prometheus
- Grafana
- Cloudflare Tunnel
- Vercel
- Midtrans
Other projects
Built during and after the Hacktiv8 bootcamp, solo and in teams.

CosFit 2026
AI virtual cosplay try-on with Fashn AI, a Gemini full-body photo check, Steam-style community chat and Midtrans payments.

Kyriegram 2026
Instagram-style mobile app for iOS and Android with a GraphQL API and Redis-cached feeds.

TripSync 2026
Collaborative travel planner: I built the whole backend, Gemini itinerary suggestions and a chat room per plan.

Waifu Battle 2026
Card game with character data from the MyAnimeList API, Gemini-assisted tactics and Google sign-in.
Journey
From radio and satellite networks to building software, newest first.
Sep 2026 – now

AWS re/Start Cloud Compute
Orbit Future Academy × AWSStudy
- Cloud fundamentals, Linux, networking and AWS services.
Apr – Jul 2026

AI-Enhanced Full-Stack JavaScript Immersive
Hacktiv8, JakartaStudy
- Full-time bootcamp; shipped several group and solo web and mobile projects.
Dec 2024 – Mar 2026

Network Monitoring Center, Operations & Maintenance
Pasifik Satelit Nusantara, SATRIA-1Work
- Monitored the national SATRIA-1 satellite services (backhaul, hub, gateway, reference terminals), triaged alerts and escalated incidents.
- Troubleshot remote terminals over SSH and Remote Desktop; supported field technicians through the NMS.
- Owned incident ticketing for Komdigi across all services.
Jun – Aug 2023

IT Technical, On-the-Job Training
Perum LPPNPI AirNav IndonesiaWork
- Tested an IoT temperature sensor system and built a UTC reference clock; repaired VHF air-to-ground radio modulation.
Sep 2020 – Sep 2024

B.Eng. Electrical Engineering (Telecommunication)
Universitas Pendidikan Indonesia, BandungStudy
- GPA 3.51 / 4.00, cum laude.
Skills
Tools I have used in shipped projects.
- Languages
- Backend
- Frontend & mobile
- Data & messaging
- Testing & quality
- Platform
Let's talk about your team's next delivery.
I'm looking for a junior software engineer role where I can work on backend or full-stack systems. The fastest way to reach me is email.