MOBILE DEVELOPMENT · IOS APPLICATION

VELORA

An iOS cycling companion designed to help users locate nearby bike stations, plan journeys and navigate Dublin's public bike-sharing network through a clean and intuitive mobile experience.

PROJECT TYPE

Individual Mobile App Project

TIMELINE

4 Weeks

2025

ROLE

UX Design · UI Design · Swift Development

TOOLS

Swift · Xcode · Figma

Velora

2026

Velora promo showcase
02 · DESIGN & DEVELOPMENT INSIGHT

Prioritising Performance & Optimisation.

While developing, I noticed pretty quickly that working with live data streams wasn’t as smooth as it looked on paper. Constant API updates and continuous coordinate parsing started to overload the rendering thread, and on lower-end devices things became unstable fast. In a few early builds, this showed up as lag spikes and occasional crashes whenever the data load increased.

To fix this, I had to rethink how the data was being handled rather than just pushing everything straight to the UI. Adding MapKit clustering made a big difference here, since it reduced visual and computational load by grouping dense points into single nodes when zoomed out. As you zoom in, those clusters naturally break back into individual points, so the experience stays responsive without losing detail where it actually matters.

I redesigned the app prototype during the early stages to ensure it would operate functionally with clusters while still being responsive and intuitive in it's design.

Initial Architecture & Wireframes

03 · DESIGN & TECHNICAL APPROACH

Building empathy through visual pacing and custom UI overlays.

When researching the user experience, I noticed that instead of relying on aggressive, over-saturated environment colors, Velora speaks through a custom pastel palette. I chose this approach to link the software directly to the fresh, low-impact nature of cycling, aiming to calm eye strain during bright outdoor use or rushed commutes.

On a technical level, I focused on keeping the layout grounded and predictable. I built the system around isolated state management patterns, utilizing dynamic bottom map drawers and floating overlays to prevent jarring layout shifts while keeping the standard navigation systems completely uninterrupted.

  • Strategic Accents: I noticed that reserving a deep teal hue for high-priority elements like the slide-to-unlock gesture creates an intuitive visual hierarchy, while using a bright blue strictly to denote active navigation states.
  • Map Overlays: I designed a floating vertical control dock directly over the map canvas for quick layer toggles, paired with an integrated top search bar that allows users to seamlessly parse live station nodes.
  • Thread Safety & Concurrency: I implemented background network fetching to ensure that local station updates and trip state notifications handle concurrency smoothly, remaining perfectly responsive even if network conditions fluctuate during a ride.

Velora's Brand Identity

Velora logoVelora-logo-2
#BDE0FEBaby Blue / CTA Accent
#15435ADark Teal / Dark Mode Accent
#F8F9FASurface Canvas / Low-Strain Base
04 · KEY FEATURES

Live Map & Marker Clustering

To handle the dense network of Dublin bike stations gracefully, Velora relies on an advanced MapKit clustering engine. Nearby stations smoothly consolidate into single numeric tokens upon zooming out, reducing rendering weight on the processor and preventing high UI clutter for the user.

Map Layer with Station ClusteringDetailed Map View showing individual pins
a/
04 · KEY FEATURES

Apple Gesture Mechanics

I considered a "press to release" button however I chose to move past generic, error-prone tap buttons, with starting a journey instead usings a custom-coded Swipe-to-Unlock gesture layout. This interaction adds an intentional, professional feel to the transaction while staying safely isolated away from standard native iOS back-swipe navigation behaviors.

Swipe to unlock interface stateActive journey timer view
04 · KEY FEATURES

Dynamic Proximity Sorting

Instead of presenting locations alphabetically, I wanted to ensure that the SearchView constantly tracks real-time CoreLocation user positions. It calculates local distance parameters, reorganizing the entire feed so that the closest functional stations always float directly to the top of the user's view list.

Station search sorted by proximityFavorites view filter state
04 · KEY FEATURES

Gamified Sustainability Profiles

The My Profile space integrates data persistence loops that save trip history after the app closes. It takes raw journey completion parameters and transforms them into an automated environmental dashboard, updating personal offsets and tracking carbon-saving accomplishments natively.

User Profile Sustainability DashboardLocal trip completion notifications
05 · PERSISTENCE & OUTCOME

From baseline data architecture to an all-inclusive iOS product.

Developing Velora as a solo engineer was a comprehensive masterclass in handling full-cycle iOS life cycles. Moving from initial design concept mapping to building complex background logic required shifting deep dependencies safely, organizing threads carefully and fine-tuning state synchronization parameters.

Ultimately, the project bridges the gap between clean structural architecture and empathetic interface patterns delivering a beautiful, high-utility service that solves a real everyday urban problem effortlessly.

Final polished Velora app presentation screen