Nonprofit · UX strategy, UI & design system

Cleanup Co-Op

A volunteer platform where people adopt a beach, park or street, log what they pick up and join teams, designed so one part-time developer can ship it in phases.

Cleanup Co-Op home screen with impact tiles, next cleanup and awards

Nonprofit · UX strategy, UI & design system

Cleanup Co-Op

A volunteer platform where people adopt a beach, park or street, log what they pick up and join teams, designed so one part-time developer can ship it in phases.

Cleanup Co-Op home screen with impact tiles, next cleanup and awards

Nonprofit · UX strategy, UI & design system

Cleanup Co-Op

A volunteer platform where people adopt a beach, park or street, log what they pick up and join teams, designed so one part-time developer can ship it in phases.

Cleanup Co-Op home screen with impact tiles, next cleanup and awards

Role

UX strategy, UI, design system, prototype, build plan

Team

Me, one developer, a content lead and two stakeholders

Scope

32 desktop screens, 9 error states, phone and tablet

Status

In development, MVP in 16 weeks

Role

UX strategy, UI, design system, prototype, build plan

Team

Me, one developer, a content lead and two stakeholders

Scope

32 desktop screens, 9 error states, phone and tablet

Status

In development, MVP in 16 weeks

Role

UX strategy, UI, design system, prototype, build plan

Team

Me, one developer, a content lead and two stakeholders

Scope

32 desktop screens, 9 error states, phone and tablet

Status

In development, MVP in 16 weeks

Overview

Seaside Sustainability organizes volunteers to clean beaches, parks and streets. Cleanup Co-Op is its volunteer platform: people adopt an area, or just their stretch of one, log what they collect, join teams and earn awards, while staff keep the wording up to date themselves.

Goals

Make adopting an area easy

Show every volunteer’s impact

Bring people together in teams

Keep volunteer emails private

Let staff edit every word

Overview

Seaside Sustainability organizes volunteers to clean beaches, parks and streets. Cleanup Co-Op is its volunteer platform: people adopt an area, or just their stretch of one, log what they collect, join teams and earn awards, while staff keep the wording up to date themselves.

Goals

Make adopting an area easy

Show every volunteer’s impact

Bring people together in teams

Keep volunteer emails private

Let staff edit every word

Overview

Seaside Sustainability organizes volunteers to clean beaches, parks and streets. Cleanup Co-Op is its volunteer platform: people adopt an area, or just their stretch of one, log what they collect, join teams and earn awards, while staff keep the wording up to date themselves.

Goals

Make adopting an area easy

Show every volunteer’s impact

Bring people together in teams

Keep volunteer emails private

Let staff edit every word

The problem

The cleanup map lived in ArcGIS Experience Builder. It could show areas, but not what the program needed next: volunteer accounts, adopting part of a street, team join requests that keep emails private, and a running tally of impact. With one developer working 30 hours a week, the new design also had to be buildable in stages.

The problem

The cleanup map lived in ArcGIS Experience Builder. It could show areas, but not what the program needed next: volunteer accounts, adopting part of a street, team join requests that keep emails private, and a running tally of impact. With one developer working 30 hours a week, the new design also had to be buildable in stages.

The problem

The cleanup map lived in ArcGIS Experience Builder. It could show areas, but not what the program needed next: volunteer accounts, adopting part of a street, team join requests that keep emails private, and a running tally of impact. With one developer working 30 hours a week, the new design also had to be buildable in stages.

What the brief asked for

This round started from the brief written by Seaside Sustainability’s staff rather than from user interviews. I turned each must-have into a design response, and one line set the tone for every screen with other people on it.

“We don’t want the emails of team members to be public.”

From the project brief

Adopt areas

Led to the adopt map, and Draw my section for people who clean only part of a street

Impact tally and awards

Led to the impact tiles, the season goal, and awards with the next one called out

Join teams, keep emails private

Led to join requests captains approve by name, and messages sent through the site

Team photos and vacation pins

Led to a team photo wall with a consent check, and logging a cleanup anywhere

Confirmation emails

Led to five email templates, mirrored in an in-app inbox

Editable words

Led to short, consistent copy kept in one content file, moving to a CMS later

What the brief asked for

This round started from the brief written by Seaside Sustainability’s staff rather than from user interviews. I turned each must-have into a design response, and one line set the tone for every screen with other people on it.

“We don’t want the emails of team members to be public.”

From the project brief

Adopt areas

Led to the adopt map, and Draw my section for people who clean only part of a street

Impact tally and awards

Led to the impact tiles, the season goal, and awards with the next one called out

Join teams, keep emails private

Led to join requests captains approve by name, and messages sent through the site

Team photos and vacation pins

Led to a team photo wall with a consent check, and logging a cleanup anywhere

Confirmation emails

Led to five email templates, mirrored in an in-app inbox

Editable words

Led to short, consistent copy kept in one content file, moving to a CMS later

What the brief asked for

This round started from the brief written by Seaside Sustainability’s staff rather than from user interviews. I turned each must-have into a design response, and one line set the tone for every screen with other people on it.

“We don’t want the emails of team members to be public.”

From the project brief

Adopt areas

Led to the adopt map, and Draw my section for people who clean only part of a street

Impact tally and awards

Led to the impact tiles, the season goal, and awards with the next one called out

Join teams, keep emails private

Led to join requests captains approve by name, and messages sent through the site

Team photos and vacation pins

Led to a team photo wall with a consent check, and logging a cleanup anywhere

Confirmation emails

Led to five email templates, mirrored in an in-app inbox

Editable words

Led to short, consistent copy kept in one content file, moving to a CMS later

How I worked

1

Map the brief

Listed every must-have and drew one user flow covering adopting, logging, teams and scheduling.

2

Build the system

