An open-source learning platform that combines structured technical content with article-grounded AI assistance.
What I Built
Learning computer science isn't just about finding information. It's about understanding it, connecting concepts, and getting unstuck when an explanation doesn't make sense.
That's the problem I wanted to tackle with CSEHub — a computer science learning platform that brings technical articles, code snippets, and an AI learning assistant together in one place.
Instead of giving learners a generic chatbot that might pull answers from anywhere, CSEHub lets users ask questions about a specific article. Its Retrieval-Augmented Generation (RAG) pipeline retrieves relevant content from that article to help ground the response in what the learner is actually studying.
What can you do with CSEHub?
Explore technical articles: Search, filter, and browse computer science topics, categories, and tags.
Learn with code: Read structured articles with syntax-friendly code blocks and copyable snippets.
Ask questions while reading: Use an AI assistant grounded in the current article, with conversation history saved for later.
Manage learning content: An editor dashboard supports article creation, editing, previews, categories, tags, and publishing.
Sign in securely: Google OAuth through Supabase Auth, with server-side authorization for editorial actions.
Who is it for?
Students preparing for placements, self-taught developers, and anyone who wants a more interactive way to learn computer science.
The longer-term opportunity is to build a sustainable learning platform around high-quality technical content and AI-assisted learning. Potential business models could include premium learning tools, structured courses, or institutional access. These are future possibilities, not current revenue streams.
Demo
Try the live project: CSEHub
Explore the learning experience and see how the platform brings technical content and AI assistance together.
Code
GitHub repository: github.com/captain-07/CSEHub
CSEHub is released under the MIT License. The repository includes setup instructions, environment configuration, API documentation, and contribution guidelines.
If you're interested in Django REST Framework, RAG pipelines, authentication, or building full-stack applications with a lightweight frontend, contributions and feedback are welcome.
How I Built It
I built CSEHub with a Python backend and a static frontend, keeping the system modular so the content platform and AI assistant could evolve independently.
My contribution focused on the backend and the GenAI implementation. The frontend was built with AI assistance.
The technology stack
Django + Django REST Framework: REST APIs, article management, validation, permissions, and user profiles.
PostgreSQL: Persistent storage for articles, taxonomy, users, and conversations.
Supabase Auth: Google OAuth and JWT-based authentication.
LangChain + Pinecone: Retrieval pipeline and vector search for article-specific context.
Google Gemini: Embeddings and AI-generated responses for the learning assistant.
HTML, CSS, and JavaScript: A dependency-free static frontend.
Vercel + Render: Frontend and backend deployment.
How the AI assistant works
The interesting part isn't simply sending a question to an LLM. It's preparing the right context before asking the model to answer.
The pipeline works like this:
An administrator publishes an article.
The article's structured Editor.js content is converted into readable text.
The text is chunked, embedded, and indexed in Pinecone.
When a learner asks a question, the system retrieves relevant chunks from the article being studied.
Gemini generates a response using the retrieved context.
The conversation is persisted so the learner can return to it.
I also kept AI indexing separate from publishing. Saving an article doesn't depend on an external embedding provider being available; indexing can be triggered separately.
On the backend, I implemented server-enforced publishing permissions, token verification, content validation, and explicit handling of AI provider failures. The goal was to make the application behave like a real service, not just a demo that works when everything goes right.
Why Does Open Innovation Matter?
Open innovation matters when you want to build something useful without making every part of the system dependent on a single proprietary platform.
CSEHub brings together open-source tools such as Django, Django REST Framework, LangChain, and the broader Python ecosystem. Their source code, documentation, and established interfaces make it possible to inspect the implementation, adapt it, and build on existing work rather than reinventing every component.
There is also an important distinction in the AI layer.
A closed AI API can be useful for generating responses, but the learning experience depends on more than the model itself. It depends on how content is processed, how relevant context is retrieved, how permissions are enforced, and how failures are handled.
Using an open-source retrieval stack lets developers inspect and customize much of that surrounding infrastructure. The model provider can also be changed independently of the core article platform, provided the replacement supports the required interfaces.
CSEHub currently uses Google Gemini, so this is not a claim that the entire AI stack is open-weight or runs locally. Instead, it demonstrates how open-source infrastructure can make an AI-powered product more modular and adaptable.
For me, open innovation is about retaining the freedom to understand, modify, and extend what you build.
My Agent Session
Not included. I haven't attached a saved DevRelay session for this submission.
Prize Categories
I'm submitting CSEHub for the Side Hustle challenge. The project has a practical user problem and a potential path toward a sustainable learning product.
I have not listed any additional partner prize categories because I haven't verified which ones apply.
Building CSEHub taught me that adding AI to an application is the easy part to describe. Building the surrounding system — retrieval, authentication, permissions, content ingestion, persistence, and failure handling — is what turns that idea into a usable product.
That's the direction I want to keep exploring: building software that solves real problems, with AI as a useful part of the experience rather than the entire product.
Top comments (0)