mrkeyoor.com_
Fri 02 Oct 14:59 UTC
Dev Toolsevaluationupdated 02 Oct 2026

team-Omzo review

Repro is a playtest operations app for turning raw game bug reports into grouped issues, then letting a studio verify them and reward testers. It also manages build access, NDA records, screenshot watermarking, and a live triage board without requiring an external AI service for its core clustering.

Verdict

Our Repro run passed all 392 Vitest cases in 21 seconds, but its build stopped after 11 seconds because DATABASE_URL was absent. The code is unusually candid for a hackathon entry about what watermarking and build links cannot protect. Study it or pilot it with throwaway playtest data, but do not adopt it as open-source infrastructure until the owners publish a license and the unfinished delivery and billing boundaries fit your risk.

We ran it

Lab card: what happened when we ran team-OmzoScreenshot of team-Omzo (team-omzo.vercel.app)
Install✓ · 29s442 packages · 739 MB
Build✗ · 11s
Tests✓ · 21s392 passed · 0 failed of 392 (vitest)
Repo229 files~28,998 lines of source · 1.3 MB · 1 CI workflows · tests dir

Answers from our run

Does team-Omzo build from source?

Dependencies installed in 29 seconds (442 packages), and the build failed. We cloned commit 4e18adc into a clean Debian container with 3 CPUs and no project-specific setup.

Do team-Omzo's tests pass?

Yes: 392 of 392 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Who should not use team-Omzo?

Teams that require an explicit open-source license before using code: GitHub detects no license and the repository tree contains no license file.

What are the alternatives to team-Omzo?

Sentry, OpenReplay, Plane. Our Repro run passed all 392 Vitest cases in 21 seconds, but its build stopped after 11 seconds because DATABASE_URL was absent.

Setup3/529-second install; build needs Postgres configuration
Docs5/5Detailed limits, architecture, security, routes, and setup
Community2/5212 stars, no open queue, and no push since September 13
Maturity2/5392 tests pass, but licensing and product edges are unfinished

Who it’s for

Small game teams drowning in repeated Discord or form reports after a closed playtest.
Developers who prefer deterministic, inspectable clustering over a hosted embedding service.
Studios willing to trial a young hackathon project behind their own Postgres database.
Engineers studying access grants, report deduplication, tester rewards, and forensic watermarking in one codebase.

Who it’s NOT for

Teams that require an explicit open-source license before using code: GitHub detects no license and the repository tree contains no license file.
Studios expecting build links to prevent redistribution: the README says every delivery mode can still be forwarded, and downloadable builds do not carry frame watermarks.
Buyers who need self-hosting today: the README labels self-hosted delivery as a roadmap line rather than a built mode.
Companies expecting checkout and subscription collection inside the product: plan changes record intent, while payment and invoicing remain outside the app.
Deployments without Postgres configuration: our build stopped when Prisma could not find DATABASE_URL.

Setup reality

Our sandbox installed commit 4e18adc in 29 seconds, adding 442 pnpm packages and using 739 MB. The build failed after 11 seconds because Prisma could not find DATABASE_URL. Tests then completed in 21 seconds, with Vitest reporting 392 passed and 0 failed.

Local setup needs Node 20, Postgres, DATABASE_URL, and three secrets of at least 32 characters for sessions, access tokens, and IP hashing. Docker Compose starts only Postgres on host port 5434. An Anthropic key is optional and used for title enrichment.

The checkout held 229 files, about 28,998 source lines, and one CI workflow. There is a Compose file, a tests directory, and workspace configuration, but no Dockerfile. The repository also has no license file or published release.

Four signals turn repeated playtest reports into issue clusters

Repro scores an incoming report with four inputs: text similarity, nearby game state, normalized log signatures, and environment overlap. A scene mismatch blocks a merge, while three score bands decide whether the report joins an issue, waits for studio confirmation, or becomes a new cluster. The method is deterministic and runs offline, so teams can inspect why two reports were grouped instead of trusting a remote model.

The rest of the product follows that decision. A tester opens an F1 report overlay, the server authenticates the grant, and the studio board receives updates over server-sent events. Staff can confirm a possible duplicate, split it, or verify the issue. Verification feeds a virtual-coin ledger. An optional Anthropic key only enriches titles, leaving the central ingest path usable without a hosted model credential.

The 392 passing tests are stronger than the failed build

Our run installed 442 pnpm packages in 29 seconds and used 739 MB on disk. The repository contained 229 files, roughly 28,998 source lines, one CI workflow, a tests directory, and workspace configuration. A Compose file starts PostgreSQL, but there is no Dockerfile for the application. This is a compact Next.js codebase by platform standards, with a manageable contributor install.

