In this video· click a step to jump to it
Test recording
Grooves.fm — Letterboxd-for-music freemium walkthrough
49,501 ms · 0 pixels changed · matches baseline
We built this regression test for grooves.fm — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against grooves.fm. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
const settle = () => page.waitForLoadState('networkidle').catch(() => {});
// ─── 1. Home ──────────────────────────────────────────────────────────────
stepLogger.log('Scenario 1: Home');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
const accept = page.getByRole('button', { name: /accept all|accept|allow|got it|ok$/i }).first();
if (await accept.isVisible().catch(() => false)) {
await accept.click().catch(() => {});
}
await settle();Checks run
Notes from the demo run
AI-generatedGrooves.fm is 'Letterboxd for music' by u/Low_Interaction7333 — a fully freemium album/artist review site with browsable Home / Discover / Rankings / Feed / Community surfaces, no signup required. Real user reviews (rob, MartinSvoboda, VinylMan, abismbased), real albums (Drake's ICEMAN, McCartney's Home to Us, Molly Santana, Redveil, Oasis, Habibti, MAID OF HONOUR), real artists, real ranking scores (#3 ICEMAN at 13.0, #4 Definitely Maybe at 110.0). The product is alive — not a mockup.
- Real review velocityHome feed shows 7+ recent reviews across 7+ different albums on first visit. Each review has a numeric score (8.0, 13.0, 10.0, 6.0 etc.) and a per-user attribution. The community is using it.
- Five top-nav routes — Home / Feed / Discover / Rankings / CommunityEach is a real distinct surface (verified by walking all four). Letterboxd-derived but with Rankings as a first-class concept — useful for the music vertical where 'top 100' culture is strong.
- AlbumDetail / ArtistDetail / Profile pages all freemiumAnonymous visitors can click into any user's profile, any artist page, any album page. Strong lead-magnet design — by the time you decide to sign up, you've seen what other users post and ranked your own taste.
- URLs are PascalCase routes with query-string IDs (e.g. /AlbumDetail?id=xxx)Unusual for a modern indie web app; /album/<slug> would be more SEO-friendly and shareable. The id values are MongoDB-style ObjectIds — fine as primary keys but ugly in shared URLs.
- 3 console errors on initial home loadWorth a triage — possibly missing album-cover image 404s or analytics. Doesn't block functionality but logs noise.
- Two CTAs ('Sign In' / 'Start Your Collection') without copy that distinguishes themFirst-time vs returning user CTAs should read differently. Currently both are submit-type buttons in the top-right; a returning user has to read carefully.
Share this run
Proof your app is not AI slop
This test was built for grooves.fm — claim it free
One click copies the test and baseline screenshots into your own Lastest workspace. Re-run on every deploy and catch regressions before your users do — free, no card required.