{"adoption": {"forks": 612, "observed_at": "2026-08-28T04:06:29.415864+00:00", "stars": 2236}, "canonical_url": "https://ross.abutalabs.com/products/invobook", "card": {"archived": false, "artifact_type": "application", "description": "Self-hosted app for Time Tracking, Invoice Generation, Project & Client Management, built with Laravel & Filament.", "domain": ["developer-tools", "self-hosted", "web-development", "backend"], "enriched": true, "function": ["self-hosted", "developer-tools", "workflow-automation", "scheduling"], "health_score": 51, "homepage": null, "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Hasnayeen/invobook"], "name": "Hasnayeen/invobook", "platform": ["php", "self-hosted"], "pushed_at": "2025-11-12T22:28:22+00:00", "repo": "Hasnayeen/invobook", "stars": 2236, "tags": ["invoicing", "time-tracking", "project-management", "client-management", "laravel", "filament", "tall-stack", "freelance-tools", "web-server", "linux", "docker"], "topics": ["client-management", "filament", "filamentadmin", "invoice", "laravel", "php", "project-management", "tailwindcss", "time-tracker"], "urls": [], "use_cases": ["self-hosted invoicing app for freelancers", "track billable hours per project and generate invoices", "manage clients and projects in one place", "alternative to SaaS time-tracking tools", "send invoices to clients from my own server", "team task and time management with Laravel"], "what_it_is": "InvoBook is a self-hosted web application for time tracking, invoice generation, and project and client management, built on the Laravel framework with the Filament admin panel and the TALL stack. It lets teams and freelancers manage clients, projects, and tasks, track billable time, and create and send invoices from their own server.", "when_to_avoid": ["You need a turnkey hosted solution with no server maintenance", "You require advanced accounting features like taxes, multi-currency, or payment gateway integrations out of the box", "You are not comfortable deploying and maintaining a PHP/Laravel application"], "when_to_choose": ["You want full control over your invoicing and time-tracking data on your own infrastructure", "You are already on the Laravel/Filament ecosystem and want an extensible PHP app", "You need combined client, project, task, time, and invoice management in one tool"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/invobook", "repo": "Hasnayeen/invobook", "role": "main", "score": 55}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.415864+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:44:16.332884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e20e7ffa02711689349d0f724daec2a6a8bfa0101c5b9a63711cfd79cc403bb2", "fetched_at": "2026-08-28T04:06:29.415864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hasnayeen/invobook"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 51, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3488, "days_push": 294, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 55, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}