Blog / Article 002

Blefnk: A Short History of How We Got Here

Around 2008, a friend showed me this incredible thing called the internet. He had it. I didn't.

So I did what seemed perfectly reasonable: created a folder named Internet Explorer, gave it the right icon, and built my own little "websites" inside. Folders, TXT files full of random text, pictures from the computer, and drawings I made in Paint. What else does an internet need?

Then I proudly told another friend that I had the internet!

Technically, I wasn't lying. Mine just happened to be entirely offline. 😅

I'm Nazarii Korniienko. Nazar is fine, and online I'm usually blefnk. These days I'm building Reliverse, Rse, and Bleverse. But before any of those names existed, there was Windows XP, GTA, game servers, painfully slow websites, and a constant urge to make things work my way.

This isn't a perfectly dated timeline. Some years are approximate, and I restarted a few projects more times than I can count. It's more the story of how one curiosity kept leading to the next.

On this page: My first internet: Windows XP, games, and folders · SA:MP, Pawn, and the birth of Blefonix · When learning finally clicked · My third "internet": React and the modern web · WordPress, freelancing, and 1 Mbps of patience · When Bleverse was already trying to connect different worlds · Relivator, Versator, and the template that wanted to be everything · Citty, Consola, and the "I'll write a tiny wrapper" problem · From reliverse to Rse · My first "conversations" with AI in the terminal · How it all became Bleverse · Instead of a conclusion

My first internet: Windows XP, games, and folders

I think I first sat down at my cousin's computer around 2005, when I was about five. My essential starter kit: Windows XP, GTA Vice City, Max Payne, Tony Hawk's Pro Skater 4, NFS Underground, and Paint.

Let's just say age ratings weren't the center of family discussions in our village in western Ukraine. 😄

At first I played games and drew things. Then I started wondering how they worked, and whether I could make anything like them myself. We didn't have internet access at home for a long time. We did have folders, icons, and imagination.

Around 2011/2012, I finally got access to the real internet. Somewhere on YouTube or in an article, I discovered that you could inspect a webpage's code. Behind the familiar interface were HTML, CSS, and JavaScript.

So websites weren't just things you visited. They were things you could build.

I started searching, copying examples, changing them, and seeing what broke. Then came PHP, my first experiments with databases through phpMyAdmin, and a registration system of my own. I didn't fully understand the client-server split yet. But when clicking a button saved something, it felt like magic.

SA:MP, Pawn, and the birth of Blefonix

In 2013, I discovered SA:MP, the multiplayer mod for GTA San Andreas, and with it the Pawn programming language. I watched tutorials, modified examples, and tried writing my own game mode.

That became Indigo RolePlay. I abandoned it and restarted it more than once. In 2020, I decided to rewrite it from scratch. The name kept changing too: BRPSA, BMSA, Blefverse, Blefonix Metaverse, Blefonix RP, and eventually just Blefonix. These days, the idea has grown far beyond its original SA:MP server roots. That deserves an article of its own.

Here's something I recently dug out of my own Git history: on October 26, 2021, a public Blefonix RolePlay repository appeared under my old blefony account. Its README described a goal beyond copying another popular roleplay mode: we wanted a game that could entertain people while giving them interesting ideas and useful experiences. This was a team project, not something I built single-handedly.

Blefonix was already trying to grow beyond GTA itself. In November 2021, we were working on a website with documentation and information for players. I was becoming interested not just in game-server logic, but in everything that helped people actually use the project.

By early 2022, 20 Reasons to Play Here described a bigger idea called Blefverse: multiple games, shared player progress, and an economy where goods had to be produced and delivered instead of magically appearing. Most of it was a vision, not a finished feature set. I'll save the deeper story for Blefonix. But I have to mention one detail: an article promising twenty reasons somehow ended up with a twenty-first, about open source. 😄

Pawn was probably where I first understood how satisfying clear function names could be. I didn't know the phrase Developer Experience yet. I just liked code that almost explained itself.

Meanwhile, I was making YouTube videos about Minecraft, GTA 1, GTA: San Andreas, and SA:MP. Until 2015, I went by MrNetheless online; in SA:MP I used Naz_Korny (which later became Trevor_Fair). Eventually, I wanted a new name. That's how Blefonix came about, followed by blefony and blefnk.

