A simple, community-maintained open-source task tracker. Add tasks, check them off, never lose them — everything is stored in your browser.
Status: Active development. We accept bounties via CodeBounty on tagged issues.
- Single-page, zero-build web app
- Tasks persist in
localStorageby default, with optional GitHub sign-in sync - GitHub OAuth uses PKCE in the browser and an HTTP-only session cookie
- Keyboard-friendly (more shortcuts coming, see #5)
- Light & dark themes (dark coming, see #1)
- MIT licensed
git clone https://github.com/CodeBountyOrg/taskforge-demo.git
cd taskforge-demo
npm start
open http://localhost:8000GitHub sign-in is enabled when GITHUB_CLIENT_ID is set. If your OAuth app
requires it, set GITHUB_CLIENT_SECRET on the server too; the secret is only
used by the backend token exchange endpoint.
We welcome contributions! See CONTRIBUTING.md — TL;DR:
- Pick an open issue with the
💰 Bounty Availablelabel. - Apply on the bounty's CodeBounty page (linked in the issue).
- Once accepted, fork → branch → PR. Reference the issue number in the PR body (
Closes #N). - After merge, your payout is released via Stripe.
Maintainers approve bounties before they open and review all PRs before merge.
- HTML5, CSS3 (custom properties + flexbox)
- Vanilla JavaScript (ES2020+); no framework, no build step
- Built-in Node.js server for static assets, GitHub OAuth, sessions, and task sync
localStoragefallback for unsigned users and offline edits- ESLint + Prettier for code style
MIT — see LICENSE.