{"id":50489402,"url":"https://github.com/raiz-toff/comma","last_synced_at":"2026-06-02T01:05:51.337Z","repository":{"id":355346293,"uuid":"1221633132","full_name":"raiz-toff/comma","owner":"raiz-toff","description":"A local only Webapp For Dashers","archived":false,"fork":false,"pushed_at":"2026-05-15T04:01:16.000Z","size":18575,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-15T05:45:00.253Z","etag":null,"topics":["finance-management","webapp"],"latest_commit_sha":null,"homepage":"https://comma-psi.vercel.app/","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/raiz-toff.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-04-26T13:34:36.000Z","updated_at":"2026-05-15T04:01:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/raiz-toff/comma","commit_stats":null,"previous_names":["raiz-toff/macadam","raiz-toff/comma"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raiz-toff/comma","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raiz-toff%2Fcomma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raiz-toff%2Fcomma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raiz-toff%2Fcomma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raiz-toff%2Fcomma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raiz-toff","download_url":"https://codeload.github.com/raiz-toff/comma/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raiz-toff%2Fcomma/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33800703,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["finance-management","webapp"],"created_at":"2026-06-02T01:05:50.347Z","updated_at":"2026-06-02T01:05:51.332Z","avatar_url":"https://github.com/raiz-toff.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"public/web-app-manifest-512x512.png\" alt=\"COMMA Logo\" width=\"128\" /\u003e\n  \u003ch1\u003eCOMMA\u003c/h1\u003e\n  \u003cp\u003e\u003cstrong\u003eA fast, local-first earnings tracker built exclusively for gig economy delivery drivers.\u003c/strong\u003e\u003c/p\u003e\n\n  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n  [![Build](https://img.shields.io/badge/build-esbuild-brightgreen)](https://esbuild.github.io/)\n  [![PWA](https://img.shields.io/badge/PWA-Ready-blue)](#)\n\u003c/div\u003e\n\n\u003e [!WARNING]  \n\u003e **Currently in Active Development**  \n\u003e COMMA's core engine is fully functional, but currently **only Ontario (Canada) is officially added** to the market registry. Other provinces, states, and countries are not yet added. We highly encourage and thank you for any contributions to add your local region's tax rules and platforms! (See the docs below on how to add a country/province).\n\n---\n\n## What is COMMA?\n\nCOMMA is an advanced, offline-first dashboard for multi-apping delivery drivers (DoorDash, Uber Eats, Skip, Instacart, etc.). It helps you track your true net hourly rate, vehicle expenses, tax obligations, and goal streaks—all without your data ever leaving your device.\n\nBy treating gig work like a real business, COMMA gives you the same analytics an office worker takes for granted, tailored to the realities of delivery logistics.\n\n---\n\n## App Interface\n\nExperience a state-of-the-art interface designed for speed and clarity.\n\n### Dashboard \u0026 Analytics\nThe heart of COMMA. A high-fidelity Bento-style dashboard providing real-time insights into your earnings, expenses, and goal progress.\n\n![Dashboard Overview](docs/images/image.png)\n\n\u003ctable width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\" align=\"center\"\u003e\n      \u003cstrong\u003ePlatform Switcher\u003c/strong\u003e\u003cbr/\u003e\n      \u003cimg src=\"docs/images/image-2.png\" alt=\"Platform Switcher\" /\u003e\u003cbr/\u003e\n      \u003cem\u003eSeamlessly switch with a touch-optimized sliding pill.\u003c/em\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"50%\" align=\"center\"\u003e\n      \u003cstrong\u003eVisual Goals\u003c/strong\u003e\u003cbr/\u003e\n      \u003cimg src=\"docs/images/image-3.png\" alt=\"Visual Goals\" /\u003e\u003cbr/\u003e\n      \u003cem\u003eTrack targets with interactive SVG progress rings.\u003c/em\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Expenses \u0026 Settings\nManage your business costs with region-specific tax categories and fine-tune your experience with modular settings.\n\n\u003ctable width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\" align=\"center\"\u003e\n      \u003cstrong\u003eExpense Tracking\u003c/strong\u003e\u003cbr/\u003e\n      \u003cimg src=\"docs/images/image-1.png\" alt=\"Expense Tracking\" /\u003e\u003cbr/\u003e\n      \u003cem\u003eDetailed management with tax set-aside hints.\u003c/em\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"50%\" align=\"center\"\u003e\n      \u003cstrong\u003eModular Settings\u003c/strong\u003e\u003cbr/\u003e\n      \u003cimg src=\"docs/images/image-4.png\" alt=\"Settings\" /\u003e\u003cbr/\u003e\n      \u003cem\u003eA tabbed, organized interface for personalization.\u003c/em\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Features\n\n* **Multi-App Intelligence**: Define which platforms you run. COMMA understands their unique terms (Peak Pay vs. Surge) and provides platform-specific form fields.\n* **True Net Earnings**: Auto-calculates your real hourly rate after fuel, maintenance, and vehicle depreciation.\n* **Tax Peace of Mind**: Computes suggested tax set-asides based on your region, handles Canadian HST tracking, and isolates deductible business expenses.\n* **Gamification \u0026 Goals**: Set weekly earnings targets, maintain streaks, and unlock achievement badges.\n* **100% Offline \u0026 Private**: Built on IndexedDB and a custom Service Worker. It works in dead zones, and your financial data never hits a cloud server.\n* **Blazing Fast**: Vanilla JavaScript and CSS. Zero framework overhead.\n\n---\n\n## Quick Start\n\nRequires [Node.js](https://nodejs.org/) (v18+) solely for the local build server.\n\n```bash\n# 1. Clone the repository\ngit clone https://github.com/raiz-toff/comma.git\ncd comma\n\n# 2. Install dev dependencies (esbuild)\nnpm install\n\n# 3. Start the dev server in watch mode\nnpm run dev\n```\n\nOpen `http://localhost:3000` (or whatever port `serve` assigns) in your browser.\n\n\u003e **Tip:** You can install COMMA as a standalone app on your phone or desktop directly from your browser (PWA).\n\n---\n\n## Tech Stack\n\nCOMMA is an exercise in stripping away modern web bloat:\n\n* **No Frameworks**: 100% Vanilla JS (ES2022) and Vanilla CSS.\n* **Database**: `Dexie.js` wrapping IndexedDB for powerful client-side querying.\n* **Bundler**: `esbuild` for instant builds.\n* **Charts**: `Chart.js` (vendored).\n* **Routing**: Simple hash-based router.\n* **PWA**: Custom, hand-written Service Worker (no Workbox black boxes).\n\n---\n\n## Documentation\n\nCOMMA is built on a highly modular **Registry Architecture** that separates core engine logic from market/platform specifics. Check out the `docs/` folder to understand how it works or how to extend it.\n\n* [**Architecture Overview**](docs/Registry_arch.md)\n* [**Feature Modularity**](docs/feature_modularity.md)\n* [**How to Add a Platform**](docs/adding-a-platform.md)\n* [**How to Add a Country**](docs/adding-a-country.md)\n* [**How to Add a Province/State**](docs/adding-a-province.md)\n\n---\n\n## Contributing\n\nContributions are welcome! Please read the [Contributing Guide](CONTRIBUTING.md) to learn how to set up your environment, follow our architectural patterns, and submit pull requests.\n\nWe ask all contributors to abide by our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n---\n\n## License\n\nCOMMA is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraiz-toff%2Fcomma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraiz-toff%2Fcomma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraiz-toff%2Fcomma/lists"}