Yerba Buena Gardens App
YBGC logomark

Gen Z isn't allergic
to touching grass.
They just don't know it's there.

How might we make Yerba Buena Gardens a place 18-25 year olds actively seek out, not just stumble upon?

Product Design Intern
Figma · Claude · Lovable · Cursor · Procreate
Solo design · handoff to internal IT engineering
11Staff & visitor interviews
4Core features shipped to MVP
84.8%Task success rate, hi-fi testing
70.0SUS score — above-average usability
01 — Overview

18–25 year olds walk
past this park every
day. They just don't
know it's there.

Yerba Buena Gardens sits in the middle of SoMa, next to Metreon and a cluster of museums and the age group it needs most has no reason to know it exists. There's no social proof and poor presence on TikTok, the channel Gen Z actually uses to find things to do in SF.

So I designed a companion app that makes the Gardens discoverable and worth coming back to.

Interview-backed from day one with a working MVP in Lovable and Cursor.

App overview mockup

Main concept, at a glance

02 — Core Features

Four features.
Every one earned by research.

01

Creator Feed

A TikTok-style scrollable feed of Gardens content; visitor-generated and creator content, so discovery happens in a format Gen Z already trusts.

Vertical, endless-scroll layout — the format with the lowest friction to keep watching, chosen to maximize time-in-app on first open.

02

RSVP

Social proof event RSVPs that show who's going, lowering the social risk of showing up alone that came up repeatedly in interviews.

03

Map + Badges

A consolidated map surfacing hidden gems, amenities, and much more, with badges earned by exploring, redeemable for real rewards like free bowling.

Badges use exploration-triggered reward, the same loop that drives return visits in habit-forming apps, not a fixed points system.

04

Nudges

SMS and push notifications written in a Gen-Z-coded voice, designed to turn a one-time visit into a repeat habit rather than a single event attendance.

Testing confirmed this directly, event notifications were one of the top reasons participants said they'd reopen the app.

HOVER OVER THE SCREENS TO SEE THE FLOW IN MOTION

Creator feed

Creator feed

Event RSVP

Event RSVP

Consolidated Map

Consolidated Map

Badge & reward

Badge & reward

SMS nudge

SMS nudge

03 — Discovery Mechanisms

Three doors in.
All of them start on a phone.

The app only works if people find it. Three entry points were designed to meet 18–25 year olds exactly where the research said they already are.

01 - Hover over to see the flow in motion
Webpage QR Code Scanned

QR Scan

A QR code on a physical art piece or event flyer opens straight into the app-download flow, turning a moment of curiosity in the Gardens into an install, not a missed opportunity.

02
Website Integration

Website

For anyone who lands on YBG's site directly, a dedicated signature accent CTA, to get users to download the app, turning the gardens to an exciting experience.

03 - Hover over to see the flow in motion
Example creator ad video

TikTok Creator Ads

User Generated Content posts, partnering with creaters who have already posted about YBG and Tiktok ads, meeting the discovery channel every non-visitor named in research. "Video displayed is an example, has been edited"

04 — The Problem

A 33-year veteran of
Parks & Rec told me
this is unsolved.

YBG's own Executive Director, across 33 years and seven different parks & recreation departments, named 18–25 year olds as the one demographic recreation programming has never cracked.

The Gardens aren't invisible because they're boring. They're invisible because they have no digital footprint in the one place this age group actually looks.

Synthesized from staff & visitor interviews

The infrastructure is slow to change, the marketing is printed flyers and neighborhood organizations, and the audience it's built for skews older — while the people it needs to reach live on TikTok.

Sister Gardens photo
05 — Research

11 conversations. One clear pattern.

Interviews with the people who run the Gardens and the people who are supposed to show up to them — to find out where the disconnect actually lives.

5YBG staff & leadership
4Non-visitors, 18–25
2Current visitors, 18–25

“That's the one group we've never figured out the magic bill for — at seven different parks and recreation departments, seven different cities.”

Executive Director, YBG

“I don't think people are going on our website to look things up. People go on social media to look things up.”

Special Projects Manager, YBG

“There's a reason to come here. They just don't know.”

Special Projects Manager, YBG
Affinity map synthesized from interviews

Affinity map — synthesized from interviews

No Digital Layer

Staff confirmed marketing is still print-first: posters and flyers passed through neighborhood organizations. The audience that reaches skews older by default.

No Social Proof

Non-visitors said they'd never been because none of their friends go — and without an "internet-adjacent" hook, there's no reason to be first.

Discovery Happens on TikTok

Every non-visitor interviewed named TikTok as their default source for "free things to do" — not YBG's website, not Google.

