{"id":47723596,"url":"https://github.com/sidhu1512/doing-it","last_synced_at":"2026-04-02T20:00:18.249Z","repository":{"id":348231030,"uuid":"1196957679","full_name":"sidhu1512/doing-it","owner":"sidhu1512","description":"A Windows desktop productivity widget — featuring an always-on-top panel with markdown notes, tasks, Pomodoro timers, and calendar sync.","archived":false,"fork":false,"pushed_at":"2026-03-31T09:33:32.000Z","size":1192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-31T11:34:27.101Z","etag":null,"topics":["electron","productivity-app","todo-app","windows-11"],"latest_commit_sha":null,"homepage":"https://sidhu1512.github.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sidhu1512.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-31T07:42:25.000Z","updated_at":"2026-03-31T09:33:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sidhu1512/doing-it","commit_stats":null,"previous_names":["sidhu1512/doing-it"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/sidhu1512/doing-it","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidhu1512%2Fdoing-it","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidhu1512%2Fdoing-it/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidhu1512%2Fdoing-it/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidhu1512%2Fdoing-it/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sidhu1512","download_url":"https://codeload.github.com/sidhu1512/doing-it/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidhu1512%2Fdoing-it/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31314770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","productivity-app","todo-app","windows-11"],"created_at":"2026-04-02T20:00:14.066Z","updated_at":"2026-04-02T20:00:18.226Z","avatar_url":"https://github.com/sidhu1512.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Doing It\n\n[![Download for Windows](https://img.shields.io/badge/Download-Windows_Setup-blue?style=for-the-badge\u0026logo=windows)](https://github.com/sidhu1512/doing-it/releases/download/v4.2.0/Doing.It.Setup.4.2.0.exe)\n\nA **state-of-the-art** Windows desktop productivity widget — floating always-on-top panel with notes, tasks, reminders, focus timer, and calendar. Deeply integrated with Windows 11 via native Mica material, command palette, markdown rendering, task-driven focus timers, and 20+ premium features. v4.2.0 introduces 4 luxury dynamic glassmorphism color themes (Dark, Orange, Red, Yellow).\n\n\u003e [!NOTE]\n\u003e **Windows SmartScreen Alert during Installation**\n\u003e Because this is a free, open-source tool, the `.exe` installer does not include an expensive corporate Code Signing Certificate. When you first launch the downloaded `Doing.It.Setup.exe`, Windows Defender SmartScreen might show a blue *\"Windows protected your PC\"* popup indicating an \"Unknown Publisher\". \n\u003e **To bypass this:** Click **\"More Info\"** in the text, and then click **\"Run Anyway\"**.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"imgs/Screenshot%202026-03-31%20133503.png\" width=\"32%\"\u003e\n  \u003cimg src=\"imgs/Screenshot%202026-03-31%20133541.png\" width=\"32%\"\u003e\n  \u003cimg src=\"imgs/Screenshot%202026-03-31%20133715.png\" width=\"32%\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"imgs/Screenshot%202026-03-31%20133732.png\" width=\"32%\"\u003e\n  \u003cimg src=\"imgs/Screenshot%202026-03-31%20133742.png\" width=\"32%\"\u003e\n  \u003cimg src=\"imgs/Screenshot%202026-03-31%20133756.png\" width=\"32%\"\u003e\n\u003c/p\u003e\n\n---\n\n## Overview\n\nDoing It is a lightweight Electron-based desktop application that lives as an always-on-top overlay. It provides instant access to essential productivity tools without switching windows. Think of it as **Raycast + Obsidian + Things 3** merged into a single, zero-friction Windows widget.\n\n---\n\n## Features\n\n### Notes\n- Quick note capture with search, pin, and inline editing\n- **Rich Markdown rendering** — `**bold**`, `*italic*`, `` `code` ``, `~~strike~~`, checklists, tables, blockquotes\n- **Rich Link Previews** — URLs in notes automatically unfurl into beautiful clickable cards with OpenGraph thumbnails and descriptions\n- **Image pasting** — `Ctrl+V` saves clipboard images as thumbnails\n- **Context-aware capture** — shows which app you were in when clipping\n- Undo delete with keyboard (`Ctrl+Z` not supported — use delete carefully)\n- **Universal `#hashtags`** — type `#tag` to organize; dynamic filter pills auto-appear\n\n### Tasks\n- Full task management with priority cycling and due dates\n- **Smart NLP Capture** — type natural language dates like \"Meeting tomorrow at 3pm\" and the widget automatically schedules it and creates a background reminder\n- **▶ Focus button** — click to auto-start a task-driven Pomodoro session\n- **Time tracking** — logged `Xm focused` on each task after timer sessions\n- **Draggable scheduling** — drag tasks onto calendar dates to set due dates\n- **File shortcuts** — drag files from Explorer to attach clickable file links\n- **Markdown rendering** — `#hashtags`, `**bold**`, `` `code` `` rendered in task text\n- **Markdown checklists** — type `- [ ] Subtask` for interactive checkboxes\n- **\"My Day\" view** — unified Today section showing tasks + reminders + calendar events\n- Filters: All, Active, Completed, Overdue\n- Auto-sort by priority, bulk clear completed\n\n### Reminders\n- Date + time with repeat options (Daily, Weekly, Monthly)\n- System notification + audio beep + in-app popup with Snooze/Dismiss\n- Recurring auto-creation, auto-cleanup after 24 hours\n\n### Focus Timer (Pomodoro) \u0026 Ambient Audio\n- SVG ring progress with gradient, presets (25/15/45/5 min)\n- **Ambient Focus Audio** — built-in seamless loops for Deep Focus (Brown Noise) and Heavy Rain to boost concentration, natively fading in and out with the timer\n- **Task-driven mode** — ▶ on a task auto-switches to Focus, displays task name\n- **\"Did you finish?\"** prompt on completion → auto-completes and logs time\n- **Pop-out Mini Timer** — detachable PiP countdown pill\n- **Smart Timer** — auto-pauses on `Win+L` screen lock\n- **Auto-DND** — automatically enables Windows Focus Assist when timer starts\n- Daily stats + 7-day weekly history bar chart\n\n### Advanced Insights Dashboard\n- **Weekly Velocity Chart** — sophisticated CSS grid visualization of your task completion rates over the last 7 rolling days\n- **Productivity Correlations** — tracks and displays Total Deep Focus hours, Active vs Completed items, and your most Frequent Mood\n- Instant real-time rendering on every tab switch\n\n### Calendar\n- Monthly grid with clickable days and event dots\n- **External .ics sync** — paste Google Calendar/Outlook .ics URL in Settings\n- **Grey dots** for external events, **\"Join Meeting\"** button for Zoom/Teams/Meet\n- **Drag-and-drop scheduling** — drop tasks onto dates to set due dates\n- Upcoming events list with task/reminder/external event types\n\n### Command Palette (Ctrl+K)\n- **Fuzzy search** across all notes + tasks simultaneously\n- **Action commands** — type `\u003e` for: Start Timer, Clear Completed, Switch Tabs, Open Settings, Undock Window\n- Arrow-key selection + Enter to execute\n- Dimmed backdrop with floating search bar\n\n### Arrow-Key Navigation\n- `↑/↓` to highlight items in any list (no mouse needed)\n- `Space` checks off tasks, `Enter` opens edit, `Delete` removes\n\n### System Integration\n- **Native Mica/Acrylic material** — hardware-accelerated frosted glass\n- **Multi-monitor awareness** — all windows open on the active display\n- **Screen edge docking** — drag to edge → full-height sidebar (Windows Copilot-style)\n- **Context-aware capture** — PowerShell WinAPI detects foreground window title\n- **Global Clipboard Injection** — `Ctrl+Shift+C` clips text from any app as a note\n- **Smart lock-screen detection** — auto-pauses timers on `Win+L`\n- **BYOC Storage** — point save directory to OneDrive/Dropbox for cloud sync\n- **Rolling backups** — automatic 5-day backup history on every launch\n- **Silent Image GC** — orphaned images auto-cleaned 30s after boot\n- Auto-start, system tray, single instance lock, taskbar pinning\n\n### Settings\n- Gear icon in header → modal overlay\n- Custom storage location (BYOC cloud sync)\n- External calendar .ics URL\n- Keyboard shortcut reference\n- Data protection info\n\n### Keyboard Shortcuts\n| Shortcut | Action |\n|----------|--------|\n| `Ctrl+Shift+N` | Toggle widget visibility (global) |\n| `Ctrl+Shift+C` | Clip text from clipboard as a note (global) |\n| `Ctrl+K` | Command palette — search \u0026 actions |\n| `Ctrl+1` to `Ctrl+5` | Switch tabs |\n| `↑/↓` | Navigate lists with keyboard |\n| `Space` | Toggle task completion (when highlighted) |\n| `Enter` | Edit highlighted item / add new item |\n| `Delete` | Delete highlighted item |\n| `Esc` | Close popups / Hide app |\n| `Drag file → Task` | Attach file shortcut to task |\n| `Drag task → Calendar` | Schedule task on a date |\n\n---\n\n## Design\n\n- **Native Windows 11 Mica material** — hardware-accelerated blur\n- **Minimalist dark charcoal** theme — professional greys\n- **Inter** font from Google Fonts\n- **SVG icons** throughout — no emojis for core UI\n- **Acrylic effect** on Quick Add, FAB, and Mini Timer\n- Smooth micro-animations on all interactions\n- Markdown-rendered notes with styled code blocks and links\n\n---\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|-----------|\n| Framework | Electron 28 |\n| Language | JavaScript (ES6+) |\n| Styling | Vanilla CSS with custom properties |\n| Font | Inter (Google Fonts) |\n| Data Store | JSON file (Node.js fs) |\n| Audio | Web Audio API |\n| Notifications | Electron Notification API |\n| Background Material | Windows 11 Mica / Acrylic |\n| Active Window | PowerShell + WinAPI (user32.dll) |\n| Calendar Sync | Node.js https + custom .ics parser |\n| Markdown | Custom lightweight parser (zero deps) |\n| Search | Custom fuzzy match algorithm |\n| Packaging | electron-builder (NSIS installer) |\n\n---\n\n## Project Structure\n\n```\nDoing It/\n├── main.js            # Main process — windows, IPC, tray, data, active window, .ics, docking\n├── preload.js         # Context bridge — 25+ secure IPC methods\n├── renderer.js        # UI logic — all features, command palette, markdown, arrow nav\n├── index.html         # Main widget — 5-tab layout + command palette + settings\n├── fab.html           # Floating action button (AssistiveTouch)\n├── quickadd.html      # Quick Add bar — instant capture\n├── mini-timer.html    # PiP mini timer — countdown pill\n├── styles.css         # Complete design system — 870+ lines\n├── start.js           # Launcher script\n├── afterPack.js       # Build hook — patches brain icon into exe via rcedit (3s delay + 5 retries)\n├── package.json       # Dependencies + electron-builder config\n├── README.md          # This file\n├── DOCUMENTATION.md   # Deep technical documentation\n├── CHANGELOG.md       # Version history\n├── build/\n│   ├── icon.ico       # Build icon (Windows ICO, multi-size)\n│   ├── icon.png       # Build icon (PNG source)\n│   └── installer.nsh  # NSIS custom uninstall script\n└── assets/\n    ├── icon.ico       # Application icon (Windows)\n    └── icon.png       # Application icon (PNG)\n```\n\n---\n\n## Architecture\n\n### Four-Window System\n\n1. **Main Widget** (`index.html`) — 400×650 panel (or full-height when edge-docked)\n2. **Floating Icon** (`fab.html`) — 48×48 draggable button\n3. **Quick Add Bar** (`quickadd.html`) — 520×68 instant capture\n4. **Mini Timer** (`mini-timer.html`) — 180×56 PiP countdown\n\n### IPC Channels (25+)\n\n| Channel | Purpose |\n|---------|---------|\n| `get-notes` / `save-notes` | Notes CRUD |\n| `get-todos` / `save-todos` | Tasks CRUD |\n| `get-reminders` / `save-reminders` | Reminders CRUD |\n| `get-pomodoro` / `save-pomodoro` | Pomodoro state + weekly history |\n| `get-settings` / `save-settings` | BYOC storage + .ics URL |\n| `choose-directory` | OS folder picker |\n| `show-notification` | System notifications |\n| `get-active-window` | Foreground app detection (PowerShell) |\n| `save-clipboard-image` | Clipboard image → PNG file |\n| `fetch-ics-calendar` | .ics fetch + parse |\n| `open-file-path` | Native file open |\n| `open-external-url` | Open URL in default browser |\n| `get-dock-state` / `undock-window` | Edge docking |\n| `dock-state-changed` | Dock state notifications |\n| `quick-add-save` / `quick-add-close` | Instant capture |\n| `pop-out-timer` / `mini-timer-close` | PiP timer |\n| `timer-pause` / `timer-resumed` | Lock screen detection |\n| `data-changed` | Sync after Quick Add / clipboard |\n| `toggle-focus-assist` | Windows DND toggle (Pomodoro) |\n\n### Security\n\n- `contextIsolation: true` — no direct Node.js access in renderer\n- `nodeIntegration: false` — no `require()` in renderer\n- `preload.js` — only specific API methods via `contextBridge`\n\n---\n\n## How to Run\n\n```bash\ncd \"Doing It\"\nnpm install\nnpm start\n```\n\n### Build Installer\n```bash\nnpx electron-builder --win --x64\n```\n\n---\n\n## Data Storage\n\nAll data: `%APPDATA%/doing-it/doing-it-data.json`\n\n**BYOC:** Change save location via Settings → point to OneDrive/Google Drive/Dropbox.\n\n**Backups:** Rolling 5-day history in `backups/` subfolder. Crash-resilient cleanup — individual backup errors are caught and logged without affecting other backups.\n\n**Images:** Pasted images saved to `images/` folder alongside the JSON data. Orphaned images (from deleted notes) are automatically garbage collected 30 seconds after app boot.\n\n---\n\n## Developer Notes — DO NOT CHANGE\n\nThe following elements are **strictly protected**. Do not modify them under any circumstances:\n\n| Protected Element | Files | Why |\n|---|---|---|\n| **App Icons** | `build/icon.ico`, `assets/icon.ico`, `assets/icon.png` | Custom brain icon — never replace, regenerate, or overwrite |\n| **Window Transparency** | `main.js` → `transparent: true`, `backgroundColor: '#00000000'` | Required for frameless rounded-corner window |\n| **Frameless Window** | `main.js` → `frame: false` | Enables custom title bar and drag behavior |\n| **Rounded Corners** | `styles.css` → `clip-path: inset(0 round 8px)` | Creates the signature rounded window shape |\n| **Icon Patching** | `afterPack.js` → uses `build/icon.ico` | Patches icon into exe during build; uses `rcedit` npm package |\n\n---\n\n## License\n\nPrivate project. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidhu1512%2Fdoing-it","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsidhu1512%2Fdoing-it","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidhu1512%2Fdoing-it/lists"}