UX & Content Design

Turning complex systems into clear, usable experiences.

I research, structure, and write digital content, from campus apps to autonomous-drone control systems, with a focus on information architecture, plain language, and accessibility.

Recent contexts University of Minnesota Farm Robotics Challenge Institute of Child Development
About

Melody Washington

I'm a UX and content designer with a computer science background and a research focus in Human-Computer Interaction. I work across the whole arc: talking to users, structuring information, writing the words on the screen, and building the front end that ships them.

Day to day I maintain large content-managed platforms in Drupal, where the work is exactly this: making complex program information clear, accessible, and easy to act on for people who aren't experts. I care about plain language, accessibility (Section 508 / WCAG), and designing for the task someone is really trying to finish.

Studying
M.S. Computer Science (HCI)
University of Minnesota
Strengths
Content design · IA · UX research · Front-end
Currently
Web Developer & UX Engineer,
Institute of Child Development
Contact

Let's work together

Open to UX content design and content strategy roles. The fastest ways to reach me:

Selected work

Three projects, one throughline: design driven by research.

Each case study moves from user research to a structured, tested interface. Gopher Social is documented end to end; FarmGuard shows complex operational UX; Code-Sync is in progress.

Case study 01 · Team of 6 · CSCI 5115

Helping first-year students find their people

The university lists 1,000+ clubs. Students still couldn't tell which were active, how to join, or which fit their schedule. Gopher Social rebuilds that experience around what students actually do.

My role
Research, IA, prototyping, evaluation
Team
6 students (Team 20)
Timeline
One semester
Tools
Figma, paper prototyping
The problem

Students wanted to get involved, then quietly gave up

Through surveys and interviews, the reasons came down to three recurring barriers.

Can't tell what's active

Listings had no status, so students couldn't tell which clubs still met or posted events.

Unclear how to join

60% said they were simply unsure how to join, and many couldn't find a point of contact.

No fit to their schedule

Search couldn't filter by interest or the specific times a busy student was actually free.

Research approach

Before designing anything, we ran a mixed-methods study following standard UX research practice: a survey of first-year students paired with semi-structured interviews of student-group leaders to capture both sides of the problem. Participants gave informed consent, responses were anonymized, and we grounded the work in secondary research on how involvement affects students' adjustment to college. We also did a competitive teardown of the existing tool, GopherLink.

60%
were "unsure how to join" a club
40%
were unsatisfied with their current involvement
0
respondents named the existing tool as how they found a club
01
Survey
How students find & join clubs
02
Interviews
Leaders on visibility & recruiting
03
Synthesis
Personas, tasks, pain points
04
Ideation
Three lo-fi directions
05
Evaluation
Cognitive walkthrough
06
Iteration
Change list tied to findings

Who we designed for

Two personas, built directly from research data, anchored every later decision.

Busy Burt
18 · Student & barista · Tech-savvy
"I can't seem to find a balance between school, work, and my social life."
Needs
  • Clubs that fit a packed, shifting schedule
  • To filter events by the hours he's free
Shy Sally
18 · International student · New to campus
"I want to meet people and explore the city, but I don't know where to start."
Needs
  • A community matched to her interests
  • A low-pressure way to ask a club questions

The high-fidelity product

The design moved from paper wireframes to a working high-fidelity prototype in Figma. Each screen below reflects a specific research finding, not a style choice.

Clubs Explore screen with category tiles and a recommended club
Explore, organized by interest categories
Unified search screen showing both clubs and events results with filter chips for Type, Location, Date, Time, College
Unified search across clubs and events
Calendar screen with small dots under dates that have events, and a My Events list below
Calendar dots: recognition over recall
Club Tryouts event detail with an Add to calendar button, time, location, and description
Event detail with one-tap "Add to calendar"
Onboarding screen asking what are you interested in, with selectable trending and popular interest tags
Interest onboarding to power recommendations
Events screen with My Events and Explore tabs showing event cards with images
Events, split into "My Events" and "Explore"
Full low-fidelity wireframe board showing the Events, Explore, club pages, calendar, profile and chat screens for Gopher Social, with task-flow arrows
Where it started: the low-fidelity wireframe board mapping every screen and task flow before high fidelity.