It's funny how many of those names still echo through my projects. There certainly wasn't a master plan back then.

When learning finally clicked

Let me rewind a little, because another important story was unfolding alongside the games.

Until around 2017, I wasn't exactly the most dedicated student. But around 2016 or 2017, while I was at vocational school, something clicked. I suddenly found myself genuinely interested in Ukrainian and world literature, computer science, and, of all things, Microsoft Word.

I didn't just want to read other people's stories anymore. I wanted to write my own. Somehow, I ended up writing about 25 pages of a story I'd already named Bleverse: Out of Control. There was no platform back then. Bleverse was a fictional story.

Those pages eventually got lost. In 2024, I returned to the story and reconstructed the core of the manuscript from memory and a few old screenshots. New chapters and other stories followed. That journey, from school pages to Bleverse Read, deserves an article of its own.

I'll save the books, and some strange connections between them, for another article. For now, the important part is that Bleverse didn't start as a web app.

My third "internet": React and the modern web

I'd already dabbled in WordPress, a little Laravel, and other tools. Around 2017, I began getting into npm, Yarn, and React. My old notes disagree on some of the exact years, so I'm not going to pretend I can date every first install with archaeological precision.

I was genuinely amazed that a website could switch between pages without reloading the entire browser tab. After the web I knew, it felt like discovering another internet.

I watched CS50 at different points. Never finished it, by the way. But now I have proof that I did more than watch a video: in June 2022, I committed a Scratch assignment from Week 0. That same month, I was uploading little exercises in Python, C#, and C++. One of the earliest surviving Python scripts takes three numbers from the user and adds them up. I look at it rather fondly now. 😄

I still think about going back and finishing a newer edition of CS50 someday.

Even earlier, I used to imagine a magical being that could do all sorts of things for me. Over time, the fantasy became more technological. Today AI agents are a normal part of my work, but back then it was mostly a kid thinking, wouldn't it be cool if…

By the late 2010s, Next.js had joined the picture too. My package-manager habits kept changing as well: npm install, Yarn, pnpm, and eventually Bun. Each showed me a different approach to dependencies. None was a magical “no more problems” button.

I've even found Git traces of Yarn in 2021 and pnpm in Relivator by August 2023. That's evidence of use, not the exact date I first discovered either. The Yarn Berry, Plug'n'Play, pnpm, and Bun rabbit hole deserves its own article. We've still got several years of my life to get through here. 😄

WordPress, freelancing, and 1 Mbps of patience

In 2020, I built a freelance platform called Blefonix using WordPress. I even spent some money advertising it on Facebook and Google.

A few users showed up. But I couldn't solve the real problem: attracting enough freelancers and clients for them to actually find each other. Eventually, I shut the experiment down.

Some of its ideas later resurfaced in Bleverse Opportunities. My projects don't always die. Sometimes they just wait years for a new name and a second chance.

Between roughly 2020 and 2023, I spent a lot of time learning about UI/UX, accessibility, and inclusive design, including for my university thesis. I later published its text on my blog. Writing it made something clearer to me: there isn't one mythical "average user" you can design for and forget about everyone else. People have different abilities, habits, and circumstances. A good interface should make room for them instead of adding unnecessary barriers.

I was also doing more WordPress work for clients. The catch: the internet in my dorm sometimes barely reached 1 Mbps. I could genuinely fall asleep waiting for an admin page to load.

Not the most scientific way to choose a tech stack, but after enough of those experiences, I got tired of WordPress and PHP and returned to TypeScript and Next.js. 😄

When Bleverse was already trying to connect different worlds

An old announcement from August 1, 2023 reminded me of Bleverse Community. Petro Melnyk and I were presenting a social network, a place for work and freelancing, and a broader idea called Bleverse Spaces. The announcement was far more ambitious than the features we could confidently demonstrate. I would word many of those promises very differently today. But the desire to give different projects a shared home was real.

And it wasn't just about work. In August 2023, I was writing about Bleverse Utils, a collection of web utilities, and MF Studio, an idea for a music-making and learning platform. Relivator and my package experiments were growing alongside them. Apparently I was already trying to hug most of the internet. And wondering why a day only came with 24 hours. 🫠