06 — Synthesis

From findings to
how might we.

Interview data clustered into five HMW statements — each one tested against sticky-note feature brainstorming before any screen was drawn.

Sticky-note feature brainstorming, mapped against each HMW
07 — Who I'm Designing For

Two people. Two
completely different gaps.

Built from the 11 interviews. One has never set foot in the Gardens. The other has and doesn't even know it.

Persona spread — Maya Hernandez

Maya Hernandez · 20

Key insight

Has never visited, with no social proof from her friend group, YBG doesn't register as a real place worth going.

Persona spread — Josh Richardson

Josh Richardson · 20s

Key insight

Visits regularly and likes it, but never knew it was called Yerba Buena Gardens due to poor digital footprint.

08 — User Journey

From a place with no
reason to go, to one
worth coming back to.

Mapping the journey before and after the app makes the gap concrete, where the friction actually sits today, and what changes once discovery are designed in.

Current Journey
Current-state user journey map
Projected Journey
Projected-state user journey map
09 — Opportunity

Everyone else has the
same three gaps.

Physical-space competitors are seasonal, have no digital layer, or price Gen Z out. Digital-native apps aren't built around a physical destination at all.

Space / AppFree to AccessDigital Discovery LayerYear-RoundBuilt-in Incentive
YBGC AppYesCreator feed + QR + webYesBadges → real rewards
SFMOMA$30–40Owned channels onlyYesNone
Dolores ParkYesNoneYesNone
Stern GroveYes–LotteryNoneSeasonalNone
Partiful / PoshYesYesYesNot destination-tied
LumaYesTech-event skewedYesNot destination-tied
Hands-On Teardown

Sticky notes on every screenshot.

Each competitor app was printed, screen by screen, and annotated by hand to pull out exactly what worked, what didn't, and what YBGC's app could borrow or avoid.

Sticky-note teardown — Partiful
Sticky-note teardown — Luma
Sticky-note teardown — Posh
10 — Design Process

Wireframes to a
working prototype.

Early sketches moved into mid-fidelity wireframes, then into a visual system built inside a real constraint: YBG's own existing brand guidelines.

Wireframe sketches

Wireframe sketches - Discovery + Short-form videos

Wireframe sketches

Wireframe sketches - Events + Badge-earning

Mid-fidelity wireframes — flow 1 and 2

Mid-fidelity wireframes - Events + Explore

Mid-fidelity wireframes — flow 3 and 4

Mid-fidelity wireframes - Consolidated + Badges

The visual system had a real constraint: it had to work within YBG's existing brand, so the direction leans on their approved system, pushed just far enough to feel native to a feed.

Typography Two clear voices: a calmer one for wayfinding and everyday content, and a punchier one reserved for elements that need attention.
Color The primary color keeps the everyday app calm and grounded, like the space itself. The accent is used for CTAs, so a flash of it always signals "something just happened."
Design System

Design system — color & type, within YBG's brand

Figma file organized with style

Figma file — local styles & auto layout

Building It Pushed the File Further

The codebase demands a real Figma file.

Handing a file to Lovable and Cursor is unforgiving in a way clicking through Figma prototypes isn't, nothing carries over automatically. That pushed me to build proper text styles, color styles, and auto layout with proper naming across every screen instead of one-off frames, so the file could actually hold up as a system engineering could build from.

11 — Iterations

What round-one testing
forced me to fix.

Moderated usability testing on the first prototype surfaced four issues before the design ever reached a high-fidelity build.

Round 1 testing notes

My notes, round 1

Finding

The badge flow lacked hierarchy. Users couldn't tell which badge to go for, how to actually earn one, or how badges connected to the map.

Before
Solution

Added color and micro-animations to make progress and next steps legible, and tied badge-earning to the map so the two flows connected.

After
After
Finding

Icons across the events page: events icon and calendar view felt too visually similar to distinguish at a glance.

Before
Solution

Differentiated the icon set between calendar view and events navigation bar page icon.

After
Finding

The option to post a video to the creator feed wasn't visible or clear, users didn't realize they could contribute content, only consume it.

Before
Solution

Added a persistent feature CTA to the feed, mirroring the TikTok's own post button and added occasional get featured ad while scrolling.

After
After
Finding

An accessibility list-view was added for the map, but in testing it felt confusing due to many buttons and it competed with the main map view instead of supporting it.

Before
Before
Solution

Simplified to a single map view with accessible list content accessed via a toggle, rather than as a separate competing mode, accessibility additions still need their own usability pass.

After
After

This is an ongoing project. These iterations reflect the move from round-one testing into the high-fidelity build validated in round two, below.