From insight to interface

The core of this project is the throughline: nearly every screen decision traces back to a specific research finding. A sample from our documented change list:

What research told usWhat we designed in response
Students couldn't tell if a club was still activeAn "active" status indicator on every club page, scoped to a recent time window
Schedules vary day to day; date ranges weren't enoughPer-day time-availability filtering, matching clubs to the hours a student is free
Hidden contact info made students give upSocial links, website, and a direct-message button centralized on each club page
People didn't know whether to search clubs vs. eventsUnified search across both, after users showed no consistent mental model splitting them
Hard to remember which days had eventsCalendar dots under any date with an event, favoring recognition over recall

Evaluating & iterating

We ran a cognitive walkthrough on two core tasks (finding a club that fits a busy schedule, and messaging a club you've joined), stepping through each action as a first-time user would. It surfaced real friction: the club-page icon wasn't distinct enough, and there were competing paths to message a club. Rather than smoothing these over, we logged each issue and tied our fixes back to it.

The walkthrough also exposed our own blind spot: as designers we understood every button's intent, which made it hard to see the interface with fresh eyes. Naming that changed how we tested afterward.

View the interactive prototype

What I took from it

Gopher Social is where I learned to treat content and structure as the design, not decoration on top of it. The features that mattered most weren't visual flourishes: an "active" label, a clearer filter, contact info in one place. Each was a small content or IA decision that removed a reason to give up. That's the same discipline I bring to content-managed platforms today.

Case study 02 · App Team Lead · 2026 Farm Robotics Challenge

The control room for an autonomous drone system

FarmGuard protects crops by autonomously herding deer off farmland: no fences, no harm to the animals. I led the app team designing how a farmer sets up, schedules, and monitors the whole operation from one interface.

My role
App Development Team Lead
Partner
Lantern Farm, Minnesota
Platform
Web app + base computer
Advisor
Dr. Maria Gini, UMN
The problem

A real farmer, losing crops to deer she couldn't afford to fence out

Our agricultural partner framed the brief in her own words, and it shaped every design constraint.

"I know deer will damage my crops as soon as they grow, because my farm sees heavy deer traffic. I can't afford to install a deer fence. I'm concerned the time and money I invest will be wasted, which makes me hesitant to plant."

Sara Van Asten, owner, Lantern Farm

The design challenge

A farmer is not a drone operator. The hard part wasn't the autonomy: it was giving a non-technical user a way to describe their land and intent to an autonomous system, safely. My team structured the app into three clear views so a first-time user could go from "I have a farm" to "drones are patrolling it" without a manual.

Zones Editor

Draw directly on a satellite map of your own property: the patrol boundary, no-fly zones, crop areas, obstacles, exit lines, and docking points.

Flight Scheduler

Pick a patrol area, date, and time slot. The system plans energy-efficient routes from there.

Dashboard

Live weather, a plain-language flight-safety status, active/completed flight counts, deer-detection stats, and a full flight log.

farmguard.app/zones-editor
FarmGuard Zones Editor: a satellite map of the property with a search bar, zone-type buttons for No-Fly, Crop, Low Obstacle, Boundary Exit Lines and Starting Point, and a panel to save zones and build a patrol area
The Zones Editor: a farmer draws their patrol boundary and zones directly on a satellite map of their own land. This is the core "describe your farm to the system" workflow.

Designing for safety and trust

When the interface commands real drones over someone's property, content and feedback are safety features. We classified conditions into three plain-language states (Safe, Caution, Unsafe) instead of raw numbers, and blocked same-day deployment automatically when wind, visibility, or precipitation crossed set thresholds. The farmer can always recall the drones or take manual control. These were writing and information-design decisions as much as engineering ones.

farmguard.app/dashboard
FarmGuard dashboard: cards for Active Flights, Completed Flights, Deer Detected, and Weather with a Safe flight-conditions badge, above a flight log listing in-progress, upcoming and completed drone flights
The monitoring dashboard: live status at a glance. The plain-language "Safe" flight badge turns raw wind and visibility data into a decision the farmer can act on instantly.
farmguard.app/patrol-planner
Two energy-efficient drone patrol paths planned across a satellite view of the farm, with grid waypoints and no-fly areas excluded
Planned patrol coverage: the app turns a farmer's drawn zones into optimized, energy-aware flight paths, cutting patrol energy cost by ~25% versus a standard sweep.

Feedback from the field

We tested the concept with our farm partner directly, the kind of real-user validation that matters more than a polished mockup.

She found the interface intuitive and the concept well-suited to her farm, while flagging that some zone types, like low-obstacle zones and exit lines, weren't immediately obvious without context.

Agricultural partner feedback, FarmGuard report

That feedback drove a concrete next step: an interactive onboarding tour that walks a new user through each zone type with examples before they start, a direct content/IA response to an observed usability gap.

Why this project matters for content design

FarmGuard is proof I can make a genuinely complex, high-stakes system understandable to a non-expert. Mission setup, mapping, scheduling, safety states, live monitoring: I structured all of it into a workflow a farmer could actually follow. That's the same skill enterprise content work demands: take something technical and operational, and make it clear enough to act on with confidence.

Case study 03 · Live app · redesign in progress

Code-Sync mobile app

Code-Sync is the community app for Girls Dream Code, a nonprofit running free tech programs for girls. It's how the students they serve stay connected, reach mentors and resources, and keep building in tech. I worked on the shipped app; this study pairs it with a redesign concept grounded in usability, not just a fresh coat of paint.

My role
Software engineer & UX designer
Organization
Girls Dream Code (nonprofit)
Stack
React Native · Xano · REST
Status
Live on iOS & Android

The app is live in both stores, built for the girls in Girls Dream Code’s programs. You can try the shipped product while the redesign case study comes together.

Download on the App Store Get it on Google Play

The live app today

Code-Sync already ships a warm, on-brand experience: a members directory, curated resources, discussion prompts, and profiles. But it was built to exist, not to pull people back. Here is the current app, end to end.

Code-Sync current app screen: Splash
Splash: brand-forward, but you hit a login wall before seeing any value
Code-Sync current app screen: Home
Home: a static quote, one "Student of the Month," and highlights
Code-Sync current app screen: Resources and curated learning links
Resources and curated learning links
Code-Sync current app screen: Prompts
Prompts: pick one to respond to
Code-Sync current app screen: A prompt thread with member responses
A prompt thread with member responses
Code-Sync current app screen: Profile with a
Profile with a "Get to know me" Q&A
The problem

A great app that people open once and forget

The team’s real challenge isn’t features: it’s activity. Members join, look around, and don’t come back or talk to each other. Three things drive that.

No reason to return

Home opens on a fixed quote and one “Student of the Month.” Nothing changes day to day, so there’s nothing to check.

Posting feels one-way

You answer a prompt and it drops into a flat list, with no reactions, no replies surfaced, no sign anyone saw it.

The community is invisible

Other girls only appear if you search “Find GDC Members.” The room never feels full, so it never feels worth joining in.

Heuristic evaluation

I walked the app against engagement-focused heuristics: habit loops, social proof, feedback, and reward. The pattern was consistent: every screen informs, but none of them invite the next action.

What I saw in the appWhy it suppresses activity
Home is a static quote + one highlightNo fresh, daily reason to reopen, the core of any habit loop
Prompts are answer-and-leave, in a flat listNo reactions or surfaced replies, so contributing feels like posting into the void
No streaks, goals, points, or badgesNothing marks progress or rewards showing up, so there’s no momentum to protect
No notifications bring members backThe app only exists in the moments someone happens to remember it
Members are hidden behind a search boxThe community never feels alive, so social pressure to participate is zero

The redesign: a reason to come back every day

The fix isn’t more content, it’s a habit loop. I borrowed the mechanics that make apps like Duolingo and Mimo sticky (streaks, daily goals, badges, a light leaderboard, and well-timed push), and rebuilt them in Girls Dream Code’s own coral brand so it still feels like their app, just alive. Two new pillars give girls something to actually do here: Code Games, bite-size coding lessons that earn XP, and Build & Host, where they publish a real website or AI model live for the whole community to open and use.

Redesigned Home: streak, daily goal, this month’s challenge, and one fresh prompt the moment you open the app.
Code Games: Mimo-style bite-size coding lessons on a level path, with XP and a daily puzzle that ties into the streak.
Build & Host: girls build a website or AI model and publish it live, so the whole community can open and use each other’s work in-app.
Challenges hub: the GDC Tech Challenge as a progress track, an earnable badge shelf, and a friendly weekly leaderboard.
Push nudges: the Duolingo trick: streaks, replies, and newly published projects that pull members back when they’re not thinking about the app.

Every mechanic maps to one of the three problems: something new daily (reason to return), visible response (posting pays off), and visible community (others are here, and ahead of you).

From problem to mechanic

Each change is a direct answer to a research-backed engagement gap, not decoration.

Design moveWhy it drives activity
Streak counter + daily-goal ring on HomeLoss aversion: once you have a 12-day streak, you open the app just to protect it
“Prompt of the day” front and centerOne fresh, 30-second action every single open, the smallest possible reason to return
Reactions + reply counts on answersTurns posting-into-the-void into visible social feedback that rewards contributing
Tech Challenge of the Month as a step-by-step trackAn ongoing goal with a progress bar, not a one-off: progress you don’t want to abandon
Earnable badges + weekly leaderboardRecognition and gentle competition, tied to GDC’s real program milestones
Smart push: streak, replies, new challengeThe piece that reaches members when the app is closed, where re-engagement is actually won
Code Games: a Mimo-style lesson path with XPTurns passive resource links into an interactive game girls want to keep playing
Build & Host: publish a live website or AI modelGives real work a public home, so members open the app to see and use what others made

How I’d measure it

Because this is an engagement bet, success is behavioral, not cosmetic. If the redesign works, these move, and they’re the numbers I’d put in front of the team.

Return rate

Day-1 and day-7 retention, and average streak length: are people coming back, and building a habit?

Interaction

Replies and reactions per prompt, and weekly active members: is the community actually talking?

Pull-back

Share of sessions opened from a push notification: is the nudge system doing its job?

How I’d validate the redesign

Every change here is a behavioral bet, so I wouldn’t ship it on intuition. This is the research plan I’d run to prove each one works, validating the design with real students first, then measuring the change in behavior after launch.

MethodWhat it answers
A/B test: new engagement layer vs. the current appDo streaks, daily goals, and push actually raise return rate and interaction? Each mechanic gets a clear hypothesis, tested against a control group.
Moderated, task-based usability testingCan a student find today’s prompt, publish a project, and join the challenge without friction? Measured by task success, time on task, and a SUS score, with think-aloud notes.
Cohort retention analysisAre members building a habit? Tracked with D1 / D7 / D30 retention curves, median streak length, and DAU/WAU stickiness.
Funnel & event analyticsWhere do people drop off between opening the app and taking an action, and what share of sessions start from a push notification?

Because Girls Dream Code serves a small, close-knit community, many of them minors, I’d size tests realistically, using longer measurement windows or a staged rollout rather than a strict 50/50 split when the numbers are low. And I’d run all of it on the same ethical footing as my Gopher Social research: informed consent and assent, parental consent where needed, and anonymized data.

What would tell me it’s working: the treatment group shows a meaningful lift in 7-day retention and replies per prompt, streaks reach a healthy median length, and usability scores hold or improve, with no rise in members muting notifications. If a mechanic doesn’t move its metric, it gets cut, not kept for looks.