# Breaking Apps Hackathon

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.

## About

[Passmark](https://go.bug0.com/passmark-gh-hack) is an open-source AI testing library by [Bug0](https://bug0.com/?utm_source=hashnode&utm_medium=hackathon&utm_campaign=breaking-apps). 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:

```ts
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.

### Getting started

**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](https://go.bug0.com/passmark-gh-hack) so you get release notifications during the hackathon.

**3. Set up your project.** Create a new Playwright project and install Passmark:

```bash
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:

```ini
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`:

```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:

```bash
npx playwright test --project chromium
```

Run `npx playwright show-report` to see the test report.

## How to participate

### Build

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:

- Your own side project or any app you vibe-coded with Cursor, Copilot, or Claude Code
- Open-source apps with public demos: Vercel Commerce, Cal.com, Plane, Hoppscotch, Documenso, Rallly
- Developer tools: Hashnode, Railway, Render, PlanetScale, Supabase dashboard
- Community platforms: DEV, Hashnode, Discourse forums, Forem instances
- Any public web app that doesn't block automated browsers

### Share

Write a Hashnode article about what you tested and what you learned. Tag it with [#BreakingAppsHackathon](/content/tag/breakingappshackathon/index.html). Walk through your test suite. Show what worked, what broke, what surprised you.

Then post about it on [X](https://x.com/bug0inc) or [LinkedIn](https://linkedin.com/company/bug0) and tag Bug0. Social reach is a big plus when we pick winners.

### Win

$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.

## What to expect

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.

## Prizes

- Grand winner: $1,200
- 1st runner-up: $1,000
- 2nd runner-up: $800
- 3rd runner-up: $600
- 4th runner-up: $400
- First 100 submissions: Swag

## Submission requirements

1. Star and fork [bug0inc/passmark](https://go.bug0.com/passmark-gh-hack) so you get release updates
2. Write a Passmark test suite for any web app — yours or a public one
3. Push your test suite to your own GitHub repo
4. Publish a Hashnode article about your experience and tag it with [#BreakingAppsHackathon](/content/tag/breakingappshackathon/index.html). The tag is how we find your entry, so don't skip it
5. Share your article on [X](https://x.com/bug0inc) or [LinkedIn](https://linkedin.com/company/bug0) and tag Bug0. Social reach is a big plus
6. 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

## Rules

- 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](/content/code-of-conduct/index.html).

## Resources

- [Passmark GitHub](https://go.bug0.com/passmark-gh-hack) 
- [Passmark Docs](https://passmark.dev/) 
- [Contributing Guide](https://go.bug0.com/passmark-gh-hack/blob/main/CONTRIBUTING.md) 
- [Troubleshooting](https://go.bug0.com/passmark-gh-hack/blob/main/TROUBLESHOOTING.md)