Relivator, Versator, and the template that wanted to be everything

After WordPress, I became especially interested in eCommerce. I wanted a modern starting point for online stores without spending weeks on setup.

That became Relivator. The first big Git commit, dated August 12, 2023, already included Next.js 13, TypeScript, Drizzle, and quite a collection of UI libraries. Its README called it Bleverse Relivator: Website Builder, and its configuration pointed to relivator.bleverse.com. Apparently I was connecting these names much earlier than I remembered.

I initially thought of Reliverse as Relivator Universe. Later came Versator, with a somewhat more restrained stack. The repository appeared in 2024, while a commit marking the Relivator 1.3.0 to Versator transition is dated March 2025. Yes, I was a huge Vercel fan at the time. The name kind of gives it away. 😄

Relivator gradually found a community on GitHub. I haven't worked on it as actively as I'd like lately, but I still want to return to both Relivator and Versator.

Here's the funny part. Around 2023, I thought it would be brilliant to combine Drizzle and Prisma, PostgreSQL, MySQL and SQLite, NextAuth and Clerk in a single template, and let people choose their preferred combination.

Flexible in theory. In practice, it made me wonder whether I needed a tool that did more than generate a project. Maybe it should help maintain the project after generation, too.

That question led to the next big detour. Incidentally, the Relivator 1.2.6 commit from August 2024 already had an entire zoo of scripts for checks, migrations, updates, and dependency management in package.json. Not all of them were great ideas, but my interests were becoming rather obvious.

Citty, Consola, and the "I'll write a tiny wrapper" problem

I wasn't yet comfortable enough with Node.js and TypeScript to invent great CLI DX from scratch. I looked at Commander.js, yargs, and others. Commander worked, but its API felt a little heavy to me, especially from a beginner's perspective.

Then I found Citty by unjs. I loved the approach. Huge thanks to the unjs team for making tools that feel so nice to use. ❤️

For terminal output, I found Consola. Winston felt too heavy for what I needed, and other small libraries handled colors so I wouldn't have to write ANSI codes myself.

Then I developed a case of bundlephobia. I kept inspecting dependencies and package sizes, thinking, what if I just wrote a little wrapper of my own?

As best as I remember, the first experiments were around console.*, with help from articles, videos, and the GPT-3.5/GPT-4 models available at the time. Then ChatGPT and I started figuring out how to publish npm packages. Even a tiny library involved a surprising amount of repetitive work.

I found unbuild and soon asked myself: what if a CLI could build and publish my packages for me?

You start out trying to remove a little routine. You end up with a new project. We'll be returning to that pattern. 🫠

From reliverse to Rse

The CLI kept growing. I named it reliverse, created organizations on GitHub and npm, partly so I could use @reliverse/cli, and started @reliverse/prompts alongside it. Those experiments eventually grew into Rempts, Relico, Relinka, and plenty of other things.

I can now pin down at least part of that history. In an older Reliverse repository, the March 2024 README suggested running an early CLI v0.3.0 with go run .. Then on April 20, 2024, I committed a move toward TypeScript and Bun. Old Reliverse kept changing its language, architecture, and even its purpose.

That same year brought @reliverse/prompts, an early ancestor of Rempts, still mainly a library for interactive CLI prompts. Only later did it evolve into a wider system of commands, plugins, and contexts.

At the end of 2024, I made another attempt to explain this collection of ideas: Advent of Bleverse, a series of posts about different parts of the ecosystem. Even its original schedule couldn't contain everything. In the surviving Advent text, I was already separating two tracks: Advent of Reliverse, more for developers and open source, and Advent of Bleverse, for a broader audience and products people could enjoy without knowing TypeScript. Apparently I was already looking for the boundary between today's Reliverse and Bleverse. That document kept receiving edits, though, so I won't pretend every line dates to a specific day in December 2024.

It also captured another old idea: reliverse.org as a chat with Reliverse AI, eventually helping people create, launch, and manage projects alongside Reliverse CLI. Eventually is doing important work in that sentence: it was a public vision, not proof that the whole workflow already existed. It's funny to see some of those questions resurfacing in Rse today, even though the solutions look very different now.

