Skip to content

yibellawang-sudo/ODOT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bb88f74 · · Dec 11, 2025

History

54 Commits
Nov 15, 2025
Nov 16, 2025
Nov 16, 2025
Nov 15, 2025
Nov 15, 2025
Dec 11, 2025
Nov 16, 2025
Nov 16, 2025

Repository files navigation

ODOT

A personal life helper that tracks your screen time, organizes your tasks, and roasts you for doomscrolling.

Features

Screen Time Tracking

  • Monitors browsing activity in real-time
  • Categorizes sites as Work vs Play
  • Provides iOS-style screen time insights
  • Roasts you for spending too long on social media

Task Organizer

  • Input tasks with due dates and estimated time
  • Break down large tasks into smaller ones
  • Prioritizes based on importance and deadlines
  • Congratulates you for completing tasks

Goals & Prioritiesties

  • Set long-term and short-term goals
  • Daily priority tracking
  • Analyzes if your browsing aligns with your goals
  • Detects doomscrolling and distractions

Wellness Features (Coming Soon)

  • Food consumption tracking
  • Health evaluation
  • Diet suggestions & meal planslans
  • Timetable that prioritizes personal wellbeing

Tech Stack

Component Purpose
Chrome Extension Monitors browsing, detects doomscrolling
Electron App Desktop dashboard, task organizer
React UI components
Native Messaging Chrome ↔ Electron communication

Project Structure

odot/
├── src/
│   ├── electron.js           # Electron main process
│   ├── preload.js            # Electron preload script
│   ├── App.js                # React app entry
│   └── components/
│       ├── StartScreen.js    # Welcome screen
│       ├── Onboarding.js     # Feature selection
│       ├── WorkflowScreen.js # Route handler
│       └── Dashboard.js      # Screen time display
├── chrome-extension/
│   ├── manifest.json         # Extension config
│   ├── background.js         # Tracking logic
│   ├── popup.html            # Extension popup
│   └── popup.js              # Popup UI
├── nativeHost.js             # Native messaging bridge
└── package.json
�� package.json

App Flow

1. Welcome Screen
   └── "ODOT"

2. Onboarding: Pick a Workflow
   ├── Screentime Usage
   ├── Notes & Goals
   └── Todos

3. Dashboard (per workflow)
   ├── Stats
   ├── Analysis
   └── Settings
ngs
� Settings

Setup

1. Install Dependencies

cd odot
npm installl

2. Install Chrome Extension

  1. Open chrome://extensions
  2. Enable Developer mode (top right)
  3. Click Load unpacked
  4. Select the chrome-extension folder
  5. Copy the Extension ID

3. Run the App

You need 3 terminals running:

Terminal 1 — Start the data server:

node server.js

You should see: Server running at http://localhost:3737/

Terminal 2 — Start React:

npm run react-start

Terminal 3 — Start Electron:

npm start

Usage

  1. Download the code from GitHub
  2. Open the app and complete onboarding
  3. Pick a workflow (screentime, notes, or todos)
  4. Browse the web normally
  5. Check your stats, analysis, and get roasted

Color Palette

Color Hex Usage
#BEEF9E #BEEF9E Accent light
#A6C36F #A6C36F Primary green
#828C51 #828C51 Secondary
#335145 #335145 Dark accent
#1E352F #1E352F Background dark

Environment Variables

Create a .env file:

API_KEY=your_api_key_here

Scripts

Command Description
npm start Start Electron app
npm run react-start Start React dev server
npm run build Build for production

Roadmap

  • Chrome extension tracking
  • Screen time dashboard
  • Work vs Play analysis
  • Task organizer
  • Notes & goalsoals
  • Doomscroll detection & roastingting
  • Health tracking
  • Meal planning

License

MIT