DEV Community

Saran Soundharajan
Saran Soundharajan

Posted on

A Verified Course Directory Anyone Can Monetize

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission đź’¸

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

What I Built

LearnPath is a tool that answers one question: “Which course should I actually trust?”

You type a skill, and LearnPath finds the resources people have genuinely recommended in real discussions on Hacker News, Reddit and YouTube. It shows them as clean cards you can filter by:

Pricing: Free, Paid or Freemium
Type: YouTube, Course, Book or Website
Level: Beginner, Intermediate or Advanced

Every card has a “See proof” button linking straight to the original posts behind the recommendation, so nobody has to take the AI’s word for it.

Who would pay, and why:

Self-learners and career switchers spend real money and time on courses. A wrong pick costs them both, so a trustworthy shortlist is worth paying for.
Bootcamps, communities and newsletter writers need “what should I learn first” guides but don’t have time to research each skill.
Small teams and training managers need vetted resources for upskilling without paying for a corporate learning platform.

The problem it solves: “best course” lists are mostly SEO spam or paid promotion. LearnPath replaces that with community-backed recommendations and receipts for every one.

Side hustle angle: the core search is free. The paid layer I’m planning is saved learning paths, curated skill roadmaps for creators and communities, and an API or embeddable widget so others can put verified recommendations on their own sites.

Demo

đź”— Live app: https://learnpath-2.onrender.com/

(It’s on a free tier, so the first load may take a few seconds to wake up.)

Code

LearnPath 🎯

LearnPath is an AI-powered, community-backed learning resource aggregator built with the MERN stack (MongoDB, Express, React, Node.js) and powered by Google's open-weight Gemma AI model (gemma-2-9b-it).

It solves a common problem: "I want to learn a skill, but I don't know which course, book, or video to trust."

LearnPath automatically scans Hacker News, Reddit, and YouTube for real developer discussions, extracts course and book recommendations, and validates them against an Anti-Hallucination rule Engine before presenting them on a modern, real-time dashboard.


🌟 Key Features

  • đźš« No User Accounts / Login Required: Public, open dashboard for immediate access.
  • 🤖 Open-Weight Gemma AI Integration: Utilizes Gemma model via Google AI Studio (GEMINI_API_KEY & GEMINI_MODEL).
  • 🛡️ Strict Anti-Hallucination Design: The AI model is strictly prohibited from inventing URLs or drawing recommendations from memory. Recommendations are verified against raw fetched…

How I Built It

Open-source AI: Gemma, Google’s open-weight model (gemma-2-9b-it), served through Google AI Studio. The model is a single config value (GEMINI_MODEL), so the whole product is built around swappable open weights.

Stack: MongoDB Atlas + Mongoose, Express, React (Vite), Node.js, deployed on Render.

How a search works:

The skill is validated, then I check MongoDB for a cached result less than 7 days old.
If there isn’t one, the server fetches real discussions in parallel from the Hacker News Algolia API, Reddit’s public search and the YouTube Data API.
Everything is numbered into source snippets and sent to Gemma with a strict prompt: extract recommendations only from these snippets, never from memory.
Gemma returns structured JSON with the name, link, price type, level, a one-line summary and how many sources mention it.
The result is saved to MongoDB and shown on the dashboard.

The part that makes it sellable is trust. LLMs love to invent courses that sound real, and a product that recommends fake courses has no business model. So after Gemma answers, my server validates every resource. If its URL or name doesn’t physically appear in the source text I fetched, it’s thrown away. Every recommendation must also point to valid source IDs, which is why “See proof” always works.

Built to be cheap to run:

7-day caching in MongoDB means repeat searches cost nothing
A seed script pre-caches popular skills, so the demo is instant
Rate limiting and Helmet protect the API
Sources are fetched with Promise.allSettled, so if one (like Reddit) blocks me, the others still work
Why Does Open Innovation Matter?

For a side hustle, the economics decide everything, and open weights change them:

Cost control: A free-tier setup is enough to validate the idea. If it grows, I can self-host Gemma instead of watching per-token API bills eat the margin.
No lock-in: Swapping models is a config change, so I can test other open models for extraction quality without rewriting the app.
Inspectable: Recommending learning resources affects what people spend their time and money on. I want the model behind that to be something people can study and question, not a black box.
Room to specialize: Open weights could later be fine-tuned for better price and level detection, which a closed API wouldn’t allow.

Honest limitations:

The model can still misread pricing, so it sometimes says “unknown” or gets Free vs Paid wrong. That’s why every card links to its proof.
Results depend on how much discussion exists, so very niche skills may return few or no resources.
Some sources (like Reddit) can block requests, so results vary.
There’s no ranking by recency yet and no user ratings.
Prize Categories
Best Use of Gemma: Gemma does the extraction and summarization at the core of the app.
Best Use of MongoDB Atlas: Atlas stores cached searches and the “recently searched” list.
Best Use of Render: The app is deployed on Render.

Top comments (0)