
About Me
Hi, I'm Adwi — a software engineer from Indonesia. I build systems for a living and side-projects for fun, and this site is where both end up: the work, the write-ups, and the lessons learned along the way.
The name, and why it's a little embarrassing
This goes back to 2009, when I started at an SMK — a vocational high school — studyingrekayasa perangkat lunak, software engineering. The internet was a different place then. Nobody used their real name online; you picked an identity, a handle, something that said who you wanted to be. Around late 2010 or early 2011, I picked mine:keyboard warrior. A kid learning to code, spending every day at the keys — what could fit better?
Here's the thing: at the time, I'm fairly sure the slang didn't even exist yet — or at least it hadn't reached us. The internet wasn't what it is today. But as it grew, "keyboard warrior" grew with it, and it grew in the wrong direction. Somewhere along the way, my proud handle became the universal term for someone posting aggressive, hostile takes from behind a screen. I didn't change; the words did.
By then the identity was already made — I'd even localized it, translating "warrior" into Indonesian to get kesatria, and built Kesatria Keyboard around it, knight's-helmet logo and all. And honestly, the translation saved me: kesatria on its own just means knight — honorable, upright, none of the baggage. So the name stays, the knight stays, and the story becomes this page. Not bad for a handle that's older than the insult.
From PHP, through physics, back to code
That SMK kid with the questionable handle did end up making a career of it — though not in a straight line. Back then, PHP was simply the thing. Our final project had to be built from scratch — no frameworks, because there barely were any to use. Then the ecosystem caught up: frameworks arrived, tooling arrived, new languages kept being introduced, and I rode that wave. Laravel in particular made my freelance projects a lot easier — I could ship for clients in days what used to take weeks of hand-rolled PHP.
Then came the detour. For university I picked Physics — basic science, nothing to do with programming — for the very rigorous academic reason that two of my four favorite teachers were physics graduates. It went about as well as you'd expect: my biology was terrible, my mathematical physics was worse. The one sanctuary I found was theoretical physics, because there I could lean on programming — wave simulations in JavaScript, simulations in Greenfoot, matrix transformations for fluid dynamics, and plenty more I've since forgotten. What I haven't forgotten is the price: that trap took me seven years to graduate. The consolation prize came at the end — it was 2018, the AI boom was on, and my bachelor thesis ended up being a self-driving simulation. The physics degree finally met the code.
Four companies, one education
My first proper job wasn't even PHP — it was Node.js, and it set the tone for a career that never sat still. Four moves so far, each one a different lesson. The first: building a ride-hailing system that lost to the competition, then pivoting the same company into mobile payments — my introduction to how fast a product can die and be reborn. The second: a health tech company with a genuinely good team, where I learned what "proper" engineering looks like. The third: e-commerce, in a highly dynamic team spread across countries — a company that eventually closed its doors entirely. And yes, closed, not laid off: I survived three waves of layoffs before the lights went out. These days I work in HR technology, a very specific corner of the industry.
Along the way the toolbox kept growing — languages, frameworks, infrastructure, and the soft skills nobody teaches you: shipping under pressure, working across time zones, watching a product fail without it breaking you. The job title says software engineer; the actual job is taking a messy problem and turning it into something that runs reliably in production.
And the keyboards became literal
Somewhere along the way, the keyboard part of the handle stopped being a metaphor. I fell into the mechanical keyboard hobby — switches, keycaps, group buys, the whole rabbit hole — andKesatria Keyboard became a blog and community for it. It was my first real taste of building something for an audience instead of just for myself: writing posts, growing a readership, running a site end to end. That site is currently migrating here, to live on as the keyboard section of this one.
Why this site
Sixteen-plus years at the keyboard, and most of what I know came from people who shared what they knew — forum posts, blog write-ups, documentation someone bothered to write. This site is me paying that back. The blog covers what I'm building and how: the decisions, the dead ends, the migration war stories, and the lessons from a career that took the scenic route.
It's also a workshop. Working as an engineer taught me how to build systems; running Kesatria Keyboard taught me that I like owning the whole thing — product, content, audience, not just the code. So the current chapter is building in the open: small tools, experiments, and eventually products worth selling. If any of it is useful to you, that's the point.