Join the waitlist.
A one-page micro-SaaS assembled from four verified parts — rate limiting, an append-only audit log, transactional email, and signed webhook ingestion. The app you're looking at wrote only the seams between them.
The seams, part by part
Pick a part. On the left is the entire seam this app wrote to wire it; on the right, the contract invariantthat seam leans on. That's the deal — the part guarantees the invariant, the app writes the seam, nothing in parts/ is touched.
// proxy.ts — Next 16's renamed middleware (Node runtime)
const limiter = rateLimitMiddleware({
rule: { limit: 5, windowSeconds: 60 },
});
export async function proxy(request: NextRequest) {
const limited = await limiter(request); // 429, or null to pass
return limited ?? NextResponse.next();
}
export const config = { matcher: "/api/join" };The middleware mount. The app picks the policy; the part enforces it.
Within one fixed window, the first `limit` requests for a key are allowed and every request beyond `limit` is rejected
ratelimit.api · verified by its conformance suite · attested in parts.lock.Try to break it
The verification half — the parts' defenses, fired live against this running app. No build, no vendor, no credentials.
Each delivery is signed server-side with the real WEBHOOK_SECRET, then sent to the mounted route. The part verifies the HMAC over the raw bytes before the handler runs.
Flip the vendor in one command
Switching Resend → Postmark is a partkit upgrade, not a rewrite. The vendored adapter and the env line change; not one seam line moves. Captured from a real run:
$ partkit upgrade email.transactional --adapter=postmarkparts/email.transactional/adapters/selected/adapter.ts48parts/email.transactional/ATTESTATION.json10parts.lock"adapter": "resend" → "postmark".env.exampleEMAIL_ADAPTER=resend → postmark
Proof: only the seams
(+2105 lines)
under parts/
(3,850 lines)
boundary intact
app/globals.css+793app/page.tsx+169app/_components/BreakIt.tsx+165app/trail/page.tsx+135lib/exhibits.ts+128scripts/send-test-webhook.mjs+108app/_components/JoinForm.tsx+96app/api/demo/route.ts+94scripts/gen-proof.mjs+89app/api/join/route.ts+64app/_components/SeamExplorer.tsx+61lib/email/welcome.ts+51app/layout.tsx+48app/api/webhooks/ingest/route.ts+46lib/db.ts+31proxy.ts+27Attested bill of materials
Rendered live from parts.lock — every part pinned by content hash, with its conformance attestation.
Vendored from registry.partkit.dev via the published CLI (no --registry flag). dev:unsigned = local dev attestation; production re-issues signed ones in CI. partkit.dev →