{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigdpqxkv2htsh26nasrhwwy7n3duj46a2i54fnqov7r63zs5pw37a",
    "uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3moocnjksyqa2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreifhxrpfw2rzpbhw4lhgm4frgkrq5jbdjzljep5jg6pxlh27r3ujqi"
    },
    "mimeType": "image/webp",
    "size": 159616
  },
  "path": "/meghost_cfd3ab1dc3cca8ed9/i-built-an-open-source-self-hostable-toggl-alternative-with-built-in-invoicing-6nf",
  "publishedAt": "2026-06-19T20:57:11.000Z",
  "site": "https://dev.to",
  "tags": [
    "showdev",
    "opensource",
    "selfhosted",
    "webdev",
    "Logr"
  ],
  "textContent": "As a designer who freelances on the side, I kept hitting the same two annoyances with time trackers:\n\n  1. The good ones are proprietary, cloud-only, and charge **per seat** the moment you grow.\n  2. There's always an awkward gap between _\"hours tracked\"_ and _\"invoice the client actually pays.\"_ You track in one tool, then re-type everything into an invoice somewhere else.\n\n\n\nSo I built **Logr** — a free, open-source, self-hostable time tracker where the timer, per-client rates, and invoicing all live on **one screen**.\n\n##  What it does\n\n  * ⏱️ One-click timer with an automatic, live day timeline\n  * 💸 **Built-in invoicing** — turn unbilled sessions into an invoice in a couple of clicks\n  * 🔗 Shareable invoice & report links (your client just opens a URL — no account)\n  * 👥 Per-client / per-project billing rates\n  * 📥 Import your history from Toggl (CSV)\n  * 🤖 A built-in **MCP server endpoint** — so you can query your own time data from an AI assistant\n\n\n\n##  Why open-source + self-hostable\n\nYour time entries and client data are sensitive. With Logr they live in **your own Supabase database** — not on a vendor's servers. The whole codebase is **AGPL-3.0** , so you can audit it, fork it, or host it yourself. No per-seat pricing, no feature gating, no lock-in.\n\n##  The stack\n\n  * **Next.js 16** (App Router) + **React 19**\n  * **Supabase** (Postgres + auth + RLS)\n  * **Tailwind v4** + shadcn/ui\n  * Deploys to **Vercel** (one click), **Docker** , Fly.io, or any Node host\n\n\n\n##  Self-host it in ~5 minutes\n\n\n    bash\n    git clone https://github.com/zerox9dev/logr\n    # create a free Supabase project, then set 3 env vars:\n    #   NEXT_PUBLIC_SUPABASE_URL\n    #   NEXT_PUBLIC_SUPABASE_ANON_KEY\n    #   SUPABASE_SERVICE_ROLE_KEY\n    npm install && npm run build && npm start\n",
  "title": "I built an open-source, self-hostable Toggl alternative with built-in invoicing"
}