The build script runs Prisma client generation, database migrations, and the Next.js build in one command. Prisma validated the schema first and returned P1012 because DATABASE_URL was missing. The command exited after 11 seconds. The log proves a required environment variable was absent; it does not prove the Next.js application cannot compile once a database URL is supplied.

What happened when we ran it

Our unprivileged Node 22 sandbox gave commit 4e18adc 3 CPUs, 8 GB of RAM, and no secrets. Pnpm completed installation in 29 seconds. The 739 MB result covers installed packages, not a running Postgres volume or uploaded playtest assets. Repro asks for Node 20, so a serious evaluation should use that documented runtime even though installation and tests completed in our Node 22 image.

The build failed in 11 seconds with Prisma error P1012: Environment variable not found: DATABASE_URL. Its schema reads that value for PostgreSQL. Calling this a compiler defect would overreach, while calling the build successful would be false. The practical finding is that pnpm build couples compilation to database configuration and migrations.

Vitest completed in 21 seconds with 392 passed and 0 failed. The README separates domain and UI tests from database integration tests, while our measurement reports the executed Vitest total without claiming every production path was exercised. The passing suite supports the deterministic logic, but it does not cancel the missing build configuration or license.

A 65,535-grant watermark still cannot stop forwarding

Hosted web frames can embed a 16-bit tester identity, setting a stated ceiling of 65,535 distinct grants. The README draws a useful limit: compressed report JPEGs contain no watermark, lossless exported PNG frames can carry one, and hosted downloads do not watermark every rendered frame. A tester with memory inspection or hardware capture can bypass client-side controls. Repro calls the result accountability rather than perfect DRM.

Link-only, hosted web, and hosted download modes all say they cannot stop a tester passing the build onward. Browser-bound grants, 15-minute tokens, append-only access events, and user-agent matching can record or reject some access, but possession eventually moves outside the server's control. Evaluate Repro as evidence and friction around leaks, never as proof that an unreleased binary cannot escape.

Three secrets and Postgres are the local operating minimum

The documented local path uses Node 20 and PostgreSQL 16 on host port 5434. DATABASE_URL points Prisma at that database. SESSION_SECRET, ACCESS_SECRET, and APP_SALT must each reach 32 characters outside development and test, while an Anthropic key is optional. The access key can mint grants, and the salt protects stored IP hashes, so these values need normal secret controls.

Repro stores campaigns, reports, grants, NDA signatures, identity photos, rewards, and access events. Raw IP addresses are hashed, but the remaining records are still sensitive. The small 1.3 MB checkout says nothing about that operating burden. A studio needs retention, deletion, backup, and restore rules before real testers upload identity material or accept legal text.

No license and no built self-hosted mode limit adoption

GitHub reported no detected license, and the 229-file tree contained no LICENSE or COPYING file. Source visibility alone does not provide the permissions companies expect from open-source software. The README also describes self-hosting as a roadmap line and an annual license. A buyer needs written terms from the owners before treating this code as reusable infrastructure.

Commercial plumbing is incomplete too. Repro can store a selected plan and append plan changes, but the README says it takes no payment in-app and invoices separately. Reward fulfilment is manual. Those choices are reasonable for a hackathon entry, yet they make the pricing page a proposal rather than a finished billing system.

A September 13 push and zero releases mark a young snapshot

The repository was created on September 10, 2026 and last pushed on September 13. GitHub showed 212 stars, zero open issues and pull requests, and no published release on October 2. Those facts describe a short hackathon burst, not abandonment. They also provide no evidence of tagged upgrades or outside issue handling yet.

Repro's best idea is narrow: deterministic clustering can make a noisy playtest board usable without sending reports to an AI service. The 392 passing tests support that core. Licensing, self-hosted delivery, payments, and database-coupled builds keep it in evaluation territory. Pilot the report-to-cluster loop with disposable data, then wait for explicit reuse terms before putting it into a release process.

Alternatives

ProjectWhat it isPick it when
Sentry gh↗An error-monitoring system built around crashes, traces, releases, and application telemetry.pick this instead when automated production errors and stack traces matter more than playtester rewards or build access.
OpenReplay gh↗A self-hosted session-replay system for reproducing what users did before a problem.pick this instead when browser-session evidence is more useful than tester-submitted game reports and forensic frames.
Plane gh↗An issue and project tracker for teams that want a general work board.pick this instead when manual triage is acceptable and you need a maintained issue system rather than playtest-specific intake.

What people are saying

  1. [velocity-scout] xsolla-baku-gametech-hackathon/team-Omzo

Sources

  1. Repro project README
  2. Repro package scripts and runtime requirements
  3. Repro environment template
  4. Repro PostgreSQL Compose file
  5. Repro releases

More dev tools reviews

touchHLE · effect · SwitchHosts · Duo-animation · DuoLikeAnimation · lid-plane · the whole board →