Marco's Blog

Where I rant to no audience

It's me!

Enjoyable things to build

Oct 20, 2026

#build#tools#learning

I enjoy learning new programming languages, and for that I have a few kinds of applications I like to build:

Here’s why:

CLI Tools

Useful to learn OS operations - manipulating files, writing to STDOUT, parsing CLI arguments, and so on.

I also use CLI tools every day, so I can judge well whether I like its interface, functionality, documentation, and developer experience.

Web Servers

The internet is a core primitive for building useful applications. I like to create web servers to test the ergonomics of each language when building for the web.

With them, I can test creating HTTP servers, routing, middleware, query params, headers, cookies, fault tolerance, and much more.

I’ve built so many APIs at this point that I can easily ramp up on a new language, understand the concepts, and have it working in a few minutes.

Web Apps

When building for the web, we need to care about how we display data to our customers.

We also need a server, a database, and some HTML and CSS. After building it, we need to host the app, add a domain, and make sure it loads and works as expected.

With that, we can learn several concepts - build pipelines, hosting, e2e tests, and more.

Games

I’m not a great game developer, but I do have a shallow understanding of the main concepts.

Games are useful for experimenting with image rendering, user inputs, error handling, compiling, assets, network communication, and more.

Games are great learning projects and fun to build.

Programming is solved, why are you learning new things?

AI is a useful tool, and it can generate all of this for me - but building these things is how I actually learn, and that’s not something to outsource. Let’s create a culture of continuous learning.