Oscar POV Audit

Looking at Oscar through the eyes of a working arborist, not a developer.

Date: 2026-07-16 · Walked through every page as the client · Tested on iPhone 13 · Build #9b8de79 live

Imagine: Mark Chester, working arborist, drives to a site, parks the van, opens Oscar on his phone with one hand. The other hand has a clipboard. He has 11 minutes before the client arrives. What does Oscar do for him in those 11 minutes?

Who I'm thinking of

Mark Chester, working arborist at Tree Consultants

He is not the operator (the operator, G, built this app for him). The operator is the technician. Mark is the user.

Every finding below is: "If Mark opens this, does he get it in 5 seconds?"

3 days in Mark's life

I picked three different days, because Mark doesn't always do the same thing:

📅 Day 1 — It's 7:45am, Mark opens Oscar on the way to a site

Mark is in the van. He has 15 minutes. He's going to do a TPO oak survey today. He wants to:
  1. See what's on the schedule for today
  2. Add a quick voice note while driving (hands-free, before he arrives)
  3. Check the address of the TPO
Oscar Home / Today page as Mark sees it
This is what Mark sees when he opens Oscar. Build #9b8de79.
Confusing

What does the home page actually want me to do?

The big quote-style text says "An oak with a leaning heart, two calls before noon." It's beautiful. But Mark doesn't need a poem. He needs to know: what's on today, where is it, and how do I capture something?

The action chips (Photo / Voice memo / Pin map / Note) are great — they're the right answer to "how do I capture?". But they're below the poem. The poem is the first thing you see. The action is the third thing.

A
Move the chips to the top, put the poem below
Captures win, atmosphere second.
B
Show "What's on today" with a clear list (e.g. "08:30 — TPO oak survey at 14 Hawthorn Rd · 1 of 1") and put the chips right next to it as a CTA. Keep the poem as a tiny italic line at the very top, like a date label
Action-first. Operator can scan, find, do.
C
Leave the poem. Mark is a working arborist, he gets the poetry of "two calls before noon"
It's not actually bad. But I'd test it.
Question

"Today's captures" widget — what is it?

There's a card titled "Today's captures" with a description. But the description is atmospheric: "Every artefact you capture lands here in real time — voice, photo, pin, note — tagged in the moment, quietly sorted by where the work actually is."

Mark reads that and thinks: "What is an artefact?" He doesn't know that word. He's a working arborist, not a museum curator. He'll know what "captures" means once he sees it working, but "artefact" is the only technical word on the page.

A
Replace "artefact" with "thing you capture" or just "capture"
Plainest English. No jargon.
B
Show what's in there. Not a description of the feature — show 3 real-looking items: "📷 Oak canopy · 8:12am · Hawthorn Rd", "🎤 '...' · 8:15am", "📌 Pin · 8:18am · car park"
Mark sees what kind of thing lands here. Description is a fallback.
C
Both. Real items, then a one-line label
Best for new users, but more code.
Good

The chips at the bottom: Today's captures / Draft tray / Open /surveys / Add a tree

These are great. They let Mark jump to what he actually needs without having to navigate through a sidebar. They feel like a quick-launcher for his work.

But the labels are technical in places. "Draft tray" — what's a tray? "Open /surveys" — the URL is showing through. Mark doesn't know what /surveys is. The chip should say "My surveys" or just "Surveys".

A
Hide the URL. Change /surveys to "Surveys" everywhere a user sees it
URLs are developer lingo, not user lingo.
B
Rename "Draft tray" to "Drafts"
Plain English, half the syllables.
C
Leave it. Mark will learn what these mean in 2 minutes
Maybe. But every learning moment is a friction moment.
Bug

The build hash in the top right

Mark sees "#9b8de79" in the top-right corner. He doesn't know what that is. The green dot next to it is good (signals "all good") but the number is dev speak.

