{"adoption": {"forks": 705, "observed_at": "2026-08-28T04:09:28.489304+00:00", "stars": 5748}, "canonical_url": "https://ross.abutalabs.com/products/mailtrain", "card": {"archived": false, "artifact_type": "application", "description": "Self hosted newsletter app", "domain": ["email", "self-hosted", "web-development"], "enriched": true, "function": ["email", "self-hosted", "http-server", "workflow-automation", "analytics"], "health_score": 47, "homepage": null, "language": "JavaScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["Mailtrain-org/mailtrain"], "name": "Mailtrain-org/mailtrain", "platform": ["self-hosted"], "pushed_at": "2025-10-05T17:53:53+00:00", "repo": "Mailtrain-org/mailtrain", "stars": 5748, "tags": ["newsletter", "email-marketing", "mailing-lists", "campaigns", "marketing-automation", "zone-mta", "subscriber-management", "marketing", "automation", "nodejs", "linux", "docker", "web-server"], "topics": ["mailtrain", "marketing-automation", "email-marketing"], "urls": [], "use_cases": ["self-host a newsletter app instead of Mailchimp", "manage subscriber lists and send email campaigns", "send RSS-to-email automated campaigns", "segment mailing lists with custom fields", "host subscription management forms on my own domain", "send bulk email from my own server"], "what_it_is": "Mailtrain is a self-hosted newsletter application built on Node.js and MySQL/MariaDB for managing subscriber lists and sending email campaigns. It includes list segmentation, custom fields, MJML templates, automation, and a built-in Zone-MTA for mail delivery.", "when_to_avoid": ["you need a fully managed service with high deliverability guarantees", "you cannot run your own server with at least 2 vCPU and 4 GB RAM", "you need advanced drag-and-drop marketing automation comparable to commercial platforms", "you lack the ability to manage DNS entries for multiple endpoints"], "when_to_choose": ["you want full control over your email marketing data on your own infrastructure", "you need subscriber list management, segmentation, and templated campaigns without SaaS fees", "you want built-in SMTP delivery via Zone-MTA with minimal setup", "you need granular multi-user permissions and hierarchical namespaces for teams"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mailtrain", "repo": "Mailtrain-org/mailtrain", "role": "main", "score": 43}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "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:09:28.489304+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.489304+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:53:18.765113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08d5b37694ada9106c33c1cc4cfd682d7784f9d82e37587f4e2d2b5b712b0476", "fetched_at": "2026-08-28T04:09:28.489304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Mailtrain-org/mailtrain"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 45, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3803, "days_push": 332, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 43, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}