Inspiration

Apps like Instagram have weaponized the endless-scroll genre to feed us mostly useless content. It is addictive and adds little to no value to our lives. This must change.

What it does

DoomLearning combines the addictiveness of an endless-scroll app with the power of AI to show the user content that actually enhances their knowledge and nourishes their mind. It replaces so-called "brain-rot" content with an endless feed of knowledge. Users can discover "Knowledge Cards" and create collections of them. Each knowledge card comes with a very helpful, highly curated chatbot assistant that can answer even more questions about the new topic. Further, the user can share their interests with the platform and a recommendation engine suggests topics catered to them. The user can also set various degrees for the chat bot replies, ranging from second-grader to college graduate so everyone can get something out of the platform.

How I built it

The project is built with Next.js and TypeScript, and Postgres in the backend. For the UI, Tailwind CSS, Shadcn, and Framer Motion were extensively used.

Challenges I ran into

  • Setting up auth is HARD
  • Getting different APIs and Services to work together
  • Best design decisions to optimize API calls

Accomplishments that I am proud of

  • Getting the OpenAI API to work well with the WikiMedia API
  • Having a robust backend setup with a custom recommendation engine that shows the user content as per their interests in an endless scroll feed.

What I learned

  • How to build cool UIs with Tailwind and Shadcn
  • Basic animation with Framer Motion
  • How hydration works in React in depth

What's next for DoomLearning

  • Build a mobile app to make the platform easily accessible
  • Integrate with other knowledge bases like museums, libraries, etc.
  • Build a social network around this concept where users can share the knowledge cards they have collected with their friends
  • Enhance AI chat to be ever more useful with voice capabilities.

Built With

Share this project:

Updates