
Map, Spot Detail, and Clip Feed
Three core screens in one flow: explore pins on the map, open Riverside Skatespot for tags and co-sign counts, then watch a clip that always links back to that spot.
PRODUCT STORY 04 / MOBILE PRODUCT CONCEPT
Designing a map-based skate app where every clip, save, and co-sign belongs to a real spot, and the product gets better because skaters actually use it.

Skaters find spots through friends, Instagram, and memory. A pin on Google Maps tells you where something might be, not whether it is skateable, what it looks like today, or who has actually sessioned there.
Product designer and systems thinker: user flows, mobile IA, trust model, Supabase-style schema, and alpha scope for a spot-centric discovery app.
A fully scoped MVP concept (map, spot pages, clip upload, co-signs, saves, reports) with a data model built around the spot as the hub, not the feed.
The map view is the default home screen. Colored pins encode spot type (park, street, ledge, transition). Skaters pan/zoom locally, switch to list view for sorting by distance or co-sign count, and tap a pin to open the spot page. Search and layer toggles filter by terrain tags without leaving the map.
Each skatespot gets a dedicated page: hero clip or photo, distance, terrain tags (ledge, park, street), clip count, co-sign count, save count, and a primary "Go Skate" action for directions. Tabs split Overview, Clips, Info, and Directions so skaters can judge the spot before committing.
The feed surfaces recent clips, but every item displays the spot name and links back to the spot page. Live session bubbles show who is skating now. Likes and comments are optional engagement; the location tag is the required metadata. This keeps discovery tied to place.
Contribution flow: drop a pin on the map, add name and tags, upload a first clip or photo as proof, then publish. New spots start unverified and earn co-signs over time. The goal is to lower the barrier for adding local gems without opening the map to spam.
Co-signs are the trust signal: one tap from a logged-in skater who has been there. Saves go into personal lists (favorites, weekend hit list, road trip). Reports flag spots that are gone, private, or misleading. Moderation stays lightweight for alpha: report queue plus admin review.
Not a content app with map pins. A map that earns trust through clips, co-signs, and real session history.
Dual map/list modes with geo search, distance sorting, and pin colors by spot type. Built for "what is near me right now?" not endless scrolling.
Every location is a first-class object: terrain tags, difficulty, clip gallery, co-sign and save counts, directions, and session stats. The spot page is the product unit.
Short clips upload to a skatespot, not to a generic profile feed. Captions, skater handle, and spot name travel together so discovery stays honest.
Co-signs replace vague star ratings with community proof from people who actually skated the spot. Counts surface on the map and spot page.
Personal bookmarking with list groups (favorites, sessions, road trip). Saved spots sync across devices and feed a "plan your mission" workflow.
Three-step contribution: pin location, add details and tags, attach first media. Reports and admin review keep bad data from poisoning the map.

Sanitized diagrams and wireframes, not the original proprietary product.

Three core screens in one flow: explore pins on the map, open Riverside Skatespot for tags and co-sign counts, then watch a clip that always links back to that spot.

Mobile IA built around Map, Feed, Saved, and Profile, with Add Spot as the contribution path. Each tab serves a different job in the spot-first loop.
Product positioning: find spots, watch local clips, co-sign what is real, save for later. Map, clips, and community in one place without a feed-first layout.
The first-pass data model centers on a few core objects:
Enough structure to ship the alpha, not a schema built for features that do not exist yet.
profiles → skatespots (created_by) → spot_media (clips stay on the spot)profiles → co_signs → skatespots (trust signal, one per user per spot)profiles → saved_spots → spot_lists → skatespots (personal planning)profiles → spot_reports → skatespots (moderation queue)spot_media → skatespots (feed items always resolve to a spot page)skatespots → geo index (PostGIS or Supabase earthdistance for nearby queries)For an alpha version, I would focus on:
Crews, follows, comments, DMs, live session broadcasting, and algorithmic discovery can wait until the map-and-spot loop proves useful in one market.
The design lesson: location apps fail when content floats free of place.
Co-signs, clip counts, and terrain tags only matter if they live on a spot page skaters open before they drive. The feed is a lens into recent activity, not the product center.
If this moves into build, the first engineering milestone is not social features. It is map + spot page + upload + co-sign working reliably in one city. Everything else is optional until that loop feels useful on a real phone during a real session.