Version 3: bolota.eu

Posted on


One Year Later

The last time I wrote about bolota.eu was July 2024, over a year ago. Since then, I kept making small tweaks to it, and together they added up to some pretty significant changes from how the website used to be.

From version 1 to version 2, the changes were pretty drastic: I rewrote the whole website from just plain React and Javascript to Next.js with Typescript and MDX. This time around, I didn't do any crazy rewrite or anything of that sort: The code idea remains the same: blog posts from Markdown(x).

In general, I feel like my vision of this website is slowly maturing, and it'll probably keep evolving over time. For now, I'm happy using it as a scrappy project where I can experiment, build small features, break things, share ideas in new ways, and see how it develops. With that said, here's what's actually new:

Newsletter

First things first, and maybe most important of all, I started an email newsletter. Now, every time I write a blog post, I'm sending out an email to everyone who cares.

Why did I decide to start something like this? Well, as much as I like writting, I think part of the point of writting is to have things be read. And for that matter, distribution does help. I've already decided to have my own blog, outside of something like Substack, which would have made it easier for people to find and follow along, so I need some way of keeping those interested updated each time.

To do that, I'm using a platform called MailerLite. It's simpler than most email marketing tools, which is exactly what I wanted. It handles the basics well: managing a list of subscribers, making it easy to unsubscribe, sending emails to everyone at once, and providing a clear dashboard with stats on opens, clicks, and more. Finally, it includes a simple API for subscribing, which I can then embed in a form and put in the website. Here it is, in case you want to subscribe:

Web Analytics

Another thing I didn't know anything about, was whether people were visiting the website or not: things like unique visitors, page views, session duration, etc. For that reason I decided to add some sort of service that would track these metrics.

Since the website is hosted on Vercel, I started by using Vercel Web Analytics for a few months. It was fine, and it gave me all the metrics I wanted, but it had one crucial flaw. I used to get this email from Vercel every few weeks:

Your account has surpassed the Web Analytics event limit (2,500) for the free tier. New data collection has been paused.

Given that this website is not necessarily moving mountains in traffic, I decided to look for alternatives that could track all the traffic within their free plan. And I found just that with Posthog, the service I'm using now. It's great, and it tells me some pretty basic stuff. Here's some stats on the last few months: I'm getting somewhere between 20 to 100 unique visitors each month.

Statistics for traffic on Bolota.eu

Projects

For a few months, I added a new tab in the navigation of the website called projects. It was supposed to showcase the projects that I had been working on, with cards that looked like this:

2024

Spotify Controller

Device to remotely control spotify.

2024

Learn Anything (Lanny)

Turn any text document into a Quizz using AI.

GitHub

The idea was ok, but I realised that it was a bit redundant. The posts both speak for themselves (as I write about these projects anyway), and are far more interesting by themselves than these project cards. I decided to simplify the website as much as possible, and therefore ended up scraping this "projects" page entirely.

A bunch of small things

On top of these larger changes that happened, there are all kinds of tiny stuff sprinkled about. For example, when blog posts are part of a series, you can now easily navigate between them from within each (check the top of this post for an example of that).

Adding to that, I've generally been getting more used to embedding components in blog posts using MDX. I'm particularly happy with the visualizations of the Sudoku algorithms, from this post.

Sudoku Visualization

This sudoku is classified as expert difficulty.

3
4
5
2
3
9
9
5
6
8
6
2
7
6
2
4
3
5
4
7
2
3
6
8
Speed:

And the Connect Four "chess.com" like UI from this post.

Connect 4 Game
a
b
c
d
e
f
g

Play as:

Eval Bar:

Apart from the blog posts, I've also been having fun in other parts of the website: in the about page, I added some random statistics (of my chess.com accounts and my leetcode solved problems). In the homepage, I added icon specific icons for each post, to finally bring some color to this very green website. In the "backend", I started using Uploadthing to handle my images and videos, instead of using the public folder. This way, I have slightly better performance when loading media, all while getting to keep my repository much lighter.

And for now, I think that's most of it. As it has become tradition, here is a screenshot of how bolota looks right now, for posterity's sake.

Screenshot of Bolota.eu v3