ihsan@dev — portfolio.sh
~/whoami

Ihsan Nurul Iman
Software Engineer

Software engineer with main interest in software architecture and design. I craft codes that ensure reliability and maintainability.

location …… East Jakarta, Indonesia
education … B.Eng Computer Engineering
focus ………… architecture & design
ls ~/projects

Things I've built

Side projects I shipped end to end — scoped, designed, built, and put in front of real users.

ci3.googleusercontent.com/proxy/aHR0cHM6…
https://intranet.acme.local/logo.png

Unproxy

Chrome Extension

Mail providers rewrite image and link URLs to route through their own servers, which breaks anything hosted on an internal or VPN-only network. Unproxy restores the original URL at the network layer, before the request leaves the browser.

TypeScriptChrome MV3declarativeNetRequest
→ View on the Chrome Web Store
--:-- / --:--

Don't Spoil Me

Chrome Extension

Hides YouTube's duration, progress bar, most-replayed graph, chapter markers, and storyboard previews, so the page can't spoil a video before you watch it.

TypeScriptJavaScriptCSSChrome MV3
→ View on the Chrome Web Store
Extended Pomodoro
FOCUS SESSION
18:42
PAUSESKIP
Write the reconciliation spec

Extended Pomodoro

2023

A Windows desktop app that pairs a Pomodoro timer with task management — sessions, tasks, and productivity statistics in one place.

C#WPFSQLiteMoqMVVM
→ App Homepage
bahasteknologi.com

BahasTeknologi.com

2016 – 2019
◆ Grew to 6k visitors/day

An Indonesian tech-insights publication I started in high school and ran for three years before selling it.

WordPressPHPJavaScriptMySQL
icel.or.id

ICEL.or.id

2022

Company profile site for an environmental law organisation, delivered solo from UI/UX design through development to production deployment.

WordPressPHPJavaScriptMySQL
→ icel.or.id
git remote -v

Open source

Libraries I maintain, and upstream work on the tools I use.

ihsansfd/pdfmake-markupAuthor

A markup language for pdfmake. Created to solve problem of having to transfer a JavaScript objects, which can contain functions, to a safely markup language that can be decoded later.

TypeScriptParser designnpm
→ github.com/ihsansfd/pdfmake-markup
bpampuch/pdfmakeContributor

Adding dynamic page margins: enable user to write custom margin sizes for each individual page conditially.

JavaScriptLayout engineUpstream
→ github.com/bpampuch/pdfmake
ihsansfd/skillsAuthor

A collection of agent skills that helps me (and hopefully others) with engineering and day-to-day stuff. study-codebase turns an unfamiliar repository into a chaptered course with explanations and quizzes; why-and-then-what maps a recurring problem as a causal tree instead of a list of advice.

Agent skillsMarkdownPrompt design
→ github.com/ihsansfd/skills
git log --author="ihsan" --oneline

Experience

Three years building backend and distributed systems accross dynamic teams.

Achilles

Software Engineer
Oct 2025 → present · Jakarta, Indonesia

Part of the payment team, across a fleet of more than thirty microservices that move real money. My role runs from technical design through to production: I own services end to end, do the design work on the pieces that need it most, and push reliability and observability standards the rest of the team can adopt.

Traveloka

Software Engineer
Feb 2024 → Oct 2025 · Tangerang, Indonesia

Engineer on the CRM team, on a platform serving thousands of customer support agents worldwide and resolving millions of inquiries and automated jobs a day. I built backend services and the cloud infrastructure under them, and regularly carried features across the whole stack — from designing an API or an LLM pipeline.

PT. HashMicro Solusi Indonesia

Software Programmer Intern
Feb 2022 → Jun 2022 · Jakarta, Indonesia

I worked inside a cross-functional team of ten, delivering client-facing ERP projects from the UI down to the backend. It was my first taste of shipping to real clients on someone else's deadline.

ls -l ~/bookshelf

Books that shaped my life as a software engineer

Hundreds of hours in these pages is why I think the way I do. Pull a volume off the shelf.

/home/ihsan/bookshelf10 volumes · read & re-read
// hover or click a spine to read the entry …
cat skills.json

What I work with

The specific language matters far less than the core skills underneath. This is what I reach for most — not a comprehensive list.

{
  "focus": ["backend & distributed systems", "payments infrastructure",
             "software architecture & design", "AI engineering"],

  "languages": ["Java", "TypeScript", "JavaScript", "Golang", "Python",
                 "C#", "PHP", "SQL", "HTML/CSS"],

  "frameworks": ["Spring", "Quarkus", "NestJS", "ElysiaJS", "Bun",
                  "Node.js", "React", "Vue.js", ".NET", "Haystack"],

  "databases": ["PostgreSQL", "MySQL", "MongoDB", "DynamoDB",
                 "Elasticsearch"],

  "infrastructure": ["AWS", "Alibaba Cloud", "Kubernetes", "Docker",
                     "Rancher", "OpenTelemetry"],

  "practices": ["microservices", "RESTful APIs", "CI/CD", "observability",
                 "Agile/Scrum", "AI engineering"]
}

The greatest engineers do not build perfect systems.They build systems that endure.

Speed is visible today; quality is felt tomorrow.

At the end of the day, the quietest heroes are those who build for a future they may never be thanked for.