Set tokens and components around Seaside’s green, gold and teal, with Lexend for every word, chosen for readability.

3

Design every state

32 desktop screens, 9 error and edge-case screens, and phone and tablet versions of the core flows.

4

Audit accessibility

Checked contrast, borders, text size and targets, then fixed the tokens so every screen updated at once.

5

Prototype

Rebuilt the screens in Figma from components and linked five clickable flows for stakeholder reviews.

6

Plan the build

Split the work into an MVP and two later phases that one developer can ship in about 40 weeks.

How I worked

1

Map the brief

Listed every must-have and drew one user flow covering adopting, logging, teams and scheduling.

2

Build the system

Set tokens and components around Seaside’s green, gold and teal, with Lexend for every word, chosen for readability.

3

Design every state

32 desktop screens, 9 error and edge-case screens, and phone and tablet versions of the core flows.

4

Audit accessibility

Checked contrast, borders, text size and targets, then fixed the tokens so every screen updated at once.

5

Prototype

Rebuilt the screens in Figma from components and linked five clickable flows for stakeholder reviews.

6

Plan the build

Split the work into an MVP and two later phases that one developer can ship in about 40 weeks.

How I worked

1

Map the brief

Listed every must-have and drew one user flow covering adopting, logging, teams and scheduling.

2

Build the system

Set tokens and components around Seaside’s green, gold and teal, with Lexend for every word, chosen for readability.

3

Design every state

32 desktop screens, 9 error and edge-case screens, and phone and tablet versions of the core flows.

4

Audit accessibility

Checked contrast, borders, text size and targets, then fixed the tokens so every screen updated at once.

5

Prototype

Rebuilt the screens in Figma from components and linked five clickable flows for stakeholder reviews.

6

Plan the build

Split the work into an MVP and two later phases that one developer can ship in about 40 weeks.

Design system

I built the system before the screens, so 40-plus screens could be assembled from the same parts. Seaside’s three brand colors carry meaning on the map (green for parks and open spots, gold for beaches and adopted spots, teal for streets and actions), and every fill that sits behind white text or icons has a deep variant that passes 4.5:1.

Brand and meaning

Aa

primary

#04718E

Buttons, links, focus · 5.6:1

Aa

green-deep

#2D8438

Parks, open, done · 4.7:1

Aa

sand-deep

#966C28

Beaches, adopted · 4.6:1

Aa

sky-deep

#3C7BA4

Logs, info · 4.6:1

Aa

coral-deep

#C94A2B

Awards, alerts · 4.6:1

Aa

ink

#12313A

Text and headings · 12.9:1

Surfaces and lines

Aa

bg

#F5F8F7

Page background

Aa

surface

#FFFFFF

Cards and panels

Aa

surface-2

#EDF3F2

Quiet fills

Aa

line-strong

#748E94

Control borders · 3:1

Type: Lexend, for every word

Adopt a beach, park, or street

Your next cleanup

Lexend was designed to reduce visual stress and improve reading fluency, so one family carries headings, labels and long help text.

Eyebrow · 12 / 600 · tracked

Components

Log a cleanup

Schedule

Edit route

Open

Due in 10 days

Overdue by 2 days

lb

121 lb

Litter you have removed

17 components in all, including impact tiles, nav items, fields, choice cards, area and event rows, awards, draw steps, map pins and toasts.

Design system

I built the system before the screens, so 40-plus screens could be assembled from the same parts. Seaside’s three brand colors carry meaning on the map (green for parks and open spots, gold for beaches and adopted spots, teal for streets and actions), and every fill that sits behind white text or icons has a deep variant that passes 4.5:1.

Brand and meaning

Aa

primary

#04718E

Buttons, links, focus · 5.6:1

Aa

green-deep

#2D8438

Parks, open, done · 4.7:1

Aa

sand-deep

#966C28

Beaches, adopted · 4.6:1

Aa

sky-deep

#3C7BA4

Logs, info · 4.6:1

Aa

coral-deep

#C94A2B

Awards, alerts · 4.6:1

Aa

ink

#12313A

Text and headings · 12.9:1

Surfaces and lines

Aa

bg

#F5F8F7

Page background

Aa

surface

#FFFFFF

Cards and panels

Aa

surface-2

#EDF3F2

Quiet fills

Aa

line-strong

#748E94

Control borders · 3:1

Type: Lexend, for every word

Adopt a beach, park, or street

Your next cleanup

Lexend was designed to reduce visual stress and improve reading fluency, so one family carries headings, labels and long help text.

Eyebrow · 12 / 600 · tracked

Components

Log a cleanup

Schedule

Edit route

Open

Due in 10 days

Overdue by 2 days

lb

121 lb

Litter you have removed

17 components in all, including impact tiles, nav items, fields, choice cards, area and event rows, awards, draw steps, map pins and toasts.

Design system

I built the system before the screens, so 40-plus screens could be assembled from the same parts. Seaside’s three brand colors carry meaning on the map (green for parks and open spots, gold for beaches and adopted spots, teal for streets and actions), and every fill that sits behind white text or icons has a deep variant that passes 4.5:1.

Brand and meaning

Aa

primary

#04718E

Buttons, links, focus · 5.6:1

Aa

green-deep

#2D8438

Parks, open, done · 4.7:1

Aa

sand-deep

#966C28

Beaches, adopted · 4.6:1

Aa

sky-deep

#3C7BA4

Logs, info · 4.6:1

Aa

coral-deep

#C94A2B

Awards, alerts · 4.6:1

Aa

ink

#12313A

Text and headings · 12.9:1

Surfaces and lines

Aa

bg

#F5F8F7

Page background

Aa

surface

#FFFFFF

Cards and panels

Aa

surface-2

#EDF3F2

Quiet fills

