Inspiration

I love learning new things constantly, and I've tried a number of platforms for learning. Some I really liked, and some I disliked. What always went through my head was, "Darn, if I only had a tutor for everything I want to learn." That idea surfaced again when I saw the hackathon and thought that I might make it possible with Doctopus. All current AI tutoring applications are very barebones and lack functionality and design.

I took this a step further, where:

  • AI searches the web in order to create meaningful courses and provide a personalized experience
  • it can reply to you using ElevenLabs
  • it can even draw for you

Whenever the tutor decides that something is "complex" to explain via text or audio only, it will draw on a whiteboard for you to explain those complicated concepts (e.g, it will draw a hydrogen atom for you instead of trying to only explain it).

What it does

The core concept of the app is that you have a personal AI tutor for any topic you wish to learn. Under the hood it does a few different things:

  • It uses perplexity to figure out what you want to learn, gathers data on the topic, and suggests the number of modules your personal course should have and the structure of the course
  • Another AI picks up from here, and for each module, generates a detailed lesson plan, with each module having multiple lessons with different learning goals
  • Finally, you can start any lesson and interact with the AI tutor that will help you understand and learn the lesson

The most fun part is that the AI can actually draw! Instead of bombarding you with text, it will draw complex concepts for you on a whiteboard that you can then interact with.

How I built it

It was mostly done with Bolt.new. The project was started through Bolt, and all of the core functionalities, including the different AI agents and chat functionality, were set through Bolt. Images (mascot) were generated with ChatGPT. The app is React-based, with Supabase doing the heavy lifting when it comes to course generation, audio generation (through ElevenLabs), and calling the external LLM providers (mostly through OpenRouter).

Challenges I ran into

It was honestly tough to build a project of this scale alone and with Bolt. It really grew in size, and I had to be really careful about what messages I sent through Bolt, because each message consumed a lot of tokens given the project size. I had to duplicate the project multiple times, and it was a little frustrating having to set up a new GitHub repo each time, but fortunately the Supabase gets preserved between duplications. All in all, it was fun but very exhausting.

Accomplishments that I'm proud of

I'd say this is the most fun app I've ever built! Given that, there are a few things I'm really proud of:

  • The mascot design (Doctopus) turned out really great, and I love it!
  • the design is really simple and user-friendly but still feels modern and fun to interact with
  • The orchestration of AI agents in the background was tough to achieve through Bolt, but obviously possible!

What I learned

A lot, but mainly how to use Bolt better. If I had been more careful from the start on how to prompt Bolt, I think I would've made even more progress. I've also learned Supabase a little more since I never built something so complex powered by Supabase edge functions (powerful stuff!), as I mostly relied on classical Node.js + Express backend and psql as my primary DB choice. I honestly felt like this would be impossible only with Supabase & edge functions, but guess I was wrong!

What's next for Doctopus

There's a lot on the table! This is very early, alpha access. Users will be able to create only one course for now, until subscriptions roll out. I'd focus on a few things next:

  • integrating subscriptions for more usage
  • fine-tuning models that do the drawing
  • expand the AI so it doesn't only generate interactive whiteboards but also interactive mini applications

Built With

  • bolt.new
  • chatgpt
  • claude
  • elevenlabs
  • supabase
Share this project:

Updates