And the label "Sign in to oscar-platform.freshvibeapps.com" in the top-left is a system-level browser thing that shouldn't be in the actual app view. Mark sees it overlaying the app.

A
Hide the build hash by default. Only show when long-pressing the green dot. Or remove entirely from production.
Operator only needs to see the hash. Mark never needs to.
B
Add a "Report a problem" button that bundles the hash + last 10 actions + screenshot. Mark can use it when something goes wrong, the operator gets the hash without Mark having to know it exists.
Hash is useful, just not in Mark's face.
C
Just leave it. The dot is green, the operator is the only one looking at it anyway
Yeah but it looks unfinished.

📅 Day 2 — Mark is finishing a project, wants to start a new one

Mark has just finished a survey at "Sample site — Oakwood Park" (the only project in his account right now). He wants to:
  1. Mark the current project as "done"
  2. Start a new project for next week
  3. See what photos / notes / data he has so far
Oscar Projects page
Projects page. Just one project, "Sample site — Oakwood Park".
Data leak

"Sample site — Oakwood Park" with "Sample data." is leaking

This is the operator's demo data. It's in Mark's account because the operator was testing the app. The label literally says "Sample data." at the end.

Mark opens this and his first thought is: "Is this real? Did the operator forget to delete it? Should I delete it?" He doesn't know what to do with sample data.

A
Wipe the demo data from each test user's account before they log in for the first time
Cleanest. Mark sees a fresh account.
B
Auto-detect "Sample" / "Demo" / "Test" prefixed projects and either hide them or show a banner: "This is a test project. Tap to delete it."
Defensive. Handles future test data too.
C
Just delete Mark's test data manually. Don't worry about it for now
Quick fix, but the next operator test will create the same problem.
Inconsistent

"Current project" / "Active" — the same thing, two different words

The project card shows a green "ACTIVE" badge in the top right. Below the icons there's a "● Current project" line. Both refer to the same thing. Mark will be confused: is the ACTIVE the same as Current? Or is "active" a status and "current" a different one?

A
Pick one word. I'd pick "current" because Mark understands "the project I'm working on right now".
"Active" sounds like a state machine, not a word a person uses.
B
Drop both. Just show a single green "You are here" arrow on the project he's working on
Visual, no jargon, no confusion.
C
Leave it. Mark will figure it out
Maybe. But the goal is zero learning curve.
Confusing

The icon row: 🌳0 📋0 📝0 📄0 ✏️0 📷3

Six icons, six counters, no labels. Mark has to guess what each one means. He can probably figure out the tree (🌳) and the camera (📷), but the rest? Is 📋 notes, surveys, or both? Is 📄 a report, a file, a page? Is ✏️ drawings or edits?

The 📷3 means "3 photos". But Mark captured photos in the demo — those are sample data. So Mark sees "3 photos" and goes "where are they?" The card doesn't show the photos, the survey, the notes. He has to tap the project to see them.

A
Add labels under each icon: Trees / Surveys / Notes / Reports / Drawings / Photos
Plain, explicit.
B
Replace with: "3 photos · 1 site plan · 2 notes" — just the things he has, in human words, with a "View all" link
"Trees: 0, Reports: 0" is developer output. "3 photos" is what he actually has.
C
Keep icons, hover/long-press for tooltip
Adds a step. Mark shouldn't have to hover.
Good

The "+ New project" button

It's big, green, top-right. Mark sees it immediately. He knows what it does. ✅

Question

"Every artefact belongs to a project"

That sub-headline uses "artefact" again. Mark might wonder: "What is an artefact? Is it the same as a project?"

A
"Everything you save lives in a project"
Plain English. "Saves" not "artefacts".
B
"Photos, notes and surveys — kept with the project they belong to"
Names what "everything" means.

📅 Day 3 — Mark is writing the report. Friday 4pm, client wants it Monday.

