
A 4-week open hackathon to test your apps, test the internet, and share Passmark — the open-source AI library for regression testing. $4,000+ in prizes. Free AI credits included.
Passmark is an open-source AI testing library by Bug0. You describe what to test in plain English. Passmark uses AI to run those tests via Playwright. No selectors. No page objects.
Here's what a test looks like:
import { test, expect } from "@playwright/test";
import { runSteps } from "passmark";
test("Add to cart", async ({ page }) => {
test.setTimeout(60_000);
await runSteps({
page,
userFlow: "Add product to cart",
steps: [
{ description: "Navigate to https://demo.vercel.store" },
{ description: "Click Acme Circles T-Shirt" },
{ description: "Select color", data: { value: "White" } },
{ description: "Select size", data: { value: "S" } },
{ description: "Add to cart", waitUntil: "My Cart is visible" },
],
assertions: [
{ assertion: "You can see My Cart with Acme Circles T-Shirt" },
],
test,
expect,
});
});
This hackathon runs for 4 weeks. Pick any web app you can access without bot checks, write a Passmark test suite for it, publish a Hashnode article about what you built, and share it on social. $4,000+ in prizes. Every registered participant gets free AI credits via OpenRouter. Open to everyone.
1. Register and get your API key. Register on this hackathon page. You'll get a free OpenRouter API key with a preset credit limit. No credit card required.
2. Star and fork the repo. Star and fork bug0inc/passmark so you get release notifications during the hackathon.
3. Set up your project. Create a new Playwright project and install Passmark:
npm init playwright@latest my-hackathon-tests
cd my-hackathon-tests
npm install passmark dotenv
Create a .env file with the OpenRouter API key you received after registering:
OPENROUTER_API_KEY=sk-or-...
Configure Passmark to use OpenRouter as the AI gateway. This routes all AI calls through OpenRouter, so you don't need separate Anthropic or Google API keys.
Add to your playwright.config.ts:
import dotenv from "dotenv";
import path from "path";
import { configure } from "passmark";
dotenv.config({ path: path.resolve(__dirname, ".env") });
configure({
ai: {
gateway: "openrouter"
}
});
4. Run your first test. Run the example test:
npx playwright test --project chromium
Run npx playwright show-report to see the test report.
Write a Passmark test suite for any web app you can access without bot checks or CAPTCHAs. Your own app works great. So do open-source demos and public tools.
Ideas:
Write a Hashnode article about what you tested and what you learned. Tag it with #BreakingAppsHackathon. Walk through your test suite. Show what worked, what broke, what surprised you.
Then post about it on X or LinkedIn and tag Bug0. Social reach is a big plus when we pick winners.
$4,000+ in cash prizes across 5 winners. Every registered participant gets free AI credits via OpenRouter.
Publish your Hashnode article with the #BreakingAppsHackathon tag before the deadline. No separate submission step. That's it.
A rough guide to what happens each week. Jump in at any point.
Get set up
Fork the repo, run your first test, pick your track. Early bird swag for the first 100 valid submissions.
Go deep
Build out your test suite and draft your article. Join office hours if you're stuck.
Push it
Polish your tests and article. Leaderboard goes live. Contributor shoutouts on Hashnode.
Ship
Finalize everything. Publish your Hashnode article with the #BreakingAppsHackathon tag before the deadline. Community voting opens.
Star and fork bug0inc/passmark so you get release updates
Write a Passmark test suite for any web app — yours or a public one
Push your test suite to your own GitHub repo
Publish a Hashnode article about your experience and tag it with #BreakingAppsHackathon. The tag is how we find your entry, so don't skip it
Publish before May 10, 11:59 PM PT. There's no separate submission step. Any article with the tag, posted before the deadline, counts as your entry
Open to everyone. Students, professionals, teams of up to 3.
All code must be original work created during the hackathon period.
All deadlines follow Pacific Time (PT). Submissions close May 10, 11:59 PM PT.
Judged on test coverage, assertion quality, article quality, and social reach.
Be respectful. Follow the Code of Conduct.