Case study01 / 11

FreshVisit

Name a task and a start page, and FreshVisit clicks through the site like a first-time visitor would, then comes back with a video of the run, every screen and click, and a verdict: Found, Stuck, or Out of steps.

Year
2026
Role
Solo: product, design, and engineering
Walkthrough of the live siteRecorded with an automated browser

Overview

FreshVisit is a SaaS product that shows how a website holds up for a first-time visitor. You give it a public start URL and a goal in plain English, like "find the return policy," and it drives a real Chrome browser through the site on desktop, tablet, and phone. Every screen is captured with the clicked element marked, the run is recorded as a video with an annotated cursor, and the screen that answers the goal has the answer highlighted. Explore mode crawls a site's own links instead, and audits check up to 24 pages for WCAG accessibility failures, inconsistent buttons and form fields, and slow or broken page loads. It is built on React Router 8 with Better Auth, Prisma and PostgreSQL, Trigger.dev for runs, Cloudinary for screenshots and video, Polar for billing, and an MCP endpoint so Claude can start runs and read the results.

What I learned

The core lesson was that a browsing agent works better as a series of narrow, typed questions than as one open-ended prompt. On every screen FreshVisit asks Jev, TypeSafe's System One model, whether the goal is met, whether it can still be reached, and which of up to 200 elements to click next, and gets back probabilities and a confidence instead of free text to parse. I drove the browser through agent-browser's accessibility-tree snapshots rather than CSS selectors, which gave the model compact, meaningful choices like "button 'Pricing'" and made clicks one command. Running each journey in its own Trigger.dev container taught me retries, timeouts, and realtime progress feeds for long jobs that need a real browser. I also learned a lot about playing fair with other people's sites: staying on the start domain, stopping cleanly at CAPTCHAs, and never clicking anything that signs out, pays, or sends.

A browsing agent works better as a series of narrow, typed questions than as one open-ended prompt.

Why it matters

FreshVisit is a complete product I designed, built, and shipped on my own, from the landing page and pricing to team workspaces, PDF reports, and transactional email. It shows I can turn an AI capability into something a product manager, designer, or QA lead can use without knowing a model is involved. The work spans browser automation, AI decision-making, accessibility auditing, background jobs, media pipelines, billing, and auth, all in one codebase with unit and end-to-end tests. Persona docs and screen-by-screen walkthroughs shaped what got built, so the product decisions are as deliberate as the engineering.

In action

Straight from the product

How long do you have to return a CarMax car?A real run on carmax.com: four screens from the home page to the FAQ that answers it, with the answer outlined at the end. FreshVisit recorded and edited this video itself.
Find the Team plan's priceThe sample journey on Northwind, a demo site: home to pricing in two steps. On a phone the same task takes one more, through the menu.

Screens

04 images, select to enlarge
Next projectAI ManiacsFree AI education platform. Fundamentals through agent workflows, built to keep up with how fast the field moves.

Hiring a Design Technologist?

I'm looking for my next role on a product team, building design systems and AI tooling. The resume has the details, and my inbox is open.