Aa

line-strong

#748E94

Control borders · 3:1

Type: Lexend, for every word

Adopt a beach, park, or street

Your next cleanup

Lexend was designed to reduce visual stress and improve reading fluency, so one family carries headings, labels and long help text.

Eyebrow · 12 / 600 · tracked

Components

Log a cleanup

Schedule

Edit route

Open

Due in 10 days

Overdue by 2 days

lb

121 lb

Litter you have removed

17 components in all, including impact tiles, nav items, fields, choice cards, area and event rows, awards, draw steps, map pins and toasts.

Error and edge-case states

I designed the unhappy paths alongside the happy ones, so the developer would not have to invent them. Each error says what went wrong and how to fix it, and keeps the volunteer’s work.

The map failed to load, with a list of open spots as a fallback

Map didn’t load: the list still works

Photo upload with two files rejected and reasons for each

Photo errors name each file and the fix

Scheduling with a past date and a clash with a team cleanup

A schedule clash offers to join the team instead

The full set also covers a wrong password, no search match, logging offline, a team name already taken, being signed out mid-task, and page not found.

Error and edge-case states

I designed the unhappy paths alongside the happy ones, so the developer would not have to invent them. Each error says what went wrong and how to fix it, and keeps the volunteer’s work.

The map failed to load, with a list of open spots as a fallback

Map didn’t load: the list still works

Photo upload with two files rejected and reasons for each

Photo errors name each file and the fix

Scheduling with a past date and a clash with a team cleanup

A schedule clash offers to join the team instead

The full set also covers a wrong password, no search match, logging offline, a team name already taken, being signed out mid-task, and page not found.

Error and edge-case states

I designed the unhappy paths alongside the happy ones, so the developer would not have to invent them. Each error says what went wrong and how to fix it, and keeps the volunteer’s work.

The map failed to load, with a list of open spots as a fallback

Map didn’t load: the list still works

Photo upload with two files rejected and reasons for each

Photo errors name each file and the fix

Scheduling with a past date and a clash with a team cleanup

A schedule clash offers to join the team instead

The full set also covers a wrong password, no search match, logging offline, a team name already taken, being signed out mid-task, and page not found.

Key decisions

Decision 1

Keep the ArcGIS data, build a custom app

Experience Builder couldn’t handle drawing, team requests or private emails. Keeping the existing ArcGIS map layers reused the data and skills Seaside already had.

Decision 2

Privacy as a rule, not a setting

Volunteers appear by first name and last initial. Captains approve requests without seeing emails, and members message each other through the site.

Decision 3

Let people adopt part of a street

Draw my section is always a visible button, never hidden behind a pin. A checklist guides each tap, and a stretch someone already adopted is blocked with a way to contact them.

Decision 4

Scope an MVP one developer can ship

The MVP covers the core loop: sign up, adopt, log, join a team, get an email. Drawing, scheduling and the inbox follow in Phase 2, offline logging and staff tools in Phase 3.

Key decisions

Decision 1

Keep the ArcGIS data, build a custom app

Experience Builder couldn’t handle drawing, team requests or private emails. Keeping the existing ArcGIS map layers reused the data and skills Seaside already had.

Decision 2

Privacy as a rule, not a setting

Volunteers appear by first name and last initial. Captains approve requests without seeing emails, and members message each other through the site.

Decision 3

Let people adopt part of a street

Draw my section is always a visible button, never hidden behind a pin. A checklist guides each tap, and a stretch someone already adopted is blocked with a way to contact them.

Decision 4

Scope an MVP one developer can ship

The MVP covers the core loop: sign up, adopt, log, join a team, get an email. Drawing, scheduling and the inbox follow in Phase 2, offline logging and staff tools in Phase 3.

Key decisions

Decision 1

Keep the ArcGIS data, build a custom app

Experience Builder couldn’t handle drawing, team requests or private emails. Keeping the existing ArcGIS map layers reused the data and skills Seaside already had.

Decision 2

Privacy as a rule, not a setting

Volunteers appear by first name and last initial. Captains approve requests without seeing emails, and members message each other through the site.

Decision 3

Let people adopt part of a street

Draw my section is always a visible button, never hidden behind a pin. A checklist guides each tap, and a stretch someone already adopted is blocked with a way to contact them.

Decision 4

Scope an MVP one developer can ship

The MVP covers the core loop: sign up, adopt, log, join a team, get an email. Drawing, scheduling and the inbox follow in Phase 2, offline logging and staff tools in Phase 3.

User flow

One flow ties the four jobs together: adopt an area, log a cleanup, join a team, and schedule. Visitors can browse every map and team; acting asks them to sign in, then returns them to what they were doing. Every step marked with a mail icon sends a confirmation email.

User flow: open the app, sign in or browse as a visitor, then four lanes for adopting an area, logging a cleanup, joining a team, and scheduling with the inbox

The same four lanes became the five clickable flows in the Figma prototype, plus a tour of the error states, used to walk stakeholders through the design.

Final designs

Six screens, each annotated with what it does and why. Every screen was built from the Cleanup Co-Op design system and checked for contrast, text size and target size.

Screen 1 of 6

Home

Volunteers see their impact, what is coming up, and what needs them the moment they sign in.

Cleanup Co-Op home for an active volunteer
The same page on a first visit: three steps to a first cleanup.

The same page on a first visit: three steps to a first cleanup.

1

Impact tiles

Pounds removed, cleanups logged, areas cared for and awards earned, each in its own tone.

Why

The brief asked for a running tally. White icons on deep fills keep every tile above 4.5:1 contrast.

2

Your next cleanup

The next date with Directions and See on map, then the cleanup after it.

Why

The most likely next action sits at the top, so getting there takes one tap.

3

Your spots