Later, I experimented with teaching programming through small stories: a website became a house, a project became a car, and a technical tutorial gradually started accumulating its own lore.

Back then, I wasn't nearly as careful about separating an idea, a prototype, an announcement, and something a stranger could actually use today. I'm trying to get better at that. It's part of the story in Article 004 (planned for 2026-11-18).

I don't want to pretend this all happened according to some perfect plan. Ideas appeared, disappeared, and came back in different shapes. I'm reconstructing parts of the naming history from memory.

When I wanted package builds to stop depending on the CLI's own dependencies, I started working on a separate tool. At first, I called it Relidler. Then I realized that not every tool needed the Reli prefix.

So it became Dler. There's a little pun hiding in the name too: bun + dler = bundler. I even found the exact rename commit: May 4, 2025. I was already happily experimenting with Bun by then, so it was a deliberate little joke, not some weird prophecy. 😄

And the need to work with lots of my own packages without pretending each experiment was a finished npm release eventually led me toward RPR.

What began as a nicer terminal message was becoming infrastructure for an entire ecosystem.

There was also a very practical annoyance: I got tired of typing reliverse in the terminal. So I shortened the command to rse. There's a specific May 25, 2025 commit renaming @reliverse/cli to @reliverse/rse. By then, Rse was gradually picking up AI features, but it wasn't yet the environment I'm trying to build today.

Eventually, that became much more than a shorter CLI name. I wanted an environment for projects, tools, models, and agents, not just a collection of commands. Today I think of Reliverse primarily as an ecosystem of tools and Rse as one way to use them and get work done. They don't need to be the same product.

My first "conversations" with AI in the terminal

Before full-blown agents, I tried all kinds of things: Claude 3/3.5 in Cursor, the Vercel AI SDK, early Reliverse AI experiments, and simple CLI responses to messages.

Some responses didn't involve a model at all. I even found the actual code: my conversation.py from October 5, 2023. It had a dictionary of predefined answers: type name, and it would introduce itself as a simple AI created by Bleverse; type bye, and it would politely say goodbye and exit. A rule-based chatbot, not an LLM.

It looked as if the AI was incredibly polite. It didn't even have to call a model. 😂

ChatGPT eventually became something close to the childhood idea of an assistant that could understand what I wanted. I also learned pretty quickly how confidently language models can be wrong.

These days, AI helps me research, edit, and write code. It helped me edit this article too. But these are my memories, drawn from my own drafts, notes, and what I could still recall. I didn't ask a model to invent my childhood for me.

How it all became Bleverse

At some point I realized I didn't just want to build tools for building tools. I wanted to build the things people actually use: apps, games, creative spaces, and communities.

Things you could use, create with, or simply enjoy without knowing anything about Bun, TypeScript, or the architecture behind them.

That's how the old Blefonix and Blefverse ideas, the manuscript already called Bleverse, experiments in music and communities, Relivator, and newer developer tools gradually came together into something larger: today's Bleverse. None of it had to be part of one grand plan from the beginning. Meanwhile, coding agents let me move faster, but also taught me something less exciting: generating lots of code is much easier than responsibly opening it up and maintaining it.

That's the story of Article 003 (planned for 2026-11-16), in which I almost pushed a year's worth of work in one commit.

Instead of a conclusion

Looking back, it's a series of strange turns. GTA led me to Pawn. A love of literature gave me the first Bleverse manuscript and its name. Freelancing and slow internet pulled me back toward TypeScript. And a soft spot for good CLIs grew into Reliverse. Eventually, those different threads started coming together.

There seems to be a thread through it all: I like tools that make sense, and I like the idea of people being able to create more without spending all their energy on repetitive work.

As a kid, I made an internet out of folders because I didn't have the real thing. Today I can open a real bleverse.com, even though my head is still full of things that aren't on it yet.

Now comes the interesting part: building those ideas and opening them up, one at a time. And not just for myself.

Back to top

Author: blefnk · Language: English · Series: Introducing Bleverse

Previous article · All published articles

Built with BVF and UIR. No account required. RSS · GitHub · Community