In this video· click a step to jump to it
Test recording
Bhishi — app walkthrough
46,889 ms · 42,478 pixels changed
We built this regression test for bhishi.up.railway.app — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against bhishi.up.railway.app. 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 UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36';
await page.context().setExtraHTTPHeaders({ 'User-Agent': UA });
for (const p of ['**/cdn-cgi/scripts/**/email-decode.min.js','**/sentry-cdn.com/**','**/browser.sentry-cdn.com/**','**/cdn.segment.com/**','**/connect.facebook.net/**']) {
await page.route(p, function (r) { r.abort(); }).catch(function () {});
}
// Privy stores its session in localStorage; EB replays cookies only, so inject it.
const LS = {"privy:sent:cmrnbacqa011y0djng3wpytdf:4245953975808974":"t","base-acc-sdk.store":"{\"state\":{\"chains\":[],\"keys\":{},\"account\":{},\"spendPermissions\":[],\"config\":{\"version\":\"1.1.1\",\"metadata\":{\"appName\":\"bhishi\",\"appLogoUrl\":\"\",\"appChainIds\":[10143,10143]},\"preference\":{\"telemetry\":false}}},\"version\":0}","privy:refresh_token":"•••","privy:connections":"[{\"address\":\"0xE548016d9Fa42745CBD65F33881FB4AB15260Df6\",\"connectorType\":\"embedded\",\"walletClientType\":\"privy\",\"connectedAt\":1784680627000,\"id\":\"io.privy.wallet\"}]","privy:caid":"\"759321fa-caa9-4cb6-9770-a2e1579dfc74\"","privy:cmrnbacqa011y0djng3wpytdf:recent-login-method":"\"google_oauth\"","privy:token":"•••","privy:pat":"•••"};
await page.addInitScript(function (data) {
try { for (const k in data) { window.localStorage.setItem(k, data[k]); } } catch (e) {}
}, LS);Checks run
Notes from the demo run
AI-generatedWe signed into Bhishi (Google via Privy) and drove the authenticated circles dashboard on the Monad testnet. The 'Start a circle' composer is the standout: draw mode (Lucky draw vs Auction), seats, per-round contribution, and a bond, with a live 'randomness funding' estimate and a reassuring 'Covered for you — creating is free' line that removes the gas anxiety a new user would feel.
- On-chain complexity made legibleThe create-circle modal turns a chit-fund smart-contract flow into a plain form — seats, contribution, bond, and payout mode — and explicitly tells the user the randomness fee is covered. That framing is the hardest part of a web3 UX and it lands.
- Faucet + profile are one click awayThe authed nav (Dashboard / Faucet / Profile) is tight; the Faucet's 'Get test funds' path means a new testnet user is never stuck without MUSDC to try a circle.
- Empty-state nudge could preview a circleThe 'No circles yet' empty state is clear but static; seeding a sample/read-only circle would let a first-time visitor see the round mechanics before committing an on-chain create.
Visual change
Share this run
Proof your app is not AI slop
This test was built for bhishi.up.railway.app — 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.