Each adopted area, how often it is cleaned, and a due or overdue chip.

Why

Adopting is a promise. A gentle due date keeps areas cared for, and the chip always carries words, not color alone.

4

Awards

Earned awards, locked ones with progress, and the next one called out with a bar.

Why

Naming the next award gives people a reason to come back. Locked awards stay readable instead of fading out.

5

Join requests

Captains approve or decline by first name and last initial.

Why

The brief ruled out public emails, so captains decide by name and nobody sees an address.

6

Leaderboard

Pounds removed this fall, with the volunteer’s own row highlighted.

Why

A little friendly competition, with first names and last initials only.

Screen 2 of 6

Adopt an area

One map shows every beach, park and street, who has adopted it, and what is still open.

Adopt an area map, as a visitor
Adopting asks only how often and who with, then confirms by email.

Adopting asks only how often and who with, then confirms by email.

1

Pins that say two things

The pin color and icon show the type of place; the small dot shows its status.

Why

Volunteers need to know what a place is and whether it is free. Labels mean status never relies on color alone.

2

Filter in one tap

All areas, Beaches, Parks, Streets and Open to adopt narrow the map.

Why

Most visits start with “what can I adopt near me?”, so open spots are one tap away.

3

Draw my section

A button that is always on the map, never hidden behind a pin.

Why

Many people clean only their stretch of a long street or shore, so adopting part of an area had to be easy to find.

4

Two ways to adopt

A short tip at the top of the list explains whole areas and sections.

Why

Drawing is new to most volunteers. One sentence explains it right where they decide.

5

Browse first, sign up later

Visitors see every map and team. Acting asks them to create an account or try the demo.

Why

Asking for an account before showing anything would lose people who are just curious.

6

A legend in words

Open, Adopted and Yours are labeled next to their dots.

Why

A color key alone would fail for color-blind volunteers.

Screen 3 of 6

Draw my section

People who clean only part of a street or shore tap where they start and stop, and adopt just that stretch.

Drawing a section of Ocean Ave on the map
On a phone the checklist becomes a bottom sheet over the map.

On a phone the checklist becomes a bottom sheet over the map.

1

Line or shape

A street or shore is a line; a park section is a shape.

Why

Two clear modes beat one tool that guesses what you meant.

2

A checklist that ticks itself

Each step checks off as it happens, so people always know what is next.

Why

Drawing on a map is unfamiliar. The list answers “now what?” after every tap.

3

Points on the map

Tapped points join into a dotted line, with start and end rings.

Why

Seeing the line as it is drawn makes mistakes obvious before anything is saved.

4

A hint that follows

A dark tooltip near the line repeats the next step.

Why

Eyes are on the map while drawing, so the hint lives there too.

5

Points and length

A live count and a rough length in feet.

Why

The length becomes part of the adoption, so captains and staff know what was promised.

6

Undo and Clear

Quiet buttons to take back one point or start over.

Why

Mistaps on a map are common, especially on a phone. Recovery should cost one tap.

Screen 4 of 6

Log a cleanup

Logging takes under a minute: pick the spot, say who came, and count what you collected, as roughly or exactly as you like.

Log a cleanup with a detailed tally
Right after logging, Home shows the new award and the updated totals.

Right after logging, Home shows the new award and the updated totals.

1

Pick the spot

Search or tap a pin. Adopted spots come first.

Why

Most logs are for a place the volunteer already looks after.

2

Draw where you cleaned

Trace the route you actually walked.

Why

Routes show staff which stretches are covered and which are being missed.

3

Vacation pins

Cleaned away from home? Drop a pin anywhere.

Why

A brief must-have: a beach cleanup on vacation still counts toward a volunteer’s total.

4

What you picked

One line confirms the spot and route length, with Edit route.

Why

A quick check before submitting, without leaving the page.

5

Quick count or tally

Bags and pounds for most people; item counts for those who want them.

Why

Item counts feed Seaside’s reports, but making everyone count cigarette butts would stop people logging.

6

Photos with consent

Photos can also go to the team wall, with a checkbox to say so.

Why

Sharing is a choice each time, never a default someone forgets about.

Screen 5 of 6

Team page

A team shares a home spot, a photo wall, upcoming cleanups and a running total, without anyone’s email on show.

Tide Turners team page as captain
Finding a team: search by town and distance, then request to join.

Finding a team: search by town and distance, then request to join.

1

Team totals

Members, cleanups and pounds, right under the team name.

Why

Shared numbers turn individual effort into something the team owns.

2

Your role

A chip says when you are the captain.

Why

Captains see extra tools, so the page says why.

3

Photo wall

Recent photos with who and when.

Why

The brief asked for team photos. Only photos people chose to share appear here.

4

Join requests

Accept or decline, by first name and last initial.

Why

The brief: “We don’t want the emails of team members to be public.”

5

Message, don’t email

Message team sends through the site, with a note that nobody sees emails.

Why

Saying it plainly builds trust with people joining a group of strangers.

6

Upcoming cleanups

Team dates with who is going and a one-tap I’m going.

Why

Turning up is the point of a team, so it is the easiest thing to do.

Screen 6 of 6

Inbox and scheduling

Every confirmation email is mirrored in an in-app inbox, and scheduling warns about clashes before they happen.

Inbox with the adoption confirmation open
Scheduling catches a past date and offers to join the team’s cleanup instead.

Scheduling catches a past date and offers to join the team’s cleanup instead.

1

Every email, in one place

Adoptions, requests, logs and awards, newest first.

Why

People lose emails. The inbox means a confirmation is never more than a tap away.

2

The real email

The preview is the email template itself.

Why

Staff and volunteers see exactly the same message, so support never has to guess.

3

A short summary

Area, how often and where to get a kit.

Why

The three facts people look for, without reading a paragraph.

