Special
Table of Contents
I love diving deep into things. Grabbing onto something and sinking in. Drowning in a new subject, wrestling with it until you feel like you’ve touched the bottom. It’s one of the best feelings I know.
The problem is, I never finish most of my projects.
How It Works #
You pick up a new project — and a new project almost always means a new technology, framework, or language. The first stage begins: immersion. You absorb new concepts, terms, and categories. You grasp the logic of the core entities, master the key mechanics. It’s incredibly hard — and incredibly interesting. The most alive, most exciting moment.
And that covers 80% of the essence.
Then it’s time to learn the remaining 20%. And here’s where the good old Pareto rule kicks in: if you absorbed the first 80% in 20% of the time, the remaining 20% will take 80% of your time. The boring 20%, made up of edge cases, legacy cruft, error handling, configuration, and general tedium.
Some things are better left unfinished. Why bother?
The technology has been learned, the main concepts sorted out — the project gets shelved, off to the Land of Unfinished Projects. Maybe someday I’ll pull it back out, dust it off, and finish it.
Spoiler: no.
Unfinished ≠ Non-Working #
An important caveat: unfinished doesn’t mean non-functional. Everything I’ve worked on was generally fully operational at the MVP level. It did its basic things. Sure, it wasn’t pretty, parts of it were written atrociously, and “patterns” and “best practices” stood to the side having a nervous cigarette — but it worked.
To turn those projects into something more than toys would have required polishing, refining, and generally prettying them up. Packaging. Writing documentation. And all of that is an enormous amount of work, incomparable to quickly hacking together an MVP. You need a massive amount of motivation and a trainload of free time to actually do it. As the saying goes — the first 90% of a project is no harder than the second 90%.
Project ≠ Product #
And I haven’t even touched on promotion. Taking a project public, releasing it as open source, attracting users and contributors, generating community interest — that’s a whole other story. Marketing, PR, outreach. If you look at a project as a product, promotion becomes the bigger cost center, and the final outcome is determined not so much by the quality of the product (though that matters, of course) as by the resources poured into launching it. That doesn’t mean money is everything — by “resources” I mean the full stack: time, energy, nerves, and money.
So the code a developer writes is only a small fraction of what makes up a product. For those grinding away on a startup and dreaming of launch day — this may not be the most cheerful news. But it’s true: the code is the easy part. A conquered market, a customer base, a name, a brand, experience, and reputation — those matter far more.
Special #
So why am I convinced that this project will be different, and that I’ll actually see it through to a finished product?
Because it’s special to me.
VPN was a side thread in my IT life for many years. Since 2018, somewhere in the background, a server quietly hummed along. I’d fix things occasionally, keep an eye on the space. I cycled through protocols — IKEv2, OpenVPN, WireGuard. I switched to VLESS in the early months after its release, when working clients for it could be counted on one hand. It was already obvious then that this was the future.
But all of that was a side effect. An amusing hobby on the periphery. November of last year changed everything.
When my VPN disappeared after another wave of carpet bans, I suddenly realized I hadn’t just lost a service. I’d lost infrastructure. YouTube — for quickly figuring out some obscure geeky feature in five minutes. LeetCode — for leisurely, pleasurable algorithm grinding. And most importantly — AI agents.
By summer 2025, I’d gotten thoroughly hooked on AI steroids. Agents had stormed into my life — and life divided into “before” and “after.” It seems like I hadn’t written a single line of code by hand in six months, like some kind of cave person. My brain started to quietly atrophy — and I only noticed it when the agents went dark along with the VPN. The feeling of helplessness, alone with a 30,000-line codebase you’d barely even looked at — you don’t forget that.
I drew my conclusions. Now I trust agents less, write more by hand, and always read what they produce — oh, the interesting and terrifying things you find in there sometimes!
But the main conclusion was this: VPN is not just another service. It’s infrastructure — the infrastructure my access to the technologies I can’t imagine developing without depends on directly. AI tools, cloud services, IDEs, version control platforms, learning resources — all of it, without a VPN, ends up behind a locked door.
Priorities #
That’s why I decided to temporarily set everything else aside and give this project the highest priority.
I don’t want to cobble together yet another hacky solution that falls apart after the next wave of blocks. I want to build a solid infrastructure solution for the long term — resilient, scalable, working even under the harshest conditions.