https://github.com/raiz-toff/comma
A local only Webapp For Dashers
https://github.com/raiz-toff/comma
finance-management webapp
Last synced: 24 days ago
JSON representation
A local only Webapp For Dashers
- Host: GitHub
- URL: https://github.com/raiz-toff/comma
- Owner: raiz-toff
- License: mit
- Created: 2026-04-26T13:34:36.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-15T04:01:16.000Z (about 1 month ago)
- Last Synced: 2026-05-15T05:45:00.253Z (about 1 month ago)
- Topics: finance-management, webapp
- Language: JavaScript
- Homepage: https://comma-psi.vercel.app/
- Size: 17.7 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
COMMA
A fast, local-first earnings tracker built exclusively for gig economy delivery drivers.
[](https://opensource.org/licenses/MIT)
[](https://esbuild.github.io/)
[](#)
> [!WARNING]
> **Currently in Active Development**
> 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).
---
## What is COMMA?
COMMA 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.
By 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.
---
## App Interface
Experience a state-of-the-art interface designed for speed and clarity.
### Dashboard & Analytics
The heart of COMMA. A high-fidelity Bento-style dashboard providing real-time insights into your earnings, expenses, and goal progress.

Platform Switcher

Seamlessly switch with a touch-optimized sliding pill.
Visual Goals

Track targets with interactive SVG progress rings.
### Expenses & Settings
Manage your business costs with region-specific tax categories and fine-tune your experience with modular settings.
Expense Tracking

Detailed management with tax set-aside hints.
Modular Settings

A tabbed, organized interface for personalization.
---
## Features
* **Multi-App Intelligence**: Define which platforms you run. COMMA understands their unique terms (Peak Pay vs. Surge) and provides platform-specific form fields.
* **True Net Earnings**: Auto-calculates your real hourly rate after fuel, maintenance, and vehicle depreciation.
* **Tax Peace of Mind**: Computes suggested tax set-asides based on your region, handles Canadian HST tracking, and isolates deductible business expenses.
* **Gamification & Goals**: Set weekly earnings targets, maintain streaks, and unlock achievement badges.
* **100% Offline & Private**: Built on IndexedDB and a custom Service Worker. It works in dead zones, and your financial data never hits a cloud server.
* **Blazing Fast**: Vanilla JavaScript and CSS. Zero framework overhead.
---
## Quick Start
Requires [Node.js](https://nodejs.org/) (v18+) solely for the local build server.
```bash
# 1. Clone the repository
git clone https://github.com/raiz-toff/comma.git
cd comma
# 2. Install dev dependencies (esbuild)
npm install
# 3. Start the dev server in watch mode
npm run dev
```
Open `http://localhost:3000` (or whatever port `serve` assigns) in your browser.
> **Tip:** You can install COMMA as a standalone app on your phone or desktop directly from your browser (PWA).
---
## Tech Stack
COMMA is an exercise in stripping away modern web bloat:
* **No Frameworks**: 100% Vanilla JS (ES2022) and Vanilla CSS.
* **Database**: `Dexie.js` wrapping IndexedDB for powerful client-side querying.
* **Bundler**: `esbuild` for instant builds.
* **Charts**: `Chart.js` (vendored).
* **Routing**: Simple hash-based router.
* **PWA**: Custom, hand-written Service Worker (no Workbox black boxes).
---
## Documentation
COMMA 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.
* [**Architecture Overview**](docs/Registry_arch.md)
* [**Feature Modularity**](docs/feature_modularity.md)
* [**How to Add a Platform**](docs/adding-a-platform.md)
* [**How to Add a Country**](docs/adding-a-country.md)
* [**How to Add a Province/State**](docs/adding-a-province.md)
---
## Contributing
Contributions 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.
We ask all contributors to abide by our [Code of Conduct](CODE_OF_CONDUCT.md).
---
## License
COMMA is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for more details.