4

One next step

Each email ends with a single action.

Why

A confirmation is the best moment to get the next cleanup on the calendar.

5

Privacy, said out loud

“Your email is never shown to other volunteers.”

Why

The privacy rule is repeated wherever an email address is involved.

6

Unread count

A badge on Inbox in the sidebar.

Why

A number with a label, so it is not a color-only signal.

Final designs

Six screens, each annotated with what it does and why. Every screen was built from the Cleanup Co-Op design system and checked for contrast, text size and target size.

Screen 1 of 6

Home

Volunteers see their impact, what is coming up, and what needs them the moment they sign in.

Cleanup Co-Op home for an active volunteer
The same page on a first visit: three steps to a first cleanup.

The same page on a first visit: three steps to a first cleanup.

1

Impact tiles

Pounds removed, cleanups logged, areas cared for and awards earned, each in its own tone.

Why

The brief asked for a running tally. White icons on deep fills keep every tile above 4.5:1 contrast.

2

Your next cleanup

The next date with Directions and See on map, then the cleanup after it.

Why

The most likely next action sits at the top, so getting there takes one tap.

3

Your spots

Each adopted area, how often it is cleaned, and a due or overdue chip.

Why

Adopting is a promise. A gentle due date keeps areas cared for, and the chip always carries words, not color alone.

4

Awards

Earned awards, locked ones with progress, and the next one called out with a bar.

Why

Naming the next award gives people a reason to come back. Locked awards stay readable instead of fading out.

5

Join requests

Captains approve or decline by first name and last initial.

Why

The brief ruled out public emails, so captains decide by name and nobody sees an address.

6

Leaderboard

Pounds removed this fall, with the volunteer’s own row highlighted.

Why

A little friendly competition, with first names and last initials only.

Screen 2 of 6

Adopt an area

One map shows every beach, park and street, who has adopted it, and what is still open.

Adopt an area map, as a visitor
Adopting asks only how often and who with, then confirms by email.

Adopting asks only how often and who with, then confirms by email.

1

Pins that say two things

The pin color and icon show the type of place; the small dot shows its status.

Why

Volunteers need to know what a place is and whether it is free. Labels mean status never relies on color alone.

2

Filter in one tap

All areas, Beaches, Parks, Streets and Open to adopt narrow the map.

Why

Most visits start with “what can I adopt near me?”, so open spots are one tap away.

3

Draw my section

A button that is always on the map, never hidden behind a pin.

Why

Many people clean only their stretch of a long street or shore, so adopting part of an area had to be easy to find.

4

Two ways to adopt

A short tip at the top of the list explains whole areas and sections.

Why

Drawing is new to most volunteers. One sentence explains it right where they decide.

5

Browse first, sign up later

Visitors see every map and team. Acting asks them to create an account or try the demo.

Why

Asking for an account before showing anything would lose people who are just curious.

6

A legend in words

Open, Adopted and Yours are labeled next to their dots.

Why

A color key alone would fail for color-blind volunteers.

Screen 3 of 6

Draw my section

People who clean only part of a street or shore tap where they start and stop, and adopt just that stretch.

Drawing a section of Ocean Ave on the map
On a phone the checklist becomes a bottom sheet over the map.

On a phone the checklist becomes a bottom sheet over the map.

1

Line or shape

A street or shore is a line; a park section is a shape.

Why

Two clear modes beat one tool that guesses what you meant.

2

A checklist that ticks itself

Each step checks off as it happens, so people always know what is next.

Why

Drawing on a map is unfamiliar. The list answers “now what?” after every tap.

3

Points on the map

Tapped points join into a dotted line, with start and end rings.

Why

Seeing the line as it is drawn makes mistakes obvious before anything is saved.

4

A hint that follows

A dark tooltip near the line repeats the next step.

Why

Eyes are on the map while drawing, so the hint lives there too.

5

Points and length

A live count and a rough length in feet.

Why

The length becomes part of the adoption, so captains and staff know what was promised.

6

Undo and Clear

Quiet buttons to take back one point or start over.

Why

Mistaps on a map are common, especially on a phone. Recovery should cost one tap.

Screen 4 of 6

Log a cleanup

Logging takes under a minute: pick the spot, say who came, and count what you collected, as roughly or exactly as you like.

Log a cleanup with a detailed tally
Right after logging, Home shows the new award and the updated totals.

Right after logging, Home shows the new award and the updated totals.

1

Pick the spot

Search or tap a pin. Adopted spots come first.

Why

Most logs are for a place the volunteer already looks after.

2

Draw where you cleaned

Trace the route you actually walked.

Why

Routes show staff which stretches are covered and which are being missed.

3

Vacation pins

Cleaned away from home? Drop a pin anywhere.

Why

A brief must-have: a beach cleanup on vacation still counts toward a volunteer’s total.

4

What you picked

One line confirms the spot and route length, with Edit route.

Why

A quick check before submitting, without leaving the page.

5

Quick count or tally

Bags and pounds for most people; item counts for those who want them.

Why

Item counts feed Seaside’s reports, but making everyone count cigarette butts would stop people logging.

6

Photos with consent

Photos can also go to the team wall, with a checkbox to say so.

Why

Sharing is a choice each time, never a default someone forgets about.

Screen 5 of 6

Team page

A team shares a home spot, a photo wall, upcoming cleanups and a running total, without anyone’s email on show.

Tide Turners team page as captain
Finding a team: search by town and distance, then request to join.

Finding a team: search by town and distance, then request to join.

1

Team totals

Members, cleanups and pounds, right under the team name.

Why

Shared numbers turn individual effort into something the team owns.

2

Your role

A chip says when you are the captain.

Why

Captains see extra tools, so the page says why.

3

Photo wall

