Inspiration
This summer I started a paper-reading group with friends, and our Slack thread exploded—recommendations everywhere, nothing organized, and good luck finding the paper to read this week. Worse, when I wanted to recommend something or refer to a paper I'd read months ago, it was a nightmare to track it down again in my own personal notes. Someone joked “Goodreads for papers,” and it clicked: good*papers* had to exist, so I built it.
What it does
good*papers* revolutionizes how researchers discover, organize, and engage with academic literature. Imagine Goodreads, but tailored for the scientific community. Users can
- Search millions of arXiv papers in seconds.
- Save & tag anything to a personal library, add ratings and notes, and see their reading timeline at a glance.
- Form reading groups or curated lists to share, discuss, and track progress together.
- Follow friends to discover what they’re studying and swap reviews.
Research reading is no longer an isolated, solitary grind—it’s a social, trackable, ever-growing conversation.
How I built it
I launched the foundation with Bolt + Supabase and served it on Netlify. From there I adopted a strict “prompt-as-spec” workflow:
- Snapshot – Ask Bolt’s conversational mode to output the full prompt that would regenerate the current build.
- Refine – Edit that single prompt line-by-line: remove bloat, tighten schema, adjust UI copy, and redirect any feature creep back to the core value.
- Regenerate – Run the revised prompt, deploy, and smoke-test.
- Repeat – Loop until the app’s purpose, audience, and look felt unmistakably mine.
All infrastructure—Supabase tables, RLS approval, and Netlify deploy—needed to be in follow-up prompts, but every product decision resides in one continuously-honed master prompt. That constraint kept each iteration lightning-fast, focused, and measurable.
Challenges
Building a platform that handles complex social interactions and sensitive user data presented several exciting challenges. One significant hurdle was navigating the intricacies of Supabase's Row Level Security (RLS) policies. Ensuring that users could only access data they were authorized to see (e.g., private reading lists, group-specific content, or friend-only activity) without creating infinite recursion loops in the policies required thoughtful design and debugging. I also faced the task of efficiently integrating with the arXiv API, parsing large XML responses, and mapping diverse academic data into my structured database schema, all while maintaining a smooth, fast, and responsive search experience.
Accomplishments
I am incredibly proud of several key accomplishments. Successfully implementing a comprehensive Supabase RLS system that underpins all data access, ensuring privacy and security without compromising functionality, was a major win. I created an intuitive and visually appealing user interface that makes managing academic papers a joy, not a chore. The seamless integration with the arXiv API allows for powerful paper discovery, and the foundational social features – including friend requests, reading groups, and personal libraries – lay a strong groundwork for a thriving academic community.
What I learned
This project provided invaluable lessons in building a full-stack application with a focus on data security and user experience. I dove deep into Supabase’s advanced tooling, from RLS quirks to schema design for social apps. I sharpened my API-wrangling skills and, maybe most valuable, mastered the art of distilling an entire product into one rock-solid prompt—clarity by constraint.
What’s next
I plan to demo it with more friends and fellow researchers and mercilessly refine it to fit their needs and make it as intuitive as possible. My immediate next steps include:
- Group discussion boards and in-page collaborative annotations.
- Smart recommendations powered by reading history + similarity.
- Multi-source ingestion (PubMed, CrossRef, Semantic Scholar).
- Citation management and inline PDF markup.
My goal: make good papers the researcher’s best friend—intuitive, shareable, and impossible to live without.
Built With
- arxiv-api
- bolt
- netlify
- sqlite
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.