Skip to main content

Design engineerproduct designer

To index

Available 2026

Selected work

Survue

A cycling safety app that pairs with a rear-facing smart device to help riders understand approaching traffic and capture what happens behind them.

Role
Founding Product Designer
Timeline
September-December 2024
Platform
Mobile · iOS
Tools
Figma, C#, .NET
Finished Survue home with cycling imagery and Gallery, Detection, and Settings navigation.Finished Gallery separating automatic and personal recordings.
Prototype

01 / 071 story

Overview

Founding product designer

Make approaching traffic easier to interpret.

Survue connects a rear-facing device with a cycling app for vehicle awareness and recordings. As founding product designer, I shaped the app structure, interaction flows, components, and prototype using the founder's palette and Helvetica Neue typography. A rider cannot study a screen while moving. Traffic information needed to be understandable at a glance, without asking the rider to decode a new interface each time. My hypothesis: if the road view stays the same and only the vehicle's position and warning colour change, riders would read urgency faster than from a distance or a risk number.

  • Before the ride → discover and pair the device
  • During the ride → monitor vehicle position and warnings
  • After the ride → review recordings in Gallery
Decision
Keep the road view familiar while the warning state changes.

02 / 071 story

Structure

Decision / separate setup, ride, and review

Give each part of the ride its own place.

I mapped the experience from device setup through live detection to recordings. Pairing belongs before the ride; vehicle awareness is the main riding view; Gallery is a separate destination for reviewing captures. This structure keeps setup and review tasks out of the main detection screen.

Decision
Organize around the rider's task rather than putting every device capability on one screen.
Constraint
A visible connection state and a warning display serve different purposes. The interface needs to distinguish device readiness from traffic conditions.
Full Survue user flow through pairing, recording, detection, gallery, settings, and exit.
Open full size

03 / 073 stories

Ride flow

Original wireframes

Establish the destinations before the visual system.

The original wireframes cover Welcome, Pair, Home, Detection, and Settings. They show the app's entry points and task structure before the final visual treatment. Detection and Gallery are separate destinations in the Home navigation.

Original design artifacts
Early Welcome wireframe with device discovery action.
Welcome
Early Pair wireframe with Connect and Not My Device actions.
Pair
Early Home wireframe with Gallery, Detection, and Settings destinations.
Home
Early Detection wireframe with road view and ride controls.
Detection
Early Settings wireframe with theme, sound, warnings, and help.
Settings

Decision / explicit device setup

Separate discovery from the choice to connect.

Welcome introduces device discovery. The Pair screen then offers Connect and Not My Device actions. Separating those steps makes the device choice explicit instead of treating discovery as confirmation.

Decision
Give the rider a way to reject the discovered device before connecting.
Welcome → Pair
Early Welcome wireframe with device discovery action.
Welcome
Early Pair wireframe with Connect and Not My Device actions.
Pair

Retrospective reference

Two explanatory reconstructions, shown separately.

These Ready and Gallery wireframes were reconstructed from final screens to explain the flow. They are retrospective illustrations, not evidence of the original design process. The original wireframes appear separately in this section.

Retrospective illustrations
Reconstructed low-fidelity Ready screen based on the final screen; not an original design artifact.
Ready / reconstructed
Reconstructed low-fidelity Gallery screen based on the final Gallery; not an original design artifact.
Gallery / reconstructed
Retrospective reconstructions of Ready and Gallery from final screens.

04 / 073 stories

Detection

Exploration / information versus interpretation

Distance and risk each left a question unanswered.

I explored distance behind the cyclist and a large numeric risk level. Distance shows proximity but leaves the rider to interpret urgency. A risk number emphasizes urgency but loses vehicle location. These were design tradeoffs, not conclusions from a measured riding test.

Decision
Combine a spatial reference with warning state instead of asking one number to explain both.
First detection concept showing distance behind the cyclist.
Distance concept
Second detection concept showing a large numeric risk level.
Numeric risk concept

Decision / a stable spatial reference

Bring the vehicle back into the road view.

The next concept places the vehicle in a simplified road behind the cyclist. That gives the warning a spatial reference instead of presenting an isolated value. It became the basis for the final detection direction.

Decision
Use the same road model across warning states.
Third detection concept showing vehicle position in a simplified road.
Open full size

Final direction / changing urgency

Change the warning. Keep the structure.

The final screens retain the road model across green, yellow, and red states. Vehicle position and warning color change within that familiar structure. This is the interface direction; it does not establish detection accuracy or how reliably cyclists understand it while riding.

Decision
Preserve the spatial layout as urgency changes, rather than replacing the riding view with a different warning screen.
Same road view · Changing warning state
Finished clear detection state with green road guides.
Green state
Finished yellow detection state with a vehicle in the road view.
Yellow state
Finished red detection state with a vehicle in the road view.
Red state
The red screen still reads Level Risk 1. Severity naming needs to be made consistent before release.

05 / 075 stories

Interface system

Interface system / founder-defined palette

Apply the brand palette to interface roles.

The founder defined the colors and typography. I applied those foundations to the app's surfaces, controls, and vehicle-awareness states. Black and off-white anchor the themes; green represents safe passage, mustard yellow marks level-one risk, and red marks the red warning state.

Decision
Use the founder-directed red for onboarding actions while keeping its warning meaning explicit in the road view.

Palette

Dark background#000000
Dark options card#212020
Light background#F2F2F2
Light options card#FFFFFF
Safe passage#0FA958
Level-one risk#EAC234
Warning + onboarding#E4002B

Typography / founder-defined family

Build hierarchy within Helvetica Neue.

Helvetica Neue was the founder's chosen typeface. I used it across navigation, controls, and status messaging. The examples show how the same family supports a screen title, an action, and a warning without introducing another typeface.

Helvetica Neue

Screen title
Automatic Recordings
Primary action
Discover Survue
Status message
A vehicle is approaching from behind
Helvetica Neue across screen titles, actions, and status messages.

Components / actions and settings

Give actions and preferences distinct forms.

The filled red onboarding button and outlined Not My Device action establish primary and secondary choices. Settings rows use the same rounded surface in collapsed and expanded states. The expanded Theme row reveals its control while retaining the parent label.

Decision
Keep the settings row recognizable when it expands, and distinguish the main onboarding action from its alternative.

Components

Red Discover Survue button with forward arrow.
Primary onboarding action
Outlined Not My Device button.
Secondary device action
Collapsed Theme settings row.
Theme / collapsed
Expanded Theme row revealing Dark Mode and its toggle.
Theme / expanded
Red toggle switch with white thumb on the right.
Toggle / on

Iconography / navigation and status

Pair recognizable symbols with clear labels.

I selected icons through the Iconify Figma plugin for navigation and common actions, alongside ride and device-status symbols. Icons are paired with labels in navigation and settings to make their meaning clear.

Icons

Road navigation icon.
Detection
Settings gear icon.
Settings
Gallery icon.
Gallery
Record camera icon.
Record
Circular play icon.
Play
Download arrow icon.
Download
Delete bin icon.
Delete
Blue theme icon.
Theme
Red sound icon.
Sound
Green help icon.
Help
Yellow warning triangle.
Warning
Red warning triangle.
Red warning
Green battery status symbol.
Battery
White cyclist symbol.
Cyclist
Red overhead vehicle symbol.
Vehicle
Navigation, media controls, and ride-status symbols used throughout Survue.

Spacing / mobile guideline

Use a small scale to separate related tasks.

A 4-point spacing scale organizes the mobile interface. Smaller steps keep labels and controls related; larger steps separate groups and screen sections.

Scale · drawn at 4×

4pxTightly related text
8pxIcon and label
12pxRelated controls
16pxScreen gutter and component padding
24pxBetween groups
32pxBetween sections
4, 8, 12, 16, 24, and 32 px: from closely related elements to distinct sections.

06 / 073 stories

Experience

Device setup / final interface

Make device readiness an explicit state.

The final setup screens distinguish discovery, device found, and ready. Each screen represents a different point in the connection flow, rather than asking the rider to infer readiness from a single confirmation message.

Discover → Found → Ready
Finished device welcome screen inviting the rider to discover Survue.
Discover
Finished pairing screen confirming that the Survue device was found.
Device found
Finished pairing screen confirming that Survue is ready.
Ready

Preferences / final interface

Keep preferences outside the detection view.

Settings groups Theme, Sound, User Warnings, and Help. The expanded Theme screen shows how preferences are organized without adding those controls to the live road display.

Finished Settings with Theme expanded and Sound and User Warnings visible.
Open full size

07 / 071 story

Delivery

Delivery / evidence and next steps

A connected interface, with validation still to establish.

The final screen set and interaction prototype connect setup, detection, recordings, and settings. I designed the interface and prototype, and built the app's settings section in C#: theme settings, the sound toggle, user warnings, and Help. This case study does not establish a production release, hardware detection performance, or a measured safety outcome.

Constraint
The C# implementation described here covers settings; the other screens document design and prototype work. The next validation priorities are warning comprehension while riding, non-color cues, and connection-loss behavior. To test the hypothesis, I would measure how quickly and correctly riders name the warning level from a brief glance.
Outcome
An app structure, original wireframes, detection explorations, final UI, and an interaction prototype.
Watch the interaction prototype
The Survue interface
Finished Survue home with cycling imagery and Gallery, Detection, and Settings navigation.
Home
Finished pairing screen confirming that the Survue device was found.
Device found
Finished pairing screen confirming that Survue is ready.
Ready
Finished clear detection state with green road guides.
Green
Finished yellow detection state with a vehicle in the road view.
Yellow
Finished red detection state with a vehicle in the road view.
Red
Finished Gallery separating automatic and personal recordings.
Gallery
Finished Settings with Theme expanded and Sound and User Warnings visible.
Settings
Next case studyQuill & Pigeon