Recent photos with who and when.

Why

The brief asked for team photos. Only photos people chose to share appear here.

4

Join requests

Accept or decline, by first name and last initial.

Why

The brief: “We don’t want the emails of team members to be public.”

5

Message, don’t email

Message team sends through the site, with a note that nobody sees emails.

Why

Saying it plainly builds trust with people joining a group of strangers.

6

Upcoming cleanups

Team dates with who is going and a one-tap I’m going.

Why

Turning up is the point of a team, so it is the easiest thing to do.

Screen 6 of 6

Inbox and scheduling

Every confirmation email is mirrored in an in-app inbox, and scheduling warns about clashes before they happen.

Inbox with the adoption confirmation open
Scheduling catches a past date and offers to join the team’s cleanup instead.

Scheduling catches a past date and offers to join the team’s cleanup instead.

1

Every email, in one place

Adoptions, requests, logs and awards, newest first.

Why

People lose emails. The inbox means a confirmation is never more than a tap away.

2

The real email

The preview is the email template itself.

Why

Staff and volunteers see exactly the same message, so support never has to guess.

3

A short summary

Area, how often and where to get a kit.

Why

The three facts people look for, without reading a paragraph.

4

One next step

Each email ends with a single action.

Why

A confirmation is the best moment to get the next cleanup on the calendar.

5

Privacy, said out loud

“Your email is never shown to other volunteers.”

Why

The privacy rule is repeated wherever an email address is involved.

6

Unread count

A badge on Inbox in the sidebar.

Why

A number with a label, so it is not a color-only signal.

Final designs

Six screens, each annotated with what it does and why. Every screen was built from the Cleanup Co-Op design system and checked for contrast, text size and target size.

Screen 1 of 6

Home

Volunteers see their impact, what is coming up, and what needs them the moment they sign in.

Cleanup Co-Op home for an active volunteer
The same page on a first visit: three steps to a first cleanup.

The same page on a first visit: three steps to a first cleanup.

1

Impact tiles

Pounds removed, cleanups logged, areas cared for and awards earned, each in its own tone.

Why

The brief asked for a running tally. White icons on deep fills keep every tile above 4.5:1 contrast.

2

Your next cleanup

The next date with Directions and See on map, then the cleanup after it.

Why

The most likely next action sits at the top, so getting there takes one tap.

3

Your spots

Each adopted area, how often it is cleaned, and a due or overdue chip.

Why

Adopting is a promise. A gentle due date keeps areas cared for, and the chip always carries words, not color alone.

4

Awards

Earned awards, locked ones with progress, and the next one called out with a bar.

Why

Naming the next award gives people a reason to come back. Locked awards stay readable instead of fading out.

5

Join requests

Captains approve or decline by first name and last initial.

Why

The brief ruled out public emails, so captains decide by name and nobody sees an address.

6

Leaderboard

Pounds removed this fall, with the volunteer’s own row highlighted.

Why

A little friendly competition, with first names and last initials only.

Screen 2 of 6

Adopt an area

One map shows every beach, park and street, who has adopted it, and what is still open.

Adopt an area map, as a visitor
Adopting asks only how often and who with, then confirms by email.

Adopting asks only how often and who with, then confirms by email.

1

Pins that say two things

The pin color and icon show the type of place; the small dot shows its status.

Why

Volunteers need to know what a place is and whether it is free. Labels mean status never relies on color alone.

2

Filter in one tap

All areas, Beaches, Parks, Streets and Open to adopt narrow the map.

Why

Most visits start with “what can I adopt near me?”, so open spots are one tap away.

3

Draw my section

A button that is always on the map, never hidden behind a pin.

Why

Many people clean only their stretch of a long street or shore, so adopting part of an area had to be easy to find.

4

Two ways to adopt

A short tip at the top of the list explains whole areas and sections.

Why

Drawing is new to most volunteers. One sentence explains it right where they decide.

5

Browse first, sign up later

Visitors see every map and team. Acting asks them to create an account or try the demo.

Why

Asking for an account before showing anything would lose people who are just curious.

6

A legend in words

Open, Adopted and Yours are labeled next to their dots.

Why

A color key alone would fail for color-blind volunteers.

Screen 3 of 6

Draw my section

People who clean only part of a street or shore tap where they start and stop, and adopt just that stretch.

Drawing a section of Ocean Ave on the map
On a phone the checklist becomes a bottom sheet over the map.

On a phone the checklist becomes a bottom sheet over the map.

1

Line or shape

A street or shore is a line; a park section is a shape.

Why

Two clear modes beat one tool that guesses what you meant.

2

A checklist that ticks itself

Each step checks off as it happens, so people always know what is next.

Why

Drawing on a map is unfamiliar. The list answers “now what?” after every tap.

3

Points on the map

Tapped points join into a dotted line, with start and end rings.

Why

Seeing the line as it is drawn makes mistakes obvious before anything is saved.

4

A hint that follows

A dark tooltip near the line repeats the next step.

Why

Eyes are on the map while drawing, so the hint lives there too.

5

Points and length

A live count and a rough length in feet.

Why

The length becomes part of the adoption, so captains and staff know what was promised.

6

Undo and Clear

Quiet buttons to take back one point or start over.

Why

Mistaps on a map are common, especially on a phone. Recovery should cost one tap.

Screen 4 of 6

Log a cleanup

Logging takes under a minute: pick the spot, say who came, and count what you collected, as roughly or exactly as you like.

Log a cleanup with a detailed tally
Right after logging, Home shows the new award and the updated totals.

Right after logging, Home shows the new award and the updated totals.

1

Pick the spot

Search or tap a pin. Adopted spots come first.

Why

Most logs are for a place the volunteer already looks after.

2

Draw where you cleaned

Trace the route you actually walked.

