Skip to content

DocsBuilding on Dawnscan

Badges

The embeddable badge: what it states, what it never states, how to add it.

Redesigned 2026-09-09. Every published project has an embeddable badge. It states what Dawnscan verified and nothing else: activity status, last ship, Still Building when it applies, and any distinction the Dawnscan team awarded. Never a score, a rank, a price, or a prediction.

The image

GET /api/badge/<slug> returns a self-contained SVG (the Dawnscan mark is inlined) for READMEs and sites that cannot frame a page. Options: ?theme=dark, ?style=pill. Cached like the share images (five minutes in a browser, an hour in a shared cache). An unpublished project is a 404.

[![Chit on Dawnscan](https://dawnscan.fun/api/badge/chit)](https://dawnscan.fun/project/chit)

/badge/<slug> shows the badge in both themes and hands out the snippets; it is the one page any site may frame.

Awards

The team can add one distinction of each kind to a project from Console → Badges (/admin/badges, admins only, permission badge.manage):

Kind Meaning
Dawnscan team pick Chosen by the Dawnscan team. Not a ranking, never paid.
Builder of the week The most consistent verified shipping Dawnscan saw this week.
Ship of the week One release the team thought worth pointing at this week.

An award lasts 7 days, 30 days, or until removed. Re-awarding the same kind replaces the live one. Awards show as a lime chip on the project page and on the badge, always with the words "Awarded by the Dawnscan team". Only published projects can carry one. Every award and removal is in audit_log (badge.awarded, badge.revoked).

Neutrality

project_badges is read by the badge, the project page header and the console, and by nothing else. packages/domain/src/hey/neutrality.test.ts fails the suite if a scoring, ranking, discovery or refresh module, or a public ranking page, ever references it.