Inspiration

I bookmark the most impactful posts on X. Trying to find a post I bookmarked is an exercise in patience as I scroll endlessly to find it until I give up in frustration. These are my favorite post on X, I want to be able to fully consume and reference it long after I've bookmarked it.

What it does

Bookmarks Pro does an initial sync of all of your bookmarks and stores it in the database. Then in periodically syncs new bookmarks going forward. Once it's in the database, the data can be freed to be consumed in 6 different ways.

  1. Masonry view: Maximizes screen real estate to see as many bookmarked posts as possible
  2. Paginated view: Traditional list but instead of infinite scroll, give precision through traditional pagination
  3. Creator view: Group bookmarked post by creator
  4. Video view: Optimized for viewing multiple videos in succession
  5. Image view: Masonry view of just images for maximum image consumption
  6. JSON view: Array of JSON objects that has all the information for a particular bookmark that can be copied and pasted

In addition to the multiple views, bookmarks can be filtered by various properties: media, post type, author, engagement, etc. There's also a concept of Tags which is an improvement over current bookmark folders. Grok goes through all of the bookmarks and assigns tags to organize bookmarks for users.

How I built it

NextJS for UI and basic backend. Convex for database, syncing, and AI workflows.

X technologies used:

  • Login with X
  • X API to get logged in user's bookmarks
  • Grok to organize bookmarks into tags

Challenges I ran into

  • Was originally in voice track but pivoted to X API track at midnight. Voice projects were more challenging to do solo
  • Wasn't able to incorporate more X API routes outside of bookmarks without diverting from the core product experience
  • Coming up with a business plan with enough margin due to high API costs

Accomplishments that I'm proud of

  • Solves a core problem that many users (including myself) have been complaining about
  • Very close to shipping
  • Looks nice!

What I learned

Don't try to tackle a large project (I was originally building a voice based granola clone) during a one day hackathon as a one person team.

What's next for Bookmarks Pro

  • Add Stripe subscriptions
  • Handle all the edge cases with sync (i.e. when user upgrades their plan)
  • Ship!

Built With

  • convex
  • nextjs
  • xai
  • xapi
Share this project:

Updates