Tools do not ask for loyalty.
They earn trust by staying useful, honest and calm.
Tools do not ask for loyalty.
They earn trust by staying useful, honest and calm.
It does not try to own your time.
It tries to respect it.
It does not try to own your time.
It tries to respect it.
You eliminate behaviours that try to predict or influence.
You avoid unnecessary noise.
You build interactions that do not compete for attention.
You eliminate behaviours that try to predict or influence.
You avoid unnecessary noise.
You build interactions that do not compete for attention.
You start asking questions like:
Does this feature help the user, or does it help the app?
Does it create trust, or dependency?
Is it aligned with the user’s intentions, or is it trying to shape them?
You start asking questions like:
Does this feature help the user, or does it help the app?
Does it create trust, or dependency?
Is it aligned with the user’s intentions, or is it trying to shape them?
No suggestions, no engagement loops, no subtle nudges.
If you open the app for ten seconds, do what you need and close it, that is success.
The app served its purpose and respected your attention.
No suggestions, no engagement loops, no subtle nudges.
If you open the app for ten seconds, do what you need and close it, that is success.
The app served its purpose and respected your attention.
A good relationship is not defined by how much time you spend together, but by how it makes you feel when you interact with it.
Calm, clear, predictable.
Not demanding.
A good relationship is not defined by how much time you spend together, but by how it makes you feel when you interact with it.
Calm, clear, predictable.
Not demanding.
Every version carries a little piece of who you are becoming as a developer.
And with each release, you learn to trust the process a bit more.
Every version carries a little piece of who you are becoming as a developer.
And with each release, you learn to trust the process a bit more.
It is vulnerability.
It is exposing your work, your choices and your blind spots to the real world.
It is equal parts excitement and humility.
It is vulnerability.
It is exposing your work, your choices and your blind spots to the real world.
It is equal parts excitement and humility.
Users start writing to say that something feels smoother, or clearer, or easier.
A small detail you polished gets noticed.
A regression you were worried about never shows up.
You exhale.
Users start writing to say that something feels smoother, or clearer, or easier.
A small detail you polished gets noticed.
A regression you were worried about never shows up.
You exhale.
Not fear of bugs, but fear of disappointing someone.
When thousands of people trust your app for their books, movies or habits, every update carries the weight of that trust.
It is a responsibility you feel in your chest.
Not fear of bugs, but fear of disappointing someone.
When thousands of people trust your app for their books, movies or habits, every update carries the weight of that trust.
It is a responsibility you feel in your chest.
Once the build is out, it belongs to the world.
If a crash appears, you fix it.
If a user gets confused, you improve the flow.
But in that moment, all you can do is wait and hope you understood the product well enough.
Once the build is out, it belongs to the world.
If a crash appears, you fix it.
If a user gets confused, you improve the flow.
But in that moment, all you can do is wait and hope you understood the product well enough.
And the waiting starts.
Not the technical waiting, the emotional one.
The App Store review, the rollout, the first user who downloads it, the first email that arrives after the update.
Your mind tracks every small sign like a seismograph.
And the waiting starts.
Not the technical waiting, the emotional one.
The App Store review, the rollout, the first user who downloads it, the first email that arrives after the update.
Your mind tracks every small sign like a seismograph.
You have tested it a hundred times, but you also know that real users will find edge cases you never imagined.
There is always a quiet moment where you ask yourself if you missed something important.
You have tested it a hundred times, but you also know that real users will find edge cases you never imagined.
There is always a quiet moment where you ask yourself if you missed something important.
It is a conversation between the developer and the user.
Quiet, simple and built with the kind of intention that does not scale but does endure.
It is a conversation between the developer and the user.
Quiet, simple and built with the kind of intention that does not scale but does endure.
Not that I get to build whatever I want, but that I get to build things that feel aligned with how I think.
If the apps feel human, it is because they come from a human, not from an optimisation process.
Not that I get to build whatever I want, but that I get to build things that feel aligned with how I think.
If the apps feel human, it is because they come from a human, not from an optimisation process.
I see them as personal artefacts.
They are not defined by scale, but by intention.
They carry the biases, the limits and the care of the person who built them.
I see them as personal artefacts.
They are not defined by scale, but by intention.
They carry the biases, the limits and the care of the person who built them.
Every time I say no to a feature, I am protecting something that matters to me.
Every time I refactor code, I am shaping the app in a direction that feels more honest.
Every time I say no to a feature, I am protecting something that matters to me.
Every time I refactor code, I am shaping the app in a direction that feels more honest.
No recommendations, no automated behaviour, no attempts to influence user decisions.
Not because these things are bad, but because they do not match how I want tools to behave in my own life.
No recommendations, no automated behaviour, no attempts to influence user decisions.
Not because these things are bad, but because they do not match how I want tools to behave in my own life.
I like clarity, predictable navigation and features that stay quiet until the user needs them.
This is why the apps feel calm.
Not by design trend, but by personality.
I like clarity, predictable navigation and features that stay quiet until the user needs them.
This is why the apps feel calm.
Not by design trend, but by personality.
They avoid noise because I avoid noise.
They do not push notifications unless absolutely necessary because I dislike being interrupted.
These are not marketing angles.
They are personal defaults expressed in software.
They avoid noise because I avoid noise.
They do not push notifications unless absolutely necessary because I dislike being interrupted.
These are not marketing angles.
They are personal defaults expressed in software.
It is not who I am today, but it is part of how I got here.
And in a strange way, it keeps me honest.
It reminds me that in a few years, today’s code will also look unfamiliar.
And that is exactly how it should be.
It is not who I am today, but it is part of how I got here.
And in a strange way, it keeps me honest.
It reminds me that in a few years, today’s code will also look unfamiliar.
And that is exactly how it should be.
Growth does not happen in big leaps.
It happens quietly, diffused across thousands of lines of code and hundreds of decisions you barely remember making.
Growth does not happen in big leaps.
It happens quietly, diffused across thousands of lines of code and hundreds of decisions you barely remember making.