Portfolio entry · iOS & Android

Joynapping

Picked up. Fed. Heard. Happier. Safely home.

Get joynapped. Come back fuller. Consent-first companion outings — pickup, food, conversation, then a safe return. Not dating. Not therapy. Not rideshare.

Request. Match. Go out. Come home.

Dual-role native apps share one FastAPI backend. City compliance packs gate identity, training, dual waivers, and pre-pickup video before anyone starts driving.

iOS · SwiftUI Android · Compose FastAPI · Postgres
01

Request

Book a package with pickup, return, food notes, vibe, and accessibility — city rules applied up front.

02

Get matched

Companions accept scored offers. Harbor Bay and Demo City packs set different trust gates.

03

Video check-in

Mutual pre-pickup video (in-app or phone dial) plus dual stylus waivers unlocks en route.

04

Outing & return

Live map, chat, rides, panic / I’m OK, then cool-down care and one-tap rebook.

Portfolio templates demo — interactive iOS and Android outing mocks (not live App Store builds).

Walk the product

One outing. Toggle the platform.

Follow Alex’s Harbor Bay joynapping with companion Maya — book, accept, video, waiver, refresh quiz, live status, and cool-down care. Switch iOS ↔ Android; the stepper stays in sync.

Customer & companion · iOS
9:41●●●

No outings yet

Book a consent-first outing — optional Uber/Lyft legs when you’re ready.

Book a Joynapping

CityHarbor Bay
PackageDinner & company · $99
Pickup12 Oak St
Return12 Oak St
Food / vibeTacos · easy chat
9:41●●●
OffersActivePast
New offer $99

Alex · Dinner & company

12 Oak St → Harbor Market · Tonight 6:30 PM

Food: tacos · Vibe: easy chat · Harbor Bay

Training complete · credentials verified

9:41●●●
A Alex
M

PRE-PICKUP VIDEO

Join a short video call with the customer and both confirm before heading to pickup.

Maya confirmed Waiting on Alex…
9:41●●●

WAIVER V2 · HARBOR BAY

I understand Joynapping is a consensual social outing — not dating, therapy, rideshare, or involuntary transport. I agree to safety check-ins, panic protocols, and city compliance rules…

Sign with finger / stylus
Legal nameMaya Chen
9:41●●●

Quick refresh quiz

Required before Start Driving when the city pack requires training.

If the customer seems uncomfortable mid-outing, you should:

9:41●●●
P
V
M
Demo map

Alex

Dinner & company · Harbor Bay

Confirmed

9:41●●●
P
V
M

Alex

Outing

9:41●●●
H
M

Alex

Returning

Drop Alex at 12 Oak St, confirm safe arrival, then mark complete.

9:41●●●

How are you landing?

Cool-down check-in for Alex · Harbor Bay resources if you need them.

CITY RESOURCES

Harbor Bay warm line · 988 · local walk-in list

Status: completed · waiver PDF ready

Compliance checkpoint: Harbor Bay requires identity, training, dual waiver signatures, outing refresh quiz, and mutual video before Start Driving. Demo City can soft-skip some gates for local demos.

Case study

Consent-first companion outing SaaS with parity iOS + Android clients and interactive outing templates.

Problem solved

Eating alone and low-stakes loneliness sit between dating apps and rideshare — people want company and a meal without romance, therapy framing, or unsafe “surprise” logistics.

Approach

  • Explicit consent protocol: request → match → video → outing → safe home
  • City compliance packs (ID, training, dual waiver, requiz, video)
  • Parity dual-role apps (customer + companion) on SwiftUI and Compose

Architecture

iOSAndroidFastAPIPostgres / RedisStripe · Mapbox · Twilio · Checkr
Native clients and web SPA talk to one API; vendor keys soft-mock locally when empty so demos stay honest.

Tech stack

SwiftUI
Companion + customer iOS
Jetpack Compose
Parity Android flavors
FastAPI / Postgres
Booking, gates, live outing WS
Stripe / Mapbox / Twilio
Pay, map, video — soft-mockable

Timeline & team

  • TimelineSaaS core → dual native parity
  • TeamSolo full-stack + mobile
  • RoleProduct, design, and engineering

Business impact

  • ModelPackaged companion outings ($49–$199)
  • TrustCity packs, dual waivers, video gate, panic / I’m OK
  • DemoInteractive iOS ↔ Android outing templates

Screenshots

Joynapping web landing
Web landing
Companion outing context
Companion context
Joynapping brand path illustration
Brand path