About the Project

Awaji OS is an AI-powered student operating system built to bring the most important parts of academic life into one focused workspace. It helps students manage classes, deadlines, attendance, Pomodoro sessions, flashcards, mood logs, study streaks, notifications, and AI tutoring without switching between multiple apps.

The inspiration came from a common student problem: studying is not just about understanding material. It also means remembering deadlines, tracking classes, staying emotionally regulated, building consistency, and knowing what to focus on next. Awaji OS was designed as a calm academic command center where AI is not only a chatbot, but a study companion that can take useful actions inside the workspace.

## What It Does

Awaji OS includes:

  • Class Hub for courses, schedules, semester setup, and attendance tracking
  • Deadline Board for assignments, priorities, subtasks, workload estimates, and Kanban-style progress
  • Study Workspace with Pomodoro timers, ambient sound, flashcards, Socratic tutoring, and Feynman technique evaluation
  • Awaji AI Assistant for explanations, study guides, quizzes, proofs, code help, and planning
  • Mood Tracker with daily logs, a heatmap, breathing support, and mood-based visual effects
  • Streak System for daily study rituals and consistency tracking
  • Notification Center for upcoming deadlines, class reminders, and custom alerts
  • Theme Customization so students can personalize their study environment

A key part of the project is that the AI can trigger real app actions. For example, a student can ask the assistant to start a focus session, add a deadline, create a class, or update a streak. The model returns structured action tags, and the frontend turns those tags into state changes.

## How I Built It

I built Awaji OS as a React and TypeScript application with a lightweight Express backend.

The frontend is built with:

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Lucide icons
  • Motion animations
  • Browser localStorage for local-first persistence

The backend is built with:

  • Express
  • OpenAI API support
  • Gemini API support
  • Server-side environment variables for API keys

The app stores student data locally in the browser. This includes profiles, classes, deadlines, flashcards, mood logs, streaks, themes, notifications, and AI chat history. This made the prototype fast to build and easy to run without a database.

For AI features, the backend exposes routes for:

  • General AI chat
  • PDF/material parsing
  • Flashcard generation
  • Socratic tutoring
  • Feynman explanation evaluation
  • Study plan generation

The study methods are based on learning principles like active recall and spaced repetition. For example, the flashcard system is built around retrieval practice:

$$ \text{Learning Strength} \propto \text{Recall Effort} \times \text{Repetition} $$

The goal is to help students move from passive reading to active learning.

## What I Learned

I learned how important it is to design AI as part of a workflow instead of treating it as a separate chat box. A normal AI assistant can answer questions, but a more useful academic assistant should connect to the student's actual tasks, deadlines, classes, and study habits.

I also learned a lot about structuring a multi-module frontend application. Awaji OS has many sections, so state management, local persistence, and communication between components became important. I used browser events and shared app state to connect modules like the AI assistant, Pomodoro timer, notifications, and streak system.

Another major lesson was that good student tools need both productivity and emotional support. Deadlines and timers are useful, but students also need mood tracking, breathing support, and a less chaotic environment.

## Challenges I Faced

One challenge was connecting AI responses to real app actions safely. I needed a simple format that the model could return and the frontend could parse. I used structured action tags such as:

[ACTION: START_POMODORO minutes=25] [ACTION: ADD_DEADLINE title="Math Homework" dueDate="2026-08-01" priority="high"]

The frontend removes these tags from the visible chat response and dispatches internal events to update the app.

Another challenge was supporting both OpenAI and Gemini. The app needed a provider system that could select the correct model backend while keeping API keys server-side. I added environment-based provider selection so users can run Awaji OS with either provider.

A third challenge was keeping the experience coherent. The project includes classes, deadlines, study tools, mood tracking, streaks, notifications, and AI. The hardest design problem was making these feel like one connected student operating system instead of separate features.

## Why It Matters

Students often lose time and focus because their academic life is scattered across calendars, notes, timers, task managers, and AI chat windows. Awaji OS brings those pieces together.

The long-term vision is a study workspace where AI understands not only the student's question, but also their schedule, workload, emotional state, and learning goals. Instead of only asking:

"What is this concept?"

a student can ask:

"Help me prepare for my biology exam, make flashcards from these notes, schedule my deadlines, and start a 25-minute focus session."

Awaji OS is a step toward that kind of intelligent academic environment.

Built With

Share this project:

Updates