12 — Results & Validation

Round two: task-based
testing on the hi-fi build.

Six participants completed five core tasks on the high-fidelity prototype, measured on success rate, time on task, and error count, plus an A/B test on the RSVP confirm gesture and a System Usability Scale survey.

Round 2 testing notes

My notes, round 2

84.8%Overall task success rate
5.45Average ease rating (of 7)
0.70Average errors per task
TaskSuccessAvg. TimeAvg. ErrorsEase (1–7)
Onboarding / download83.3%32.5s0.675.58
RSVP to an event91.7%31.7s0.175.83
Discover via explore feed100%35s06.0
Earn a badge53.3%76.7s1.834.67
Explore the map95.8%100s0.835.17

The explore feed was the strongest flow in the entire study, no zero errors. Badge-earning was the clear weak point on every metric, confirming the round-one finding above as the single highest-priority fix before this ships further.

What Brings Them Back

Events pulled harder than rewards.

Asked what would make them open the app again, not just what would bring them back to the Gardens. Half of participants pointed to upcoming events first. Badges, the map's accessibility for newcomers, and event notifications followed close behind.

3/6Cited events as the reason to reopen the app
2/6Cited badges & rewards, including as a pull for younger users specifically
2/6Cited the map or explore page — one specifically for how accessible it felt to a first-time visitor
A/B Test — RSVP Confirm Gesture

Swipe right beat swipe up, 5 to 1.

Option A — Swipe Up
Swipe-up RSVP confirm
1 / 6 preferredFelt less natural against one-handed phone use
Option B — Swipe Right · Chosen
Swipe-right RSVP confirm
5 / 6 preferredMatched the gesture users already knew
70.0 System Usability Scale

Above the 68-point average-usability benchmark, from a 4-participant SUS survey.

“I didn't want to truly explore.” — flagged as a note on map engagement.

Round-two testing participant
13 — Engineering Handoff

I built the MVP to prove
it. IT is building it to last.

Lovable and Cursor let me take this from Figma to a working, testable product fast enough to prove the concept, but a prototype and a production system for a public institution aren't the same thing. From here, it's formally handed off to YBGC's internal IT team, who already maintain their live website, to make it secure and ready for real users. The Beta version addressed all usability issues for the second usability study.

Why This Matters

Figma's prototypes fake state — code has to actually remember it. Building this in Lovable and Cursor, not just Figma, meant the app had to behave like real software. Small interaction bugs that survived two rounds of usability testing became obvious the moment I could truly interact with it.

Working With AI, Not Around It

AI was a way to move faster on execution, not a substitute for the design decisions themselves. The clearest example was working inside strict token limits while building in Cursor and Lovable.

Challenge

Strict token limits while building the MVP in Cursor and Lovable.

Action

Used Claude to engineer high-density, precise prompts that cut token usage.

Result

Shipped the full functional MVP inside the resource constraints.

Now

Shipped by me

Design
  • 4 core features researched, designed, and built into a working MVP (Figma → Lovable/Cursor)
  • Two rounds of usability testing, an A/B test, and a SUS survey
  • Documented GitHub repo, ready to hand off to IT
README Repo

Repo — file structure

README Repo

Repo — README

Later

Public launch

IT-led
  • Beta test with real visitors and staff
  • QR, website, and TikTok discovery flows go live
  • Public launch
  • CS intern onboarded to support long-term (pending confirmation)
YBGC app — first screen
Click to try the betaOpens the live app
14 — Motion & Gamification

Small moments that make
exploring feel like winning.

Micro-animations gamify the experience, and a worm mascot keeps it feeling personable rather than transactional.

Mascot guides badge rewards
Onboarding with mascot
Navigation bar spotlight
Complete RSVP
15 — Reflection

What this taught me.

01

AI-assisted engineering has a real learning curve

Prompt structure matters, tokens run out fast, and getting Lovable and Cursor to produce something usable meant learning to scope and sequence prompts deliberately, not just describe a feature and hope.

02

Solo doesn't mean alone

Owning a project this size as the only designer was, at points, overwhelming. It reinforced how much a project like this actually needs cross-departmental collaboration — you can't design something this big in isolation.

03

A prototype's job is to prove, not to ship

Building a functional MVP was about generating evidence; usable, testable proof the concept works and not about producing something ready for the public. Knowing that line is part of the design job too.

04

My biggest design decision wasn't the strongest lever

Badges got the most design effort and were the hardest feature to use in testing and when I asked what would actually bring people back, events beat rewards. A reminder to validate the core assumption early, not just the usability of it.