A no-BS task manager, time tracker, and invoice generator built for freelance developers.
Terminal-style interface. Vim keybindings. Markdown tasks. No fluff.
- Task Management - Create and organize tasks with markdown, inline tags (
+project), due dates, and priority levels - Time Tracking - Start/stop work sessions and associate them with tasks automatically via shared tags
- Invoice Generation - Generate PDF invoices from tracked sessions with customizable rates, currency, and line items
- Shared Boards - Create password-protected public boards to share task lists with clients or collaborators
- Vim Keybindings - Full vim mode powered by CodeMirror, with a command palette (
:commandstyle) - Reports - Generate time reports and project summaries from your session data
| Layer | Technology |
|---|---|
| Frontend | SvelteKit 5 + Svelte 5 (runes) |
| Styling | Tailwind CSS 4 |
| Backend | Convex (real-time BaaS) |
| Editor | CodeMirror 6 (with Vim mode) |
| Auth | WorkOS AuthKit |
| jsPDF | |
| Markdown | marked + shiki |
| Deployment | Vercel |
- Clone the repo:
git clone https://github.com/FelipeAfonso/writequit.git
cd writequit- Install dependencies:
bun install- Create a
.env.localfile with your environment variables:
PUBLIC_CONVEX_URL=https://your-deployment.convex.cloud
PUBLIC_WORKOS_CLIENT_ID=your_workos_client_id- Set up Convex environment variables (in the Convex dashboard):
WORKOS_CLIENT_ID=your_workos_client_id
- Generate JWT keys for auth (and add the output to your Convex env vars):
bun run generateKeys.mjs- Start the development servers:
# In one terminal
bun run convex
# In another terminal
bun run devThe app will be available at http://localhost:1337.
src/
lib/
auth/ # WorkOS authentication adapter
components/ # Svelte components (tasks, sessions, tags, UI)
parser/ # Markdown task parser (extracts title, tags, due dates)
stores/ # Svelte state (command palette, settings)
utils/ # Helpers (PDF generation, sorting, datetime)
routes/
(app)/ # Authenticated app pages
board/[slug]/ # Public shared boards
callback/ # Auth callback
convex/ # Backend functions (schema, queries, mutations)
See CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License. See LICENSE for details.