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
45, has been doing tree surveys for 20 years
Doesn't really love computers. The iPhone is the most "tech" he gets in a day
Owns one project at a time, sometimes two, sometimes three — but never more
His clients are planning consultants and homeowners, not other arborists
He doesn't know what an "API" is, doesn't want to know
He will not read docs. He will not watch a video. He will try the app for 3 minutes and decide
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:
See what's on the schedule for today
Add a quick voice note while driving (hands-free, before he arrives)
Check the address of the TPO
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:
Mark the current project as "done"
Start a new project for next week
See what photos / notes / data he has so far
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:
Find the survey
Convert it to a report (AIA or ARB)
Send to the client
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
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 5-minute test. Does Mark understand the app in 5 minutes without training? Right now: probably no. The home page is atmospheric, the Settings page is a buffet. After 5 minutes Mark knows there's an AI but not what to do with it.
A
Add a 1-screen "what is this?" overlay on first launch, with 3 plain-English lines + one CTA "Got it"
3 lines, then he's in.
B
Make the home page self-explanatory. Action-first: "Today: 1 TPO survey, 14 trees. Capture: [Photo][Voice][Note]. Done." Then the 5-minute test passes without any overlay.
Action-first is better than onboarding.
The "phone in one hand" test. Can Mark capture something with one thumb? The chat bar at the bottom is reachable. The "+ Add" is in the header (top of screen — far from thumb). The capture chips on the home page are in a 2x2 grid — left thumb friendly, right thumb not. The voice button has a small mic icon in the top-right of the chat bar — also far from the right thumb.
A
Move the voice button to the bottom-left of the chat bar. It's the most-used capture and should be 1-tap reachable
Voice is the killer feature for one-hand use.
B
Keep voice in the chat bar but also add a long-press anywhere on the bottom of the screen = voice capture. Even more reachable
Long-press is the universal "voice" gesture on mobile.
The "bad day" test. Tired, distracted, 5pm, client wants report now. Does the app help or get in the way? Right now: the app is fine, but there's no "send to client" button visible. Mark has to find the report, then find the export, then figure out how to send. Each step is a moment of friction.
A
Add a "Send to client" big green button on the report's preview page. One tap, opens email or share-sheet with the report attached
The "what now?" moment needs one obvious answer.
B
Same as A, but also remember the client and offer to email the same client next time without re-typing
Repetitive workflow should be auto-completed.
The "second time" test. First time = OK (user expects friction). Second time = the test. Are they faster? Did the app make them memorize its quirks? Right now: probably yes — the chip row is good, but the chat bar always opens with empty text and the auto-detect (SAME/NEW topic) may surprise Mark on his 2nd-3rd use.
A
On the 2nd visit, the chat bar should show "You asked 3 questions last time. Want to pick up where you left off?" with a tap to recall
Context = faster re-entry.
B
Skip this. The conversations page already does this. Just link to it more obviously from the home page
Less code, same outcome.
The directional tests (does the app know what's next?)
The "what's next" test. Does the app know what Mark is about to do and surface the right next step? Mark opens a survey → no "Edit trees" or "Add a tree" CTA visible. He has to scroll or tap into the survey to find the action. The home page has "Add a tree" in the chip row, but the surveys page doesn't say "You're in a draft survey. Continue?"
A
On every page, show a sticky "Where am I in this task" indicator at the top. "Survey: 14 trees, 8 with notes. Continue?"
Sticky context = no "where was I?" moments.
B
Add a top-of-page "sticky note" with the in-progress task. "📋 Oakwood Park survey — 8 of 14 trees with notes. Tap to continue." Tappable, dismissable per session
Soft reminder, not loud.
The "blank page anxiety" test. When Mark opens a new project, what does he see? Probably an empty list, an icon, and a "New" button. That's intimidating. Compare to Trello: "Cards in this list" + a single prompt. Notion: "Welcome to your new page. Type / for blocks."
A
When a project is empty, show 3 example cards: "📷 Take a photo of the site", "📝 Add a note about the access", "🌳 Add a tree". One-tap-to-create each
Make the empty state a menu, not a void.
B
Same as A, but the cards are AI-generated from the project name and the user's previous projects. "For 'Oakwood Park', I'd start with: take a photo of the site, add the address, add the first tree"
Oscar is the AI. The empty state should be Oscar suggesting.
The "trust ladder" test. Does the app ask for trust at the right time? Sign in is asked on first launch. OK. But there are other trust moments: Mark's client email, the firm address, the BS5837 reference style, the report template. None of these are asked. The app assumes defaults. When Mark sends his first report, the report has the wrong sender. Bad UX.
A
When Mark first opens a report draft, ask "Where should this report go when it's done? You can change this later." (Email, share-sheet, etc.)
Right moment, right question.
B
On first launch, after the welcome, show a 2-question setup: "What's your firm's name?" + "What's your email signature for reports?" Save and never ask again
Set once, use forever.
The "phone" tests (small screens, one hand, distracted)
The "iPhone SE" test. What does it look like on a 4.7" iPhone (320px wide)? The home page (audit-01) has the chip row at the bottom showing "Add a tree" wrapping to a new line. That's not broken but it's cramped. On a 320px screen, the chat bar's mic button is right next to the send button — easy to mis-tap.
A
Hide the mic button when the keyboard is open (keyboard takes most of the screen anyway). Show a "Done" button next to send
Less clutter when typing.
B
Make the chat bar the same on all screen sizes. The mic and send are always 44x44pt (Apple HIG minimum tap target)
Bigger targets = fewer mis-taps.
The "consistent empty states" test. When a page is empty, does it always look the same? Projects: "1 project" (counts). Surveys: "No surveys yet · Tap New survey to start your first one." Settings: section nav, no empty state. Reports: ? (haven't looked). Different empty states on different pages = Mark has to re-learn each one.
A
Pick one empty-state style and use it everywhere. Either "icon + one-line + one CTA button" or "icon + list of suggestions"
Consistency = no re-learning.
B
Pick the suggestion-list style. Empty page = 3 things you could do here. It's the most helpful
Helpful > consistent-but-empty.
The "where am I" test. Does the app show Mark what page he's on? The header just has "Oscar" + "Add" + search. There's no breadcrumb, no active-page indicator. Mark can be on /surveys and the header just says "Oscar".
A
Replace "Oscar" in the header with the current page name ("Surveys", "Projects", "Settings"). When the user is on the home page, show "Oscar" + a tiny "home" icon
Mark always knows where he is.
B
Keep "Oscar" in the header (it's a brand) but add a smaller page-name next to it, e.g. "Oscar — Surveys" with the page name in a softer color
Brand stays, page is visible.
The "language" tests (does Mark understand every word?)
"Artefact". This word is on the home page twice. Mark probably doesn't use this word. It's a fancy word for "thing". Replace with "thing", "item", "capture", or just don't use the word — show the things instead.
A
Replace "artefact" with "capture" everywhere. "Every capture lands here in real time."
Plainest.
B
Don't use the word at all. Just show the 3 real items: "📷 Oak canopy, 8:12am. 🎤 '...', 8:15am." Self-evident
Best UX. No label needed.
"AI & Brain". This is a section name in Settings. Mark doesn't think in those terms. He thinks: "How does the AI work? How do I talk to it?" The label is meta — it tells Mark the app has an "AI Brain" feature. Mark just wants to know how to ask questions.
A
Rename to "AI Settings" or "How the AI works"
Clearer, less marketing-speak.
B
Rename to "Asking Oscar". It's the action, not the brand
Action-first. Mark knows what he's doing.
"Active" vs "Current" vs "Open" — three words for the same idea.Project card says "ACTIVE". Below the icons it says "● Current project". The chip says "Open /surveys". Three different words, three different places, all meaning "this is the one I'm working on now".
A
Pick one. "Current" is the most natural for Mark. Use it everywhere.
One word, one meaning.
B
Drop all three. Show a green dot or a "Working on this" label. Visual, no word
Mark doesn't need a status word. He needs a marker.
The bug list (probably should fix before showing the app to anyone)
Settings → Profile leaks another user's name.Critical. Mark sees "Dominic" in his settings. (See Day 4 scenario above.)
A
Move Profile to per-user PB storage. Load on login, save on edit. Same fix that was needed for the conversations thread
The right architecture.
Sample data is in Mark's account."Sample site — Oakwood Park" with "Sample data." visible. Mark will see this and freak out. (See Day 2 above.)
A
Wipe sample data from each test account before first login. Auto-detect "Sample" / "Demo" / "Test" prefixed projects and either delete or hide
Real fix.
Surveys page says "No surveys yet" when a survey exists.Critical. Home and Surveys disagree. Mark can't find his work. (See Day 3 above.)
A
Trace the data load on Surveys. Likely cause: the survey was created under a different test user's id, so the current user doesn't see it
Real bug, real fix.
Build hash shows in production UI."#9b8de79" in top-right. Operator feature, not user feature. (See Day 1 above.)
A
Hide in production. Show only when long-pressing the green dot
Operator-only feature.
B
Keep the green dot, drop the hash, add a "Report a problem" button that includes the hash automatically
Useful for support, not visual noise.
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:
The atmospheric poem ("An oak with a leaning heart, two calls before noon")
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
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.)
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.
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).
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).
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.