Selected work

Active project · Native iOS · 2026

SideQuest

A native iOS app that helps people find nearby adventures based on distance, weather, timing, and access.

Role
Project creator
Timeline
2026
Stack
SwiftUI · MapKit · Core Location · Supabase · Open-Meteo · Swift Testing
Project at a glance
11 adventure categories · 55 Swift tests · Shared catalog + moderation

Overview

SideQuest combines a dense discovery map and sortable nearby list with conditions-aware recommendations, detailed safety and access notes, offline state packs, and a shared catalog.

Interesting local places are scattered across saved pins, personal lists, and word of mouth. General-purpose maps rank by popularity, not whether a place fits the user, the weather, or the time of day.

How it works

Follow the data from input to interface.

  1. Places

    Load a shared catalog with location, weather, access notes, and past visits.

  2. Ranking

    Weigh distance, daylight, season, and access to suggest places that fit now.

  3. Explore

    Explain each suggestion, open directions, and save visit history.

What I built

  • Built the native SwiftUI map, nearby drawer, search and category filters, place details, MapKit handoff, visit history, and offline state downloads.

  • Designed the Best Now scoring model around distance, arrival time, daylight, season, weather, access, vehicle needs, and past visits.

  • Added Supabase email and password auth, a synced catalog, photo-backed submissions and corrections, shared ratings, and role-gated moderation tools.

Key choices

  • Kept the map as the main discovery surface while using a draggable drawer for fast search, sorting, and comparison.

  • Explained each recommendation with visible timing, weather, safety, and access reasons instead of exposing an unexplained score.

  • Kept pending photos private, gated admin tools with a server-managed role, and used an Edge Function for atomic publication.

Outcomes

  • Supports one flow from finding a nearby idea to judging whether it works now, opening directions, and recording how the visit went.

  • Lets signed-in users improve a shared catalog without granting direct public writes to approved places or media.

  • Includes 55 Swift tests covering scoring, legacy decoding, cache round trips, submission diffs, and shared rating math.

App screens

Built around the decision to go.

The interface moves from broad discovery to the details that matter before someone leaves: timing, travel, effort, weather, and access.

SideQuest discovery map with category filters, color-coded pins, and a nearby sidequests drawer
01 / Discovery map

The main map keeps category filters, nearby results, location controls, and the recommendation flow within one screen.

SideQuest place detail for Camel's Back Sunset Steps with timing, access, and map information
02 / Place details

Place details explain timing, travel, effort, vehicle needs, safety, and access before sending the user to Maps.