I was doing a code review for a colleague when I found it. The component had five useEffect hooks. No errors. No warnings in the console. The PM had signed off on it. It had been in production for three months. But there was a subtle bug that only showed up when the user navigated quickly between pages. Data would flash. State would reset. Sometimes the old user's name would appear for a split sec
Last week I had a problem. I'd built an internal documentation site in Trilium Notes — about 30 notes covering product, marketing, and operations stuff. It was for non-technical teammates who needed to answer questions from developers about the platform. The docs were good. Structured, searchable, complete. But reading 30 notes to find one answer is not great UX, especially for someone who's been
I recently had a requirement where, if a user opens the app in multiple browser tabs, only one tab can be active at a time, and the rest are locked. Here are the core requirements as I see them: Uniquely identify each tabs Store the active tab somewhere If a user opens a new tab, lock it if there is already an active tab If the active tab is closed, detect that and inform the other tabs Sounds sim
Table of Contents Introduction Environment Requirements Core Features Core Design and Code Analysis Actual Execution Demo Architecture Overview How You Can Expand Future Plans & Conclusion What is this It is a basic debugger, running on Linux and implemented in C++, aiming to create a debugger that is easy to read and expand. In addition, Lavender's main function is to help users analyze the logic
I spent long hours debugging why Google couldn't index my React app. Lighthouse showed green scores. The app felt fast. But Search Console kept flagging LCP failures and CLS shifts I couldn't reproduce locally. The fix? Four lines of metadata and one misunderstood render strategy. If you've ever shipped a "fast" SPA and watched it flatline in search rankings, this Core Web Vitals SEO guide is for
I wanted to add live chat to my WordPress sites without loading a 500KB third-party script. So I built my own. GhostChat is an open source embeddable Widget: Vanilla JS, no framework, ~10KB Backend: Cloudflare Workers + Durable Objects for persistent WebSocket connections Payments: Stripe for the hosted tier Self-hostable: Bring your own Cloudflare account Durable Objects give you stateful serve
Comments
I kept watching the same thing happen. What I Built It's a 3D interactive sales simulator. I call it a flight simulator for software — except instead of flying a plane, you're walking a non-technical client through the risk inside their own infrastructure. The Map You feed it a simple JSON file describing your client's tech stack. It reads it and instantly draws a floating, 3D web of nodes — s