Most practice sites hand you thousands of problems, which is exactly why people stop after a week. Daily Coding gives everyone the same single challenge each day, borrowed from Advent of Code but running all year. You solve it in a built-in editor and run real tests in a sandbox, in 11 languages. Reading the task and running the tests needs no account. Submitting adds streaks, points, levels, achievements and leaderboards, plus access to everyone else's solutions once you post your own.
Every December I do Advent of Code and love it. Every January I try to keep it going on LeetCode and never last more than a week. 5,000 problems, no reason to do this one today, so I scroll for ten minutes and close the tab.
That is the whole reason this exists. One challenge a day, the same one for everybody, so there is nothing to choose and something to talk about.
Three decisions along the way:
- Tests run in a self-hosted Piston sandbox on a small server, not a managed service. Eleven languages, and the compiled ones each needed their own CPU budget before they stopped getting killed mid-run.
- Reading the task and running the tests works without an account. Only submitting needs one.
- No ads, no paid tier, MIT licensed. It is a side project and I want to keep it that way.
The part I am still unsure about: whether a streak actually motivates, or just becomes one more thing to feel bad about breaking. If you have kept a daily habit going, what made it stick?