Why

Routes show staff which stretches are covered and which are being missed.

3

Vacation pins

Cleaned away from home? Drop a pin anywhere.

Why

A brief must-have: a beach cleanup on vacation still counts toward a volunteer’s total.

4

What you picked

One line confirms the spot and route length, with Edit route.

Why

A quick check before submitting, without leaving the page.

5

Quick count or tally

Bags and pounds for most people; item counts for those who want them.

Why

Item counts feed Seaside’s reports, but making everyone count cigarette butts would stop people logging.

6

Photos with consent

Photos can also go to the team wall, with a checkbox to say so.

Why

Sharing is a choice each time, never a default someone forgets about.

Screen 5 of 6

Team page

A team shares a home spot, a photo wall, upcoming cleanups and a running total, without anyone’s email on show.

Tide Turners team page as captain
Finding a team: search by town and distance, then request to join.

Finding a team: search by town and distance, then request to join.

1

Team totals

Members, cleanups and pounds, right under the team name.

Why

Shared numbers turn individual effort into something the team owns.

2

Your role

A chip says when you are the captain.

Why

Captains see extra tools, so the page says why.

3

Photo wall

Recent photos with who and when.

Why

The brief asked for team photos. Only photos people chose to share appear here.

4

Join requests

Accept or decline, by first name and last initial.

Why

The brief: “We don’t want the emails of team members to be public.”

5

Message, don’t email

Message team sends through the site, with a note that nobody sees emails.

Why

Saying it plainly builds trust with people joining a group of strangers.

6

Upcoming cleanups

Team dates with who is going and a one-tap I’m going.

Why

Turning up is the point of a team, so it is the easiest thing to do.

Screen 6 of 6

Inbox and scheduling

Every confirmation email is mirrored in an in-app inbox, and scheduling warns about clashes before they happen.

Inbox with the adoption confirmation open
Scheduling catches a past date and offers to join the team’s cleanup instead.

Scheduling catches a past date and offers to join the team’s cleanup instead.

1

Every email, in one place

Adoptions, requests, logs and awards, newest first.

Why

People lose emails. The inbox means a confirmation is never more than a tap away.

2

The real email

The preview is the email template itself.

Why

Staff and volunteers see exactly the same message, so support never has to guess.

3

A short summary

Area, how often and where to get a kit.

Why

The three facts people look for, without reading a paragraph.

4

One next step

Each email ends with a single action.

Why

A confirmation is the best moment to get the next cleanup on the calendar.

5

Privacy, said out loud

“Your email is never shown to other volunteers.”

Why

The privacy rule is repeated wherever an email address is involved.

6

Unread count

A badge on Inbox in the sidebar.

Why

A number with a label, so it is not a color-only signal.

Tablet and mobile

The core flows were also designed at 834px and 390px, because most volunteers log a cleanup on a phone, standing at the spot they just cleaned.

Tablet, 834px

Home at tablet width

Home

Adopt an area at tablet width

Adopt an area

Log a cleanup at tablet width

Log a cleanup

Mobile, 390px

Home at mobile width

Home

Draw my section at mobile width

Draw my section

Log a cleanup at mobile width

Log a cleanup

Rail becomes a tab bar

The sidebar turns into a bottom tab bar on phones, with Log a cleanup in the middle.

Panels become sheets

The area panel and draw checklist slide up from the bottom so the map stays visible.

Targets grow

Every tap target is at least 44px on touch screens, including map pins and steppers.

Tablet and mobile

The core flows were also designed at 834px and 390px, because most volunteers log a cleanup on a phone, standing at the spot they just cleaned.

Tablet, 834px

Home at tablet width

Home

Adopt an area at tablet width

Adopt an area

Log a cleanup at tablet width

Log a cleanup

Mobile, 390px

Home at mobile width

Home

Draw my section at mobile width

Draw my section

Log a cleanup at mobile width

Log a cleanup

Rail becomes a tab bar

The sidebar turns into a bottom tab bar on phones, with Log a cleanup in the middle.

Panels become sheets

The area panel and draw checklist slide up from the bottom so the map stays visible.

Targets grow

Every tap target is at least 44px on touch screens, including map pins and steppers.

Tablet and mobile

The core flows were also designed at 834px and 390px, because most volunteers log a cleanup on a phone, standing at the spot they just cleaned.

Tablet, 834px

Home at tablet width

Home

Adopt an area at tablet width

Adopt an area

Log a cleanup at tablet width

Log a cleanup

Mobile, 390px

Home at mobile width

Home

Draw my section at mobile width

Draw my section

Log a cleanup at mobile width

Log a cleanup

Rail becomes a tab bar

The sidebar turns into a bottom tab bar on phones, with Log a cleanup in the middle.

Panels become sheets

The area panel and draw checklist slide up from the bottom so the map stays visible.

Targets grow

Every tap target is at least 44px on touch screens, including map pins and steppers.

Prototype

Try the clickable prototype

I linked the Figma screens into five desktop flows that follow the user flow lanes, plus phone and tablet walkthroughs. These are what I used to walk Seaside’s stakeholders through the design before handoff.

Desktop flows

Flow 1

Sign up and adopt a spot

Browse the map as a visitor, create an account, draw a section of Ocean Ave and adopt it.

Open in Figma

Flow 2

Log a cleanup

From Home, log a cleanup with a route and a detailed tally, then see the new award.

Open in Figma

Flow 3

Find and join a team

Search for a team nearby, ask to join, and see the request a captain approves by name.

Open in Figma

Flow 4

Schedule and inbox

Read a confirmation in the inbox, then schedule the next cleanup.

Open in Figma

Flow 5

Errors and edge cases

A guided tour of all nine error states, from a wrong password to page not found.

Open in Figma

How to view

Getting around

Each link opens the flow at its first screen in Figma’s presentation view.

Click anywhere to see what’s clickable on a screen.

Press R to restart a flow, or use the flow menu to jump to another one.

Phone and tablet

Phone

Visitor to adopted spot

From the map to a drawn and adopted section, on a phone.

Open in Figma

Phone

Signed in

Home, logging, teams and the tab bar on a phone.

Open in Figma

Tablet

Signed in

Home, the map and logging at tablet width.

Open in Figma

Prototype

Try the clickable prototype

I linked the Figma screens into five desktop flows that follow the user flow lanes, plus phone and tablet walkthroughs. These are what I used to walk Seaside’s stakeholders through the design before handoff.

Desktop flows

Flow 1

Sign up and adopt a spot

Browse the map as a visitor, create an account, draw a section of Ocean Ave and adopt it.

Open in Figma

Flow 2

Log a cleanup

From Home, log a cleanup with a route and a detailed tally, then see the new award.

Open in Figma

Flow 3

Find and join a team

Search for a team nearby, ask to join, and see the request a captain approves by name.

Open in Figma

Flow 4

Schedule and inbox

Read a confirmation in the inbox, then schedule the next cleanup.

Open in Figma

Flow 5

Errors and edge cases

A guided tour of all nine error states, from a wrong password to page not found.

Open in Figma

How to view

Getting around

Each link opens the flow at its first screen in Figma’s presentation view.

Click anywhere to see what’s clickable on a screen.

Press R to restart a flow, or use the flow menu to jump to another one.

Phone and tablet

Phone

Visitor to adopted spot

From the map to a drawn and adopted section, on a phone.

Open in Figma

Phone

Signed in

Home, logging, teams and the tab bar on a phone.

Open in Figma

Tablet

Signed in

Home, the map and logging at tablet width.

Open in Figma

Prototype

Try the clickable prototype

I linked the Figma screens into five desktop flows that follow the user flow lanes, plus phone and tablet walkthroughs. These are what I used to walk Seaside’s stakeholders through the design before handoff.

Desktop flows

Flow 1

Sign up and adopt a spot

Browse the map as a visitor, create an account, draw a section of Ocean Ave and adopt it.

Open in Figma

Flow 2

Log a cleanup

From Home, log a cleanup with a route and a detailed tally, then see the new award.

Open in Figma

Flow 3

Find and join a team

Search for a team nearby, ask to join, and see the request a captain approves by name.

Open in Figma

Flow 4

Schedule and inbox

Read a confirmation in the inbox, then schedule the next cleanup.

Open in Figma

Flow 5

Errors and edge cases

A guided tour of all nine error states, from a wrong password to page not found.

Open in Figma

How to view

Getting around

Each link opens the flow at its first screen in Figma’s presentation view.

Click anywhere to see what’s clickable on a screen.

Press R to restart a flow, or use the flow menu to jump to another one.

Phone and tablet

Phone

Visitor to adopted spot

From the map to a drawn and adopted section, on a phone.

Open in Figma

Phone

Signed in

Home, logging, teams and the tab bar on a phone.

Open in Figma

Tablet

Signed in

Home, the map and logging at tablet width.

Open in Figma

Checking the design

What we checked

An accessibility audit of every screen, then a clickable Figma prototype walked through with Seaside’s stakeholders

What changed

Deeper fills behind white icons, stronger control borders and larger targets, fixed once in the tokens so every screen updated

Checking the design

What we checked

An accessibility audit of every screen, then a clickable Figma prototype walked through with Seaside’s stakeholders

What changed

Deeper fills behind white icons, stronger control borders and larger targets, fixed once in the tokens so every screen updated

Checking the design

What we checked

An accessibility audit of every screen, then a clickable Figma prototype walked through with Seaside’s stakeholders

What changed

Deeper fills behind white icons, stronger control borders and larger targets, fixed once in the tokens so every screen updated

Where it landed

41

desktop screens: 32 core screens and 9 error and edge-case states

4.5:1

minimum text contrast across every screen after the audit

16 wks

to an MVP one part-time developer can ship, with two phases after

The app is in development. Adoption, logging and team numbers will be added here after launch.

Where it landed

41

desktop screens: 32 core screens and 9 error and edge-case states

4.5:1

minimum text contrast across every screen after the audit

16 wks

to an MVP one part-time developer can ship, with two phases after

The app is in development. Adoption, logging and team numbers will be added here after launch.

Where it landed

41

desktop screens: 32 core screens and 9 error and edge-case states

4.5:1

minimum text contrast across every screen after the audit

16 wks

to an MVP one part-time developer can ship, with two phases after

The app is in development. Adoption, logging and team numbers will be added here after launch.

Reflections

What worked

Building the system first. When the audit found weak contrast, fixing a handful of tokens fixed 40-plus screens at once.

What was hard

Drawing part of a street on a map is new to most volunteers. Making it obvious took a checklist, a live hint and a clear way to undo.

What I would change

Test Draw my section with real volunteers on phones, at the beach, before the build reaches Phase 2.

Reflections

What worked

Building the system first. When the audit found weak contrast, fixing a handful of tokens fixed 40-plus screens at once.

What was hard

Drawing part of a street on a map is new to most volunteers. Making it obvious took a checklist, a live hint and a clear way to undo.

What I would change

Test Draw my section with real volunteers on phones, at the beach, before the build reaches Phase 2.

Reflections

What worked

Building the system first. When the audit found weak contrast, fixing a handful of tokens fixed 40-plus screens at once.

What was hard

Drawing part of a street on a map is new to most volunteers. Making it obvious took a checklist, a live hint and a clear way to undo.

What I would change

Test Draw my section with real volunteers on phones, at the beach, before the build reaches Phase 2.