Little Else, a place to keep track of the records you love and find your next favourite through other people’s collections
build your selection, pick your top 4, log your listens and leave a few words about what stayed with you
I wanted browsing music to feel a bit more like going through someone’s record shelf. artwork first, with small interactions that make you want to keep digging
most book pages online look the same: a cover, a short description and a buy button. Nothing that makes you feel what the book is about.
so I built an immersive website that helps authors capture the beauty of their book and turn curious visitors into readers and leads ✨ https://journeyofsouls.base44.app/
for the sample, I chose Journey of Souls by Michael Newton, a book about what our souls experience after our last breath and the journey that follows.
on the site, you scroll through that journey scene by scene, as if you’re living it yourself. Along the way you discover your soul color, receive a personal reading, and at the end, meet the book that tells the full story.
A push notification model usually breaks in one of two ways: a second phone stops receiving anything, or notifications keep arriving for the account that just signed out. Both come from storing one push address per user. Store one row per app installation instead, with the user ID as a field, and someone with a phone and a tablet has two rows that a single query returns.
The sign-out half has an ordering trap. Delete the installation row while the user is still signed in, then call signOut. A security rule that compares the row owner to the signed-in user refuses the delete once there is no user left to compare against, and the device keeps pointing at the previous account.
The full write-up covers the Firestore rules, the Flutter registration listener, a server cleanup that handles both unregistered error codes, and an acceptance sequence to run on two test installations.
Great technical breakdown! Handling multi-device FCM tokens and secure sign-out correctly is essential for reliable push notifications. I appreciate the focus on both architecture and real-world edge cases. 👏