Inspiration

Anyone can build with AI now, anyone can sit down and create an agentic lead site, an app who has an agent resolve all your problems, etc... The good ones still have holes, and the builder who could fill a hole is usually sitting two tables away.

We wanted to fix both halves of that problem: tell people honestly whether what they built is good, then connect good builders so their projects can make a true difference.

There’s a community side to this too. We’re AI Tech Girlfriends, women who build with AI and want more women doing it together. And every throwaway AI project burns compute, energy, and water to make something nobody uses. We want more impactful, better things.

What it does

Sloppy or Not proves whether a product is good. A builder pastes a live link, automated checks test speed, accessibility, and mobile, and Dot, our agent, reviews the project against four researched criteria: Theory of Change, Harm Awareness, Necessity & Novelty, and Merit. The builder answers nine questions about their own thinking, and the result is one word, Sloppy or Not, never a number. The room also swipes on every project, but swipes only feed the weekly State of Slop email and never change a verdict. Sloppy or Not grades the product, never the person.

How we built it

  • Site: static HTML, CSS, and client JavaScript on Cloudflare Pages, designed by Olivia in Figma and coded by Therese's Claude Code sessions from that design.
  • API and agent runtime: a Cloudflare Worker with Cloudflare KV for persistent state, built by Jacky. It stores the Product Profiles, reviews, agent observations, proposals, approvals, rejections, and Blueprints.
  • Agent intelligence: Therese wrote the system prompts (observe, find gap, propose match, blueprint, judge, score answers, expert review), the tool boundaries, the matching method, and the eval scenarios in agent/. The worker loads them and calls the Claude API.
  • The contract: shared/profile.schema.json is the one Product Profile shape the site and the worker both speak. Every seed product is tested against it.
  • Seed pool: five believable Charleston products in seed/, each designed to test one behavior. There is a demo pair, a decoy, a fallback, and a product with no honest match.
  • Think Like Olivia: a separate worker in experts-worker/ that interviews one human expert, drafts her Expert Reasoning Profile, waits for her approval, and then reviews products against her stated rules, with her verdict beside every AI suggestion.
  • A pre-commit hook keeps each of us in our own folder, so three people and several AI sessions could work in one repo without overwriting each other.

Challenges we ran into

Three lanes, one weekend. We split the repo by owner and enforced it with a pre-commit hook. It slowed a few commits down and saved us from every merge fight. Keeping the agent honest. The easy demo is an agent that always finds a match. We built a decoy and a no-match product into the seed pool so the agent could fail in public. It passed on the live API, and the log shows how. Phone-typed secrets. Olivia’s admin token kept failing on her phone because of autocapitalize and stray spaces. We replaced typing with a one-tap link that stores the token and clears it from the address bar. Not shipping numbers. We had scores internally and decided never to show them. One word is harder to design and kinder to the builder. Privacy by default. An email given for our newsletter isn’t consent to share it with a match partner. The owner has to opt in separately, and the partner sees it only after a human approves the match. Honest labels. When the live judge routes weren’t connected yet, the site said so on screen with a “Preview data” label instead of pretending.

Accomplishments that we're proud of

  • The agent remembered a human rejection, quoted it word for word, and changed its pick on the live API.
  • The agent said “no match” when nothing fit, rather than forcing a weak pairing.
  • The agent raised a risk nobody asked about: the proposed partner’s accessibility score of 47 against 74 for the product it was meant to help.
  • A real human expert’s reasoning became an approved, versioned profile in one afternoon.
  • The live site went up on sloppyornot.com from Olivia’s Figma design.

What we learned

A persistent agent is only as trustworthy as the tests it can fail. Writing the decoy first changed how we wrote every prompt. We also learned that “humans approve” has to show up in the UI, not just the pitch, so nothing in Gituationship fires until a person presses Approve. And one honest word turned out to be harder to design, and kinder to the builder, than a score.

What's next for Sloppy Or Not & Gituationship

  1. Ask every site submission for matching consent on the submit page, and have the worker enforce it.
  2. Run Sloppy or Not at the next Charleston hackathon and student showcase, free.
  3. Send the weekly State of Slop email to opted-in builders.
  4. Add more Think Like experts, so the agent can review a product the way a specific designer, engineer, or founder would.
  5. Track opted-in products for six months to see whether AI assistants start recommending them, kept as a separate number from the verdict.

Built With

  • claude-api
  • claude-code
  • cloudflare-kv
  • cloudflare-pages
  • cloudflare-workers
  • css
  • figma
  • google-pagespeed-insights-api
  • html
  • javascript
Share this project:

Updates

Submission history