Skip to content

Growth, Challenge, Complexity and Meaning

I don't enjoy learning for learning's sake. I am always looking for the right level of challenge, complexity, and meaning. That's the origin of all my projects. Here is how it works.


Free thinking
3 min read
On this page

Easy and complex are both not fun 🤨

I reached a point where most of my personal project ideas are either too easy or too complex:

  • Easy: I already know the solution, I would just need to code fast 🫠
  • Complex: I have an idea of the solution, but I know the scope of the project is huge 🤯

The key is finding something both meaningful and challenging, but also manageable 👀

This is what I mean 👇


Unknown and growth

As you get more and more competent on a subject, the surface of what you consider "fun" shrinks.

Initially, everything is a challenge full of discoveries. But after a while, most projects have no unknowns, just execution.

And it's less fun 🤷🏼‍♂️

I don't enjoy something I know how to do in advance. That's my current state in frontend development: only few "real challenges" are left that would push my curiosity 🤔

Without growth, there is not much fun.

Challenge and complexity

That's not to say I know "everything". Quite the opposite. But:

As you master a subject, "challenge" and "complexity" tend to grow together 🤯

That's to say: projects that challenge me usually have a large scope and complexity.

And high complexity means months of work. And that goes against the idea of a "(small) personal project" 💁🏼‍♂️

Meaning

Then there is the question of meaning:

I don't like "learning" in a vacuum, I want to create something meaningful for me or people around me (i.e. something that someone will use after I am done with it) 🫡

Every (personal) project starts with meaning. I have a need, building an app can solve it, so I do it.

Does't matter if later it turns out I didn't really need it after all, but at least the initial spark was there ✨

That's a problem when you are minimal and focused (like me). I don't distract myself with too many interests, because I prefer investing time in mastering a few skills at the time (vertical investment).

But that also means that I have few needs, and therefore a small poll of "ideas" at the time (outside of what I am already doing) 🤔

Example of meaning and challenge

Sometimes I find something. A recent example is my IndexedDb PR for effect:

  • I am missing a powerful (and usable) database on the client
  • Dexie works, but it's not as type safe as I like
  • I want the effect power for a database on the client

Result: let's build an IndexedDb wrapper for effect myself 💯

This combines challenge, meaning, and manageable complexity:

  • Challenge: learn about IndexedDb and more about the internals of effect
  • Meaning: I will personally use this module a lot if it works
  • Complexity: it's a single module, with a limited scope

When all the pieces fit together, I am lost in the flow of the work for weeks


As mentioned, my PR for IndexedDb in effect is live:

Meanwhile, I also started exploring LiveStore for local-first:

Meanwhile, if you have an challenge that you think may interest me, send me an email to let me know 🫵

See you next 👋

Get next Wednesday’s issue

The next focused idea arrives by email. Free, and easy to leave at any time.

Free, no spam, unsubscribe anytime. See the privacy policy.