Aftersight

Open-source test intelligence, built CTRF-native. Self-hosted, MIT-licensed, AI in the core.

Now in development — in the open. Follow every commit, decision, and ship note as it happens.

Follow the build

Four pillars

01 / CTRF-native

Built on the standard, from the ground up

Playwright, Cypress, Jest, pytest and any CTRF-emitting runner — no per-framework adapters.
02 / Open-core, MIT-licensed

The open one

Community Edition is MIT-licensed and free. No feature-gated core, no forced upgrade path to get the basics working.
03 / Self-hosted

Your data stays on your infrastructure

One docker compose up and it runs on Postgres or SQLite, on any host you control. No mandatory SaaS hop for your test results.
04 / AI in the core

AI is core architecture, not an add-on

Failure categorization and pattern detection are built into the platform from day one, not bolted on later as a paid extra.

What it does

Aftersight takes CTRF (Common Test Report Format) JSON from your CI pipeline, stores every report persistently, and surfaces the patterns: trend lines, flaky-test detection, and failure categorization grouped by likely root cause. The dashboard is server-rendered HTML over a Postgres or SQLite backend; deployment is one docker compose up.

Because it is framework-agnostic by construction, teams running Playwright, Cypress, Jest, Vitest, pytest, PHPUnit, WebdriverIO, or any other CTRF-emitting runner get the same dashboard, the same schema, and the same AI-driven categorization — without writing a per-framework adapter.

Status: now in development

Now. Working through the MVP backlog — auth, project management, CTRF report ingestion, run history, trend rendering, failure categorization. Progress is documented in the open as it happens.

Soon. Community Edition Docker Compose release, install command, first-run walkthrough.

Two ways to follow or talk to us:

  • Follow the build on the blog — architecture decisions, feature ship notes, gap reviews.
  • Tell us about a use case via the button below — particularly if you have a CTRF reporter we should test against early.

Got a CTRF use case we should know about?

Tell us about it