One day it comes
This whole app rests on a single idea. The idea is older than the code under it, and it fits in three sentences.
The idea
If I keep working on myself, one day I will be a better person. Not tomorrow, and not because today is anything special. It just has to be repeated.
And it doesn’t matter how many times I fail. A failure isn’t the end, it’s one day that didn’t work out. Those don’t count — not for you, and not against you.
As long as I keep going, one day it comes.
That is why there are no red crosses here, and no chain that “breaks”. The calendar counts only the days that worked — because that is the only number that takes you anywhere. The rest are ordinary days.
Why it exists
The first calendar it was written for was about sugar and junk food: how many days in a row went by without them. But nothing in the domain says a word about addiction. The entities are called calendar and day — never “clean day” or “relapse”.
Because the same calendar works for workouts, pages read, days without a cigarette, or a morning walk. Everybody brings their own reason and the app does not need to know it. It never asks.
What people write down here is intimate. So a calendar is private without exception until its owner says otherwise, and no note, mood or email address ever reaches a log file.
“What matters isn’t who you are today, but who you will be tomorrow.”
From a wooden spoon to Symfony
Hi, I’m Jozef Môstka. My way to code was not a straight one — I trained as a cook, though I didn’t stay in the kitchen long. I wrote my first programs at six, but what really got me was GameMaker, at sixteen.
I worked out that games weren’t what I liked — the tools that make them were. Today, after 24 years of professional development, budem.sk is my own patch of ground: where the rules of corporate work end and the plain joy of building starts.
The motto on this site comes from my book. The calendar is the same sentence, said in code.
The project in numbers
- Lines of code
- 37,332
- Classes
- 300
- Methods
- 1,784
- Tests
- 603
- Components
- 32
- Badges
- 23
- Colour palettes
- 6
- Languages
- 2
These are not estimates — a service counts them straight off the repository. Third-party libraries, downloaded fonts and vendor are left out of them; that work isn’t ours.
What it runs on
No Docker, no Node, no framework in the browser. The server sends finished HTML, Stimulus brings it to life — that’s the whole of it.
- PHP 8.5
- Symfony 8.1
- Doctrine ORM
- Twig + Live Components
- Stimulus + Asset Mapper
- MySQL
No ads and no third-party cookies. Traffic is measured by Matomo on our own server, without cookies — which is why there is no consent bar here. There is nothing to ask about.
What of it is out there
Pieces of this code that outgrew one project. They are on GitHub, free, under the MIT licence.
-
UX SDC
A component as one directory — class, template, CSS and controller together. This whole page is built on it.
tito10047/ux-sdc -
PHP Calendar
A month grid that assumes nothing about what goes in it. The calendar you mark your days in is drawn by it.
tito10047/php-calendar -
Progressive Image
Images that load smoothly and don’t make the layout jump while they do.
tito10047/progressive-image-bundle -
IconCaptcha
The captcha on the registration form, running on our own server. It tells no third party who is signing up.
tito10047/iconcaptcha-bundle -
Migration Backup
A database backup taken just before a migration — the only way back from one that half-applied.
tito10047/migration-backup
You can log your first day right away.
Create a calendarFree, no app to install. An email and a password is all it takes.