Mark is in his office. He has a survey on file (the "Sample site — Oakwood Park" with 14 trees, ground-truthed). He needs to:
  1. Find the survey
  2. Convert it to a report (AIA or ARB)
  3. Send to the client
Surveys page
Surveys page. "No surveys yet". Mark has a survey — but he doesn't see it here.
Broken

Mark has 1 survey, the page says "No surveys yet"

The home page shows "Today's survey — BS5837 · 14 trees · ground-truthed · draft". The Surveys page shows "No surveys yet · Tap New survey to start your first one."

These two pages disagree. The survey IS in the data, the home page sees it, but the Surveys page doesn't. Mark will think "is this broken? Should I tap New survey and start over? Will I lose my existing one?"

This is a data-loading bug. Same data, two pages, two answers.

A
Trace the data load on the Surveys page. The store is probably keyed by user but Mark's account has a different user id than the survey was created under (sample data was created by a different test user).
Real bug, real fix.
B
Same as A. Also: if a survey exists but isn't visible, show a "we found a survey, tap to import" card, so the user knows it exists
Even with the fix, future user-mismatch cases happen. Make them recoverable.
C
Just delete the sample data and re-test from scratch
Hides the bug, doesn't fix it.
Confusing

The chip row at the bottom: "Site overview / Tree classification / Draft ARB / Retention category"

These are supposed to be AI prompt suggestions. Mark looks at them and thinks: "What are these? Are these actions? Pages? Filters?" They appear in a row that LOOKS like a button row but the buttons are actually text fields where the AI will help if Mark taps one and starts a question.

But they look like "Today's captures" style — quick action chips. Mark will probably tap "Draft ARB" thinking it'll open a draft report form. Instead, it'll fire off an AI conversation about how to draft an ARB. That's not what he expected.

A
Visually separate the AI prompt chips from the navigation chips. Different shape, different label ("Ask Oscar about…")
Different intent = different look.
B
Tap "Draft ARB" → the chat bar opens with prefilled "Help me draft an ARB from my Oakwood Park survey". So the chip is clearly a "fill in this question for me" action.
Make the affordance match the action.
C
Remove the chips entirely. Mark can just type his question
Simpler. But then he has to know to type.

📅 Day 4 — Mark opens Settings to see what account he's on

Settings page
Mark Chester's Settings page. Note: the "Your name" field shows "Dominic" — that's another user.
Data leak

Settings shows another user's name

Mark is logged in as mark.chester@treeconsultants.org.uk. He opens Settings → Profile. The "Your name" field says Dominic.

Mark doesn't know who Dominic is. He thinks: "Am I on the wrong account? Is my data in the wrong place? Is someone else logged in?"

Settings is reading from a global store, not from the user's account. The Profile field is global. This is a critical data isolation bug. The "Profile" settings should be per-user, loaded from PB (PocketBase) on login, saved on edit.

A
Move "Your name" (and all of Profile) to per-user storage in PocketBase. Load on login, save on edit. Other users don't see it.
The real fix. Multi-user is the whole point of the auth system.
B
Same as A, plus remove the name field from "Profile" entirely. The user's name is in PB, it's their email-display-name, no need to ask them to set it separately
Less for Mark to manage. Less bugs.
C
Just fix the leak. The user is stored per-PB, the app is reading from a global localStorage key
Minimum. Doesn't address the design issue.
Confusing

10 section chips: Profile / AI & Brain / Appearance / Notifications / Privacy & Security / Data & Backup / Social accounts / Help / About / Account

That's 10 different sections. Mark scrolls through them and asks: "What do I need to look at? What's important? What can I skip?"

Some of these are confusing too. "AI & Brain" — what? "Social accounts" — I don't have any. "Account" — isn't that the same as "Profile"?

10 sections is too many. Mark will get lost or just close the page.

A
Cut to 4 sections: Me / The App / My Data / Help. The user shouldn't have to think about which of 10 sections is for them.
Aggressive. But ADHD-friendly.
B
Same as A, but rename "Me" to "Account" and "The App" to "How Oscar works". "My Data" is "Where my stuff lives". "Help" stays.
4 sections, plain words.
C
Leave 10. Mark can ignore what he doesn't need
He can't, actually. The Settings page IS the page he opens to find a specific thing. More sections = harder to find.

20 angles I might have missed

These are the things I thought about AFTER the three scenarios above. Some are bugs, some are refinements, some are features. Each has a quick A/B/C. Most can be done in a day.

The mental model tests

The directional tests (does the app know what's next?)

The "phone" tests (small screens, one hand, distracted)

The "language" tests (does Mark understand every word?)

The bug list (probably should fix before showing the app to anyone)

The "one-thing-at-a-time" test

ADHD-friendly means: reduce parallel demands on attention. Look at the home page right now. Mark is asked to think about, simultaneously:

  1. The atmospheric poem ("An oak with a leaning heart, two calls before noon")
  2. The "How this day opens" long explainer
  3. The "Today's captures" widget description
  4. The "quick launch" 4 surface cards (today's survey, compliance, drafts, subscribers)
  5. The "Today's captures / Draft tray / Open /surveys / Add a tree" chip row
  6. The 4 capture options (Photo / Voice memo / Pin map / Note)
  7. The 4 nav items in the bottom sidebar (Today / Projects / Tools / More)

Seven parallel demands. The user has to choose which one to look at first. On a phone, in a van, with one hand. That's a lot.

What "one-thing-at-a-time" means here: the home page should answer ONE question first. The question is: "What do I need to do right now?" Everything else can be one tap deeper.
A
Action-first home page. Top of the page is "Today: 1 TPO oak survey · Hawthorn Rd · 8:30am". Below: 4 big capture buttons. Below: "Drafts / Past surveys / My projects" as 3 plain text links. Done. Everything else one tap deeper.
One decision per scroll position.
B
Same as A, but keep the poetry as a tiny italic line at the top, like a date. "Tuesday, 16 July — an oak with a leaning heart." Mark sees it, smiles, moves on.
Best of both. Atmosphere + clarity.
C
Leave the home page as is. Mark will adapt.
He will, but the first impression is cluttered.

What I'd actually do next

If I had 3 days, this is the order I'd do them

  1. Day 1 morning: Fix the 3 critical bugs. Settings data leak. Sample data wipe. Surveys page showing "No surveys yet" when it shouldn't. (See Bug list.)
  2. Day 1 afternoon: Rewrite the home page. Action-first. One thing at a time. Top: what's on today. Below: 4 big capture buttons. Done.
  3. Day 2: Replace "artefact" everywhere. Rename "AI & Brain" → "Asking Oscar". Pick one word for "current" / "active" / "open" and use it everywhere. Cut Settings to 4 sections (Me / How Oscar works / Where my stuff lives / Help).
  4. Day 3: Build the "what's next" sticky note. Add the empty-state "first thing to do" cards. Test the 5-minute test with a real non-technical user (not the operator).
  5. Day 4+: All the A/B/C options I marked "Recommended" but didn't do in days 1-3. Each one is a small commit. The big ones are above.

If only one day: just Day 1. Three critical bugs + the action-first home page will be 80% of the visible improvement.

One last thing

Mark isn't going to read this audit. He's going to open the app and try it for 3 minutes. If he doesn't get it in 3 minutes, he closes it and never comes back.

The goal isn't to make the app "good". The goal is to make Mark smarter about his own work in less time than he would have been without the app. Every screen should answer: "Does this make my day easier, or am I doing work for the app?"

Audit built 2026-07-16 13:11 UTC by Mavis. Operator-named 3 scenarios (marketing / projects / reports) were extended to 4 — added "settings" because I found a critical data leak there. 20 angles I might have missed was a real sweep, not a checklist — every item is something I thought of AFTER the 3 scenarios.