Inspiration

I Started Using Gemini-CLI as a Tutor for my learning journey and built my own agents with the limited sources I had in Gemini-CLI, which really helped me in my studies. I wanted this to be more advanced and available worldwide as an escape from the tutorial hell

What it does

GeminiSensei is a desktop-native AI Engineering Lead designed to provide rigorous computer science education. It acts as a personal AI tutor that generates personalized learning roadmaps, offers context-aware tutoring through an AI-powered chat, and automatically reviews student's code to provide feedback. The core philosophy is to enforce strong theoretical foundations and prevent "spoon-feeding" of code, acting as a "Guardian of Code Quality."

How we built it

The application is built on a three-tier architecture:

  1. Frontend: A desktop application using Tauri 2.0 with a React and TypeScript frontend. It utilizes Vite for the build process, Tailwind CSS for styling, and TanStack Query for state management.
  2. Backend: A Python FastAPI server is bundled as an executable sidecar process. It handles all the AI logic and communicates with the frontend over a secure, token-authenticated local port.
  3. AI & Data Layer: The AI capabilities are powered by Google's Gemini model, orchestrated into a multi-agent system (Teacher, Code Reviewer, etc.) using LangGraph. For local data persistence and semantic search, it uses SQLite with vector extensions and LanceDB.

Challenges I ran into

This was my first real desktop application, and I encountered many new frameworks and technologies, including Tauri, React, and VectorDBs. While I had prior experience with Python, FastAPI, SQLAlchemy, and Pydantic, everything else was new to me.

Accomplishments that I'm proud of

I am proud to have finished the project and am committed to continuously improving it.

What I learned

I learned a great deal about development in general, Test-Driven Development (TDD), effective research techniques, the GitHub workflow, and many new frameworks.

What's next for GeminiSensei

I will definitely add robust features to this project and make it even better.

Built With

  • alembic
  • basedpyright
  • bun
  • eslint
  • fastapi
  • github
  • google
  • google-gemini-api
  • google-genai
  • husky
  • lancedb
  • langgraph
  • prettier
  • pydantic-ai
  • pyinstaller
  • pytest
  • python
  • react
  • react-router
  • ruff
  • rust
  • sqlite
  • sqlite-vec
  • tailwindcss
  • tanstack-query
  • tauri
  • typescript
  • uv
  • vite
  • vitest
Share this project:

Updates