About
I'm a full-stack developer — React and Node on top, ClickHouse underneath. For the past few years I've built and tuned the reporting layer for a supermarket chain: inventory, sales, forecasting, the dashboards store managers actually open every morning.
That work keeps circling one question: how do you keep a report instant when the tables behind it keep growing? Most of what I know about ClickHouse I learned by getting that wrong first — a query that took the server down, a join nobody needed, a dashboard that got slower every week until someone complained.
So this is the notebook I wish I'd had. Each post is one real problem, what actually caused it, and the fix — with numbers measured from system.query_lograther than guessed. Mostly ClickHouse and retail analytics, occasionally the React/Node layer sitting on top.
If something here saved you an afternoon — or if you think I got it wrong — I'd genuinely like to hear about it.