Ash — AI-Powered Personal OS for Graduate Students
A serverless progressive web app that replaces five separate tools with one AI assistant — managing academic deadlines, tasks, finances, and grades through voice and text conversation.
●Ash is a personal productivity system I designed and built entirely from scratch to solve a real problem — juggling coursework deadlines, grad assistant work, personal tasks, and finances across multiple devices with no unified system.
●Rather than using off-the-shelf apps, I built a custom solution that fits exactly how I work.
●The entire application ships as a single HTML file with no build step, no framework, and no backend server — yet supports real-time cross-device sync, AI conversation, voice input, live Canvas LMS integration, and persistent cloud storage.
●It runs as a Progressive Web App installable directly from the browser on any device.
Problem Statement
●Graduate students juggle multiple responsibilities: coursework deadlines, teaching assistant duties, personal tasks, and financial management — often across different devices without a unified system.
●Existing tools require switching between multiple apps (Google Calendar, Google Tasks, banking apps, LMS platforms) with no intelligent coordination.
●Users need a single, AI-powered assistant that understands their complete context and can provide personalized recommendations based on current deadlines, workload, finances, and academic performance.
●The system must work offline, sync seamlessly across devices, and integrate directly with academic platforms like Canvas.
Technology Stack
●Frontend: Vanilla JavaScript, HTML, CSS (zero-dependency, single HTML file)
●AI: Gemini 2.5 Flash API for context-aware conversational responses
●LMS Integration: Canvas LMS iCal API for automatic deadline sync
●Voice: Web Speech API for voice input and natural conversation
●Deployment: GitHub Pages as static hosting
●Development: No build tools, no npm, no bundler
System Architecture Diagram
●The architecture is built around a single index.html file that serves as the entire application, eliminating the need for any backend server or build tools.
●Multiple client devices (iPhone, Laptop) connect to the central application, which maintains offline cache in localStorage for seamless offline functionality.
●GitHub Pages hosts the application as a static file, with no server-side processing required.
●The application integrates with three external APIs: Supabase for real-time cloud synchronization, Gemini API for AI-powered conversations, and Canvas iCal for automatic deadline fetching.
●Web Speech API enables voice interaction directly in the browser, while all services communicate securely and sync across devices in real-time.
Key Architecture Decisions
●Zero-dependency architecture: The entire app is a single HTML file with embedded JavaScript and CSS, requiring no npm dependencies, build step, or bundler. This ensures maximum portability and minimal deployment complexity.
●iCal feed parsing from scratch: Implemented custom iCal parser to pull deadlines directly from Canvas LMS without API authentication, making integration seamless and automatic.
●Multi-proxy CORS fallback chain: Built resilient proxy fallback system to handle CORS limitations when fetching external resources, ensuring reliability across different network environments.
●Automatic localStorage-to-cloud migration: On first Supabase connection, the app automatically migrates all locally stored data to cloud, enabling seamless offline-first experience that syncs when online.
●QR-code device pairing: Implemented secure device pairing using QR codes, allowing users to synchronize data across multiple devices without manual authentication.
●Progressive Web App capabilities: The app installs directly from the browser on any device (desktop, tablet, phone) and works offline with automatic sync when connectivity returns.
Core Features
●AI Conversational Assistant: Ask questions like 'what should I focus on today?' and receive personalized answers based on your complete context (deadlines, tasks, spending, GPA).
●Academic deadline tracking: Automatic integration with Canvas LMS via iCal feeds pulls course deadlines and assignment due dates in real-time.
●Task & Todo Management: Create, organize, and prioritize personal tasks with intelligent scheduling suggestions from the AI.
●Financial tracking: Log and categorize monthly spending, receive insights on spending patterns, and get AI-driven budget recommendations.
●GPA projection: Track grades across courses and receive AI-generated GPA projections based on current performance and course load.
●Voice interaction: Use Web Speech API for hands-free voice commands and natural conversation with the assistant.
●Cross-device synchronization: Real-time sync across all devices using Supabase subscriptions — changes on one device instantly appear on others.
●Offline-first experience: All data stored locally with automatic cloud sync, ensuring full functionality even without internet connectivity.
Implementation Details
●The application is built as a single HTML file that bootstraps immediately without any build process or external dependencies.
●Vanilla JavaScript handles all functionality: DOM manipulation, state management, API communication, local storage, and service worker registration for PWA capabilities.
●The iCal parser extracts events from Canvas LMS feeds by parsing the iCal format directly, extracting due dates, course names, and assignment titles.
●Supabase integration handles real-time data synchronization using PostgREST for data operations and Realtime subscriptions for live updates across devices.
●The Gemini API integration constructs rich context prompts that include the user's current deadlines, pending tasks, monthly spending totals, and GPA data — enabling the AI to provide genuinely personalized responses.
●Web Speech API enables voice input transcription and voice output for read-back of AI responses, creating a natural conversational interface.
●Service worker registration enables PWA installation and offline functionality, with automatic sync queuing for operations performed while offline.
●QR-code pairing implementation uses a unique device ID and verification code approach, allowing users to link new devices securely without sharing sensitive credentials.
Real-World Usage
●Ash is a real tool that I use daily as a graduate student, not just a class project or demo application.
●The system has been refined through months of actual use, solving genuine productivity problems that other tools don't address.
●Typical workflow: Open Ash on my phone/laptop each morning, voice-query 'prioritize my week', receive personalized recommendations based on deadlines and spending, update tasks as I complete them, and sync everything across all devices.
●The ability to ask context-aware questions (e.g., 'which assignment should I start first?') and get intelligent answers based on deadline proximity, difficulty, and current workload is the key differentiator.
Key Achievements
●Built a personal productivity system entirely from scratch to solve real problem of juggling coursework deadlines, grad assistant work, personal tasks, and finances across multiple devices with no unified system.
●Architected the entire application to ship as a single HTML file with no build step, no framework, and no backend server — yet supports real-time cross-device sync, AI conversation, voice input, live Canvas LMS integration, and persistent cloud storage.
●Engineered zero-dependency architecture using Vanilla JS, HTML/CSS with no npm or bundler, running as a Progressive Web App installable directly from the browser on any device.
●Implemented AI layer using Gemini API to power a context-aware assistant that knows current deadlines, pending todos, monthly spending, and GPA projections — providing personalized answers instead of generic responses.
●Designed and built iCal feed parsing from scratch to integrate with Canvas LMS, created multi-proxy CORS fallback chain for reliability, and implemented automatic localStorage-to-cloud migration on first Supabase connect.
●Built QR-code device pairing system, integrated Web Speech API for voice input, and leveraged Supabase (PostgreSQL + real-time sync) for persistent cloud storage with automatic cross-device synchronization.