{"adoption": {"forks": 282, "observed_at": "2026-08-28T04:06:40.766180+00:00", "stars": 2358}, "canonical_url": "https://ross.abutalabs.com/products/futurice-backend-best-practices", "card": {"archived": false, "artifact_type": "learning-resource", "description": "An evolving description of general best practices for backend development.", "domain": ["backend", "developer-tools", "documentation", "security"], "enriched": true, "function": ["documentation", "developer-tools", "security", "monitoring", "deployment"], "health_score": 20, "homepage": null, "language": null, "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["futurice/backend-best-practices"], "name": "futurice/backend-best-practices", "platform": ["cloud"], "pushed_at": "2019-09-20T06:42:54+00:00", "repo": "futurice/backend-best-practices", "stars": 2358, "tags": ["best-practices", "checklists", "backend-development", "guidelines", "engineering-culture", "devops", "web-server", "docker"], "topics": ["best-practices"], "urls": [], "use_cases": ["learn backend development best practices", "find a checklist for releasing a backend service", "decide between SQL and NoSQL for data persistence", "harden backend security like secrets and password storage", "set up development, staging, and production environments", "plan application monitoring and status pages"], "what_it_is": "An evolving, community-maintained guide from Futurice describing general best practices for backend development, covering persistence, environments, security, and monitoring. It is a documentation/checklist resource rather than runnable software.", "when_to_avoid": ["you need runnable code, libraries, or tooling rather than written guidance", "you require a specific, versioned standard or compliance framework", "you need language-specific backend advice"], "when_to_choose": ["you want opinionated, practical guidelines for building and operating backend services", "you need checklists for releases, responsibilities, and security reviews", "you are onboarding developers into backend engineering practices"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/futurice-backend-best-practices", "repo": "futurice/backend-best-practices", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "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:40.766180+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.766180+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:36:15.309627+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b16be9a989643839dde6c8db73655c9f133ca1921214a6fc020829700d2b4153", "fetched_at": "2026-08-28T04:06:40.766180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/futurice/backend-best-practices"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4352, "days_push": 2539, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}