A founder-only feed of everything happening on my platform — signups, posts, questions, likes — written by database triggers so nothing can bypass it, and mirrored into two chat apps.
I asked how to stay on top of platform activity, and questioned whether "notification" was even the right idea. It wasn't — the word hid two different jobs, and separating them turned out to be the whole design. A complete history wants durability and doesn't care about delivery; being interrupted for the few things that matter wants delivery and doesn't care about completeness. So the log got built first: an append-only table written by database triggers rather than application code, because posts published through my AI connector skip the web routes entirely, and likes and comments delete their own rows when undone. Pushing to chat became a thin layer on top — the first channel was forty lines, and the second was a copy of the first. The page itself stays founder-only, so the link above answers with a 404 for everyone but me.
Hi, bad I'm texting here - but I'm unable to add images as thumbnails to my projects. can you check. I've added images in video links. you can delete this comment, then
Yes images are temporarily paused. Appreciate the request. I will get it fixed by tomorrow so you can edit and update it
Hey it has been fixed. You can edit your posts and upload the images
Adding a second chat channel silently broke delivery. The dispatcher marked each event as sent using a single timestamp column, so the first channel claimed every pending event and the second found nothing — forever, with no error anywhere. I caught it minutes before shipping, and only because I stopped to check whether a merge was safe. The tests passed the whole time: each channel was correct on its own, and nothing exercised two at once.
I pushed back on my own framing before building anything, then let the structure that fell out of it drive the work. Decisions that changed behaviour — whether to store the text of questions, which events deserve to buzz a phone — I stopped and made explicitly instead of letting a default decide. Every bug we hit got a test written against the broken code first, to prove the test actually failed before trusting it.