top of page

Gyan AI

Gyan AI is an intelligent learning assistant built for students following the CBSE curriculum in India. It answers questions directly from NCERT textbooks, remembers past chats, and even works with uploaded images, making studying faster, easier and more personalized.

Cloud-Hosted Database

Backed by a professionally managed database on AWS, ensuring speed, reliability, and real-time performance across all user queries.

RAG models 

Combines retrieval-augmented generation with embedded textbook content, delivering highly accurate, contextual answers.

Fine Tuned Models

Backed by custom prompts and alignment with CBSE answering styles, tuned for the curriculum and exam-readiness.

Personal Account

Students can sign up, log in, and view past chats for up to 30 days — like a memory-powered tutor.

Vision Capable

Supports image-based input, allowing students to send handwritten questions or textbook screenshots for instant help.

Full Scale Deployment

Built with scalability and real-time use in mind, supporting large user bases across multiple grades and subjects.

Project Journey

First of all, I’d like to introduce Dhruvan, my dev partner on this project. You can contact him here.

​

We began this as a way to get introduced to the world of LLMs and explore how they could be used to build custom applications. But as we kept working on it, we realised this could actually turn into something meaningful, so we decided to build it into a proper SaaS product.

​

As we moved forward, we learned a ton. We set up our own databases, implemented RAG (Retrieval-Augmented Generation) using completely public data — the NCERT textbooks that are freely available for download from the official website. We worked on refining prompts, making the responses more accurate and structured, and focused on clean code and optimization. We used Flask to connect our Python backend with the HTML frontend, and honestly, that felt like magic once everything started coming together. Getting the backend logic to power a smooth, good-looking user interface was probably the most satisfying part.

​

We had everything up and running on our domain, aiforcbse.online, and it worked perfectly until 31st December 2024. But then the classic startup question hit us — what exactly was our moat? Anyone could access the same data, use the same tools, and build something similar in a few weeks, just like we had. There was no clear path to defensibility, no way to patent or claim ownership over the core idea, and we weren’t sure how to turn it into actual revenue.

​

So we left the project on a high, with plenty of late nights under our belt, balancing serious software work with uni life. It was honestly a blast.

​

Also, shoutout to GyanAI for being the reason we randomly booked a trip to Albania. One minute we were debugging something that wasn’t working, the next minute we were like “you know what would fix this? A holiday.” So we booked one. Absolutely no regrets. Minor food confusion, but no regrets.

​

We hope you enjoy GyanAI as much as we enjoyed building it. For any questions, feel free to reach out to us.

Code and Design Insights

Unfortunately, we cannot share the entire git repo, for we've decided to make it a closed source project. However we can show you the most exciting parts of our model. 

Below is how our embeddings are saved as they get chosen based off the function call from the frontend. 

Below is how the vision model is called. The image first gets collected by the frontend, which is then sent to an AWS S3 bucket to be converted into a file URL. If no image is sent, it defaults to the standard model without vision capabilities. Our initial tests, done in April 2024, used a combination of GPT-3.5 and GPT-4.0. However, they both have legacy :(. For demonstration purposes, we’re now using o3 mini for the math subject and 4o for every other subject.

Below, it can be seen how the title summariser works by generating a short title from the user's first message in a new conversation. If the title exceeds 32 characters, it's trimmed, and the final title is then sent to the database. You can also see how the update flag is managed and returned.

Video Demonstrations

I've made 3 videos for the purpose of demonstration. The first one goes through the user interface experience. Toggling between the login/signup, home and the main chat page. 

Below is a detailed insight into our database. When it was deployed, we used a Postgres database hosted on AWS servers.

Below is the main demonstration of our model in action. We go through selecting different subjects — Math, Physics (under Science), and History.

Conclusion

We ended up learning way more than we expected, not just about LLMs or vector databases but about what it really takes to build something from the ground up. Real users, real bugs, late nights, and all the chaos that comes with it. As someone studying Robotics and AI, I’d never properly done software engineering before, so diving headfirst into the backend, frontend, and everything in between was a wild but insanely rewarding ride.

​

And who knows, this might not be the last you hear from us. We’ve been toying with new ideas, more unique features, and maybe… just maybe… a comeback. Stay tuned.

  • Twitter
  • LinkedIn

©2025 by Rehan Agrawal

bottom of page