I've written 20+ articles introducing complex algorithms, budgeting hacks, and human nature. Spent hours getting the SEO right, obsessing over load times, setting up "Five writers each with their own perspective" niche - everything to make sure this site actually feels good to be on.

And somehow never got around to the one thing that makes it personal: introducing myself beyond that AI-generated bio on my author page. Anyway. Let's fix that.


How This Started

On a random day, I discovered that Windows lets you write .bat files to perform tasks - displaying text, taking input, doing basic math, and more. I was hooked instantly, and started messing around.

I made a simple chatbot, when I open it, it greets me, when I say "Hi!", it says Hi back, and when I say "How are you?", it tells me to talk to real people instead. It's cute!

At the time, it made me feel like a genius who'd invented AI before it was even a thing. If I'd hard-coded a few more replies and told you exactly what to ask it, you'd have walked away thinking it actually understood you - and you'd never have known any different.

A CLI based chatbot A calculator made in terminal

I made a script that cleans my laptop's temporary files on every bootup on its own. Does it change my life completely? No. Does it make me sleep better at night? HELL YEAH!

As small as it might sound, it started something new in me. From that point, I started making more like it. I made a calculator, a quiz, a game where your choices change the outcome.

There's a pattern here that I didn't notice at the time: each one needed a bit more back-and-forth than the last. I didn't just want code that ran and did something - I wanted it to respond to me.

Which eventually led me to a YouTube tutorial on building a Space Invaders clone in Python. I copied it line-by-line and told everyone I'd built it myself. Those who believed me were shocked, and those who didn't... were right!

That tutorial was the last time I really followed one. From there I kept going on my own, deeper into game development, first in Python, then in C++. Eventually I was writing my own engines and graphics-intensive tools.

At some point I got so annoyed at Super Mario Bros' jump timing (you have to press jump on the exact frame you land, hold it a moment too early while still in the air and it just doesn't count) that I died one too many times and decided the only fix was to remake the entire game from scratch. My version. My rules. Hold jump whenever you want, Mario jumps the moment he can.

It took me a year, but I rebuilt it down to the sub-pixel. Not because anyone needed it to exist, but because I wanted to know if I could. When I told my friends why, the reaction was less "that's impressive" and more "bro, are you okay?"

I've been hooked on technology ever since - I've learned a lot, and I have plenty of it worth sharing. That's why I wanted to be part of Elvin: not to keep any of this to myself, but to put it out there - opinions you won't find in a textbook, for whoever needs to hear them. In my own voice.


What I Actually Use Daily

Most tools I try get uninstalled within a week, either because they get in my way, try to do too much, or just don't feel like mine no matter how long I use them. I've never really cared about what's popular or what everyone else swears by. It's gone if it doesn't sit right with me.

Every time I hit a wall with something, I'd go looking for something better. Download it, try it for a few days, sometimes a few hours, and see if it clicked. Most didn't.

What's left is a short list of tools I've actually stuck with, not because they're the best ones by any review or ranking, but because each one earned its spot by balancing: "staying out of my way" and "staying with me". These are the four.

Visual Studio Code - As the IDE

VS Code icon

VS Code gives me the best of both - intuitive enough to just open and use on day one, but flexible enough that I've slowly made it into something that's completely mine. Every extension, every shortcut, every weird little tweak - it controls me as much as I control it.

At this point I don't really "open VS Code" so much as sit down and start typing - the shortcuts, the layout, the little things I've configured over the years are just muscle memory now. It's stopped feeling like software I use and started feeling more like an extension of how I think.

Aseprite - For Editing Images

Aseprite icon

Aseprite is the rare tool that just works the moment you open it. No bloated startup, no fifteen-minute tutorial before you can do anything useful, and full pixel-level control over every image with no smoothing, no guessing, no fighting the software to get what I want. For someone who'd rather build a tool than adjust to one, this is one of the few times I didn't have to choose between the two.

Git - For Version Control

Git icon

I started using Git after I lost a file with over a thousand lines of code and had to rewrite the whole thing from memory. It just works effortlessly and integrates seamlessly with VS Code.

Git is also what saved Elvin. My hard drive failed a while back. Everything on it was gone, unrecoverable. The only reason Elvin still exists is that I'd backed up the production code with Git.

WhatsApp - As a TODO List (yes, I know)

WhatsApp icon

Great ideas don't show up when you want them. They show up whenever they want, usually while I'm already busy doing something else. If you don't catch that moment, it's gone.

What you need in those moments is something you can reach instantly, from anywhere. And what better than the app already sitting on your phone, collecting good morning texts. So that's what I use. The idea goes straight to WhatsApp the second it hits, so it doesn't slip away. Later, when I'm at my laptop, I open the chat, pick what to work on, do it, and delete the message. Not complicated, because it doesn't need to be.

This is exactly how I built Elvin, too. I use the site the way a reader would, always looking for something to improve. When an idea strikes, it goes straight to WhatsApp, and gets built later.


I Just Like Making My Own Problems

I don't really like using tools that already exist. If I need something specific, my first instinct isn't to search for it, it's to build it myself.

Is that practical? No. Is it a little dumb spending days or weeks on something I could've just downloaded? Probably. But every time I've done it, it's taught me something a downloaded tool never could.

Setting up a new project used to mean the exact same handful of steps every time: designing the file structure, naming things, writing the same boilerplate from memory. Just to get started. Get one step wrong, nothing works. So I built something that asks me once and hands me something ready to go.

Sending a project to someone else used to mean the same thing: clearing out the clutter, gathering dependencies, compiling, packaging, zipping, all by hand, again. So I built something for that too. One click, and 20 minutes of tedious work just happens on its own.

Underneath both of those were three years of writing my own engines, in a world that doesn't forgive small mistakes. You learn to think about every input before it happens. Every way someone could break the thing you built. Every tiny detail that decides whether something feels right, or just feels off.

None of it felt connected at the time. It was just how I liked to work.

What It Led to

Years later, Elvin gave me a real problem to point all of it at.

The other four writers on Elvin weren't supposed to be technical. The whole idea was five different people with five different voices, not five tech experts. For a while, I was the one converting everything to code myself, they'd write, I'd translate it into a working page. It worked. Technically. But they're my friends, not just writers on a site I run, and none of them were comfortable with me quietly doing their part of the job on top of my own.

So I tried teaching them basic HTML instead: headings, paragraphs, quotes, images, the handful of tags they'd actually need. That didn't go well, and not because they weren't capable.

The real problem showed up even for the ones who picked it up fine. A good post isn't just headings and paragraphs. It's a properly sized image where it matters, a list where a list makes something clearer, a table, maybe a chart, whatever the writing actually calls for. Teaching someone to write an <h2> tag is one thing. Teaching them to hand-size an image, structure a table, or get a list to render right is a whole different ask, and none of that was what they signed up for. They wanted to write, not learn markup just to make a post look finished.

So I kept fixing things after they published instead. A missing closing tag here. A broken image path there. Alt text nobody remembered to add. It wasn't their fault. I'd handed four writers a tool built for programmers and asked them to write like philosophers.

I needed them to write in plain English, but the site only understood code. There had to be something in between. Which for a long time, was me.

So I built something that let both be true at once. A proper editor. They write exactly how they want to, heading here, image there, in whatever order makes sense to them, and it comes out exactly how I need it to: clean, structured HTML, with nothing left to close because nothing was ever opened. Drop an image in, and it's placed, renamed, and optimized without anyone touching a file path. Hit publish, and everything else, formatting, image handling, SEO, actually going live, happens on its own.

A block based editor made for editing posts on Elvin A block based editor made for editing posts on Elvin

It took me a month to build. It's not the most technically impressive thing I've ever made, not even close. But watching four people who used to dread publishing now do it without thinking twice, and knowing I'm no longer the invisible last step in every one of their posts, feels different from anything else I've built.

It was only after I'd built it that I noticed what I'd actually done.

The part that sets everything up before you even start? That's the project script, just pointed at someone else.

The part that quietly finishes everything the moment you're done? That's the packaging script, doing the exact same job, just for five people instead of one.

And the reason none of it breaks no matter how someone uses it? That's three years of engines, still doing the only thing they ever taught me: plan for the frame nobody else thinks about.

I never set out to build any of that twice. I just kept solving the same problem, over and over, without noticing it was the same problem.


Just a Guy Who Likes Making Computers Do Stuff

None of what I just told you makes me special. If anything, it's the opposite. I just really like it when I do something and the computer does something back, and I've spent a strange number of years chasing that one feeling in different shapes, a chatbot, a bootup script, an engine, a platform.

I'm not a full-time writer. I'm not a professional anything, really. I'm just someone who happens to like making computers do what I want, and happened to get lucky enough to build a place where four other people could do the same, in their own way, saying whatever they actually want to say.

That's genuinely it. That's the whole story.

And if you don't believe any of this actually happened, or just want to see more of it, here's my portfolio. Curated, obviously, but real.

If you've got questions, or you're building something of your own and want a second opinion, or you just want to tell me that a static site generator would've done all this for me in a weekend, the comments are right here. I read all of them.


Isn't using WhatsApp as a to-do list incredibly messy?

Keep it simple by using it strictly for raw, immediate captures. The second an idea pops into my head, I text it to myself, and then I force myself to delete the message once the task is actually finished. If you let ideas pile up there for weeks, the system falls apart, so the trick is daily, ruthless cleaning.

Why build a custom editor from scratch instead of just using WordPress or a standard markdown tool?

Avoid the temptation to force non-technical people into systems that feel like homework. My friends just wanted to write, not fight with formatting, worry about image sizes, or accidentally break a layout they'd finished writing hours earlier. Building a custom, block-based editor took a month, but it removed all of that friction and let them just focus on saying what they actually wanted to say.

I want to learn to code and build my own tools, but where do I start without getting overwhelmed?

Start ridiculously small by automating a tiny, annoying task you do every day on your computer. Write a simple script to clean up your desktop, rename files, or open your favorite apps on bootup. You do not need a massive project to learn; you just need a real, personal problem that you are excited to solve.