A fully functional retro-themed web-based desktop environment inspired by TempleOS aesthetics. Built with Next.js 16, React 19, TypeScript, and Supabase.
- 🎨 Authentic Retro Aesthetic - CRT scanlines, 16-color VGA palette, monospace fonts, 3D beveled borders
- 📁 File Management System - Full CRUD operations with persistent storage
- ✏️ Text Editor - Edit files with real-time saving
- 💻 Console Terminal - Execute commands in a retro terminal
- 🤖 AI Chatbot - Integrated Vibely AI assistant powered by OpenRouter
- 🎨 Color Schemes - 4 retro color themes (Blue, Green, Amber, Red)
- 🔐 Authentication - Secure user accounts with Supabase Auth
- 💾 Persistent Storage - All data saved to PostgreSQL with Row Level Security
- 🪟 Draggable Windows - Fully interactive window management
- 📍 Desktop Icons - Draggable icons with position persistence
- Frontend: Next.js 16 (App Router), React 19, TypeScript
- Styling: Tailwind CSS v4, Custom CSS for retro effects
- Backend: Supabase (PostgreSQL + Auth)
- AI: OpenRouter API (GPT-3.5-turbo)
npm install- Create a new project at supabase.com
- Go to SQL Editor and run the contents of
supabase-setup.sql - Get your project URL and anon key from Settings > API
Create a .env.local file:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url_here
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key_here
OPENROUTER_API_KEY=your_openrouter_api_key_hereTo get an OpenRouter API key:
- Sign up at openrouter.ai
- Go to Keys section and create a new API key
npm run devOpen http://localhost:3000 in your browser.
id- UUID primary keyuser_id- References auth.usersname- File namecontent- File content (TEXT)file_type- File type (text, code, binary)folder- Folder location (root, documents, images, code, etc.)created_at- Timestampupdated_at- Timestamp
id- UUID primary keyuser_id- References auth.users (UNIQUE)desktop_color- Desktop background colorwindow_layout- JSONB for window positionswelcome_shown- Boolean flagcreated_at- Timestampupdated_at- Timestamp
- Create, read, update, delete files
- Upload files from your computer
- Download files to your computer
- Organize files in 9 folders
- Real-time file list updates
- Edit any text file
- Auto-save functionality
- Syntax highlighting (retro green on black)
- Save confirmation feedback
- Boot sequence animation
- Available commands: HELP, CLEAR, TIME, SYSINFO, UPTIME, ECHO
- Command history
- Retro green terminal aesthetic
- Real-time chat with AI
- Conversation history
- Retro-styled chat bubbles
- Powered by GPT-3.5-turbo
- Draggable windows with resize
- Draggable desktop icons
- Persistent icon positions
- System time display
- Taskbar with quick access buttons
- 4 color scheme options
- Row Level Security (RLS) ensures users can only access their own data
- All database queries are filtered by authenticated user ID
- API keys are server-side only
- Secure authentication with Supabase Auth
- Push your code to GitHub
- Import project in Vercel
- Add environment variables in Vercel project settings
- Deploy!
vibeos/
├── app/
│ ├── api/
│ │ └── chat/
│ │ └── route.ts # AI chat API endpoint
│ ├── auth/
│ │ ├── login/
│ │ │ └── page.tsx # Login page
│ │ └── signup/
│ │ └── page.tsx # Signup page
│ ├── desktop/
│ │ └── page.tsx # Main desktop environment
│ ├── globals.css # Global styles + retro effects
│ ├── layout.tsx # Root layout
│ └── page.tsx # Root redirect
├── components/
│ ├── color-scheme-selector.tsx # Color theme switcher
│ ├── console-window.tsx # Terminal console
│ ├── desktop-icons.tsx # Desktop icon grid
│ ├── file-explorer.tsx # File management UI
│ ├── retro-button.tsx # Styled button component
│ ├── retro-window.tsx # Draggable window component
│ ├── text-editor.tsx # File editor
│ ├── vibely-chatbot.tsx # AI chat interface
│ └── welcome-notification.tsx # First-time user welcome
├── lib/
│ └── supabase/
│ ├── client.ts # Browser Supabase client
│ ├── middleware.ts # Middleware Supabase client
│ └── server.ts # Server Supabase client
├── middleware.ts # Auth middleware
├── supabase-setup.sql # Database schema
└── package.json
New users automatically get 10 starter files:
- README.txt
- SYSTEM_INFO.txt
- GETTING_STARTED.txt
- NOTES.txt
- TIPS_AND_TRICKS.txt
- sample_code.js
- example.html
- GALLERY.txt
- PROJECTS.txt
- CHANGELOG.txt
- BLUE (Classic TempleOS) - Blue background, gray text, cyan accents
- GREEN (Terminal style) - Black background, green text
- AMBER (Retro monitor) - Black background, orange text
- RED (Alert style) - Black background, red text
Works best in modern browsers:
- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
MIT License - Feel free to use this project for learning or building your own retro OS!
Inspired by TempleOS, DOS, and Windows 95 aesthetics. Built with modern web technologies to deliver a nostalgic experience.
Enjoy your retro computing experience! 🎮