Open for work · Jakarta, UTC+7
I build web apps that keep working after launch.
Login, payments, rate limits, servers. The parts a prototype skips. I write code with Claude Code and Cursor every day, so I also know exactly where those tools cut corners, and I fix that too.
01
Projects
Four things I built on my own. Swipe through, tap one for screens.
1 / 4
On Vocharu and Voisla I built the web platform. The voice model behind them is someone else's work.
Older work
- A chat assistant that reads your assessment report back to you
- Goceng AI, opens in a new tabPay by QRIS, get an hour of LLM access for tagging stock photos
- Groker, opens in a new tabBatch video generator for Windows, prompts written by Grok
- Whisker, opens in a new tabLicense portal for a 30-day tool, now in maintenance
- Prompt Generator, opens in a new tabSpins one image prompt into many, with your own API key
- MADA, opens in a new tabPick a package, pay by QRIS, get a license by email
02
Five things I fix first
Most apps I'm handed were built fast, often with AI tools. They work in a demo. These are the places they fail with real users.
Hiding a button is not access control. Every route has to check who is asking, on the server.
Imaginer ran its own login and route guards for 1.6k users
The plan a person gets has to match what they paid, every time, promo code or not.
QRIS checkout, plans and promo codes on Vocharu and Voisla
An API key in the front end is public. I move it to the server and rotate it.
The single most common thing I find in AI-written code
Anything that calls a paid API gets a limit per user. Otherwise one script can empty your account overnight.
Imaginer capped every generation route from day one
A server you can restart and update without me, and a short note so the next developer isn't lost.
Hardened Linux servers for Imaginer, Vocharu and Voisla
- We agree the scope and the price before I touch anything. You tell me what the app does and what has to work on launch day.
- You see progress on a running version, not in a report. I work in small pieces and show each one as it lands.
- You keep everything. The code, the server access, and a handover note written for whoever comes after me.
03
About
I've been building web apps on my own since 2023, mostly for small Indonesian companies that needed a product, not a prototype. Two of them, Vocharu and Voisla, take real payments every day. Since June 2026 I've also been on contract at LPT FPSI Universitas Indonesia, building and testing a web app for their psychology lab.
I write most of my code with Claude Code and Cursor, and I review every line before it ships. That habit is why I'm comfortable taking over apps other people started with the same tools. Outside client work I maintain Nalarupa, an open-source design editor in Rust, because I wanted one and nobody had made it.
My code is on GitHub; the rest of my history is on LinkedIn.
- Experience
- Software Developer and Machine Learning Engineer, contractLPT FPSI Universitas Indonesia · Jun 2026–now
- Software Engineer, freelanceWeb apps and apps to production · Jan 2023–now
- Credentials
- Certified AI Web Developer Vibecoding.id · Jan 2026
- AI API Integration for Developers Hacktiv8 · Dec 2025
- Bachelor of Government ScienceUniversitas Tanjungpura · 2021–2026
- Stack
- Next.js, TypeScript, Python, FastAPI, Rust, REST APIs, Linux servers, LLM APIs, RAG, MCP
- Daily tools
- Claude Code, Cursor, OpenAI Codex, Pi Coding Agent
GitHub, last 12 months
@naddrzz- 5,755
- contributions
- 165
- active days of 365
- 19
- public repositories
Counted on 29 October 2026.
04
Have an app that's half-done, or done but fragile?
Write to me with three things: what the app does, what it was built with, and what still breaks. I reply within a day, in plain language. If it isn't work I'm good at, I'll say so and point you somewhere better.
naddrzz10@gmail.com