Inspiration
I am an avid reader and watch too many films and always have music running in the background and none of that ever lived in one place. Notes apps felt too boring. Letterboxd only cares about films. I wanted something that treated a book, a movie, a song, and wandering thoughts all in the same place, my cozy corner. So I built StoryShelf Café, a warm little corner of the internet where all of it sits on one shelf and where the app itself tries to notice things about you that you might not notice yourself.
What it does
You log whatever you've been reading, watching, listening to, or just thinking about with a mood, a rating if you want, maybe a photo. Then a few things happen:
- Memory Threads: It reads back across everything you've logged to find a genuine thread connecting your choices. Not a generic "you like books" summary, something closer to what a close friend might notice about you if they read your diary.
- The Shelf That Doesn't Exist Anything you rate 1-2 stars moves to a quiet "ghost shelf," waiting for the version of you that might be ready to give it another shot someday.
- A "Your Year" view broken into seasons. A searchable blog view of every reflection you've written, and suggestions for the days you genuinely don't know what to log.
How we built it
Nothing fancy on purpose. I wanted this to actually ship in the hackathon window, not become an architecture exercise.
- Frontend: plain HTML/CSS/JS, deployed on Vercel
- Backend: Node + Express, also on Vercel running as a serverless function
- Database: Postgres through Supabase with Prisma handling the ORM layer
- AI: Gemini API for the Memory Threads feature
Challenges we ran into
Getting Express to behave inside a serverless function was not what I expected to spend my time on. On top of that, Prisma quietly failed in production because Vercel had cached my dependencies and skipped regenerating the Prisma client on build. Chasing that down through Vercel's runtime logs taught me more about how serverless deployment actually works than any tutorial has.
Accomplishments that we're proud of
Just... that it's real. It's not a mockup, it's a live site with a live database and a live AI call, and it survived me deploying it under a ticking clock without falling over.
What we learned
A working localhost app and a working deployed app are genuinely different problems. Serverless environments have their own rules around exports, builds, and caching that don't show up until you actually try to ship and no amount of local testing warns you about them in advance.
What's next for StoryShelf Café
Right now every logged-in account technically shares the same shelf. The login system exists but entries aren't scoped to individual users yet, so that's the very next thing on my list. After that: letting people export or share specific entries and building out real analytics over how your moods and choices shift across a year.
Built With
- css
- express.js
- geminiapi
- html5
- javascript
- node.js
- prisma
- supabase
- vercel
Log in or sign up for Devpost to join the conversation.