Nietzsche: For Those Who Learn For the Love of Learning

Inspiration

In 2016, I graduated with a BSc. in Public Health. No CS background. No mentor. Just one question: what if I could teach myself anything?

That question consumed the next decade. Python, JavaScript, Dart, Rust, Wolfram, R. From syntax to systems. From tutorials to papers. By 2015, I had committed fully to AI.

But throughout that entire journey, I was never actually learning. I was project-managing my own education. Ten tabs open: a syllabus someone else wrote, Wikipedia for context, Google Scholar for papers I couldn't verify, YouTube for lectures at the wrong level, a notes app I'd abandon. The tools to teach existed. Nothing existed to think alongside me.

That's the problem. Not access to information. Access to structure, verification, dialogue, and memory in one place. Every autodidact lives this. And as traditional institutions become optional, every future learner will too.

What I Built

Nietzsche is not a chatbot. It's a multi-agent learning operating system where five Gemini-powered agents share a single cognitive environment:

Agent Role Gemini Feature
Architect Generates structured curricula Gemini 3 Pro + structured JSON output
Scholar Researches with verified sources Gemini 3 Flash + Google Search grounding
Mentor Socratic tutoring + memory Gemini 3 Pro + function calling
Artist Concept visualization Gemini 2.5 Flash image generation
Sentinel Input/output security audit Gemini 3 Flash + zero-temperature

The key innovation: these agents are not five separate chatbots. They operate inside a shared Neural Kernel that holds the user's full state; curricula, artifacts, memories ("Engrams"), spatial knowledge graphs ("Manifolds"). When you switch from Mentor to Scholar mid-conversation, the Scholar already knows what you were discussing. The system has one mind, not five.

How I Built It

Frontend: React 19, TypeScript, Vite, TailwindCSS, Framer Motion Backend: Firebase (Auth, Firestore, Cloud Functions) AI: @google/genai SDK

Three architectural layers:

  1. Neural Kernel - a useReducer state machine managing all application state
  2. Orchestrator - interprets user intent, routes to the correct agent, resolves ambiguous references ("draw this", "research that") via a dedicated intent resolver, handles agent-to-agent handoffs
  3. Gemini Service Layer - structured output schemas, streaming, retry with exponential backoff, quota management

Live Voice uses Gemini's Native Audio model for real-time bidirectional tutoring.

Challenges

Making five agents feel like one system. The Orchestrator injects the full environment (active curriculum, current artifact, recent Engrams, viewport state) as system context into every agent call. Coherence is architectural, not prompt-engineered.

Structured output fragility. Gemini doesn't always return clean JSON even with responseMimeType: "application/json". Built a recursive JSON miner that extracts, sanitizes, and parses the largest valid object from any response.

Quota pressure. Five agents making parallel calls. The retry system with extracted RetryInfo delays was essential from day one.

What I Learned

The best AI applications aren't about the model. They're about the system around the model. A single prompt is a question. A system of agents with shared memory is a mind.

What's Next

Nietzsche is not a hackathon project. It's the system I use daily. Next: spaced repetition, A2A agent protocol, multi-modal input (PDFs, handwritten notes), and community Manifolds for collaborative learning.

"One must still have chaos in oneself to be able to give birth to a dancing star." - Nietzsche

This project was born from chaos; a decade of self-directed learning without a map. Now it is the map.

Built With

  • dom
  • firebase-auth
  • firebase-cloud-functions
  • firebase-firestore
  • firebase-hosting
  • framermotion
  • gemini2.5flash
  • gemini3flash
  • gemini3pro
  • gemininativeaudioapi
  • genaisdk
  • googleai-studio
  • react
  • search
  • tailwindcss
  • typescript
  • vite
Share this project:

Updates