SSStefan Saladino← Selected work

03 / Case study

Real-time product · Mobile-first PWA

Collaborative PWA

A private app for shared wagers, recipes, places, rewards and plans.

This mobile-first PWA gives two people one place for the things they plan and keep together. It syncs updates in real time, but still keeps creator-only settings and actions private when they need to be.

ROLEProduct designer · Full-stack developer
SCOPEProduct flows, responsive UI, authentication, data modeling, privacy and realtime
STACK
  • React
  • TypeScript
  • Supabase
  • PostgreSQL
  • Realtime
Collaborative PWA home screen with private names blurred
REAL PRODUCT SCREENShared home · Private names redacted

System architecture

How shared updates stay private and in sync.

01Authenticated user
02Product action
03Policy boundary
04Database function
05Realtime update
01

THE CHALLENGE

Shared doesn’t mean everything is public.

Some information belongs to both users, while some settings should only be changed by the person who created them. Updates also need to appear quickly on both devices without revealing private configuration or leaving the app in conflicting states.

02

WHAT I DID

The rules live close to the data.

I put the permission rules into database functions, migrations and row-level policies, then made those same rules clear in the interface. Creator-only editing, private wheel settings and multi-step wager settlements are defined as product rules instead of one-off conditions.

03

WHERE IT STANDS

New features can reuse the same privacy model.

The app can keep adding shared activities without redesigning privacy and synchronization every time. New features inherit the same approach to identity, ownership and real-time updates.

Realtimeupdates on both devices
Creatoredit ownership
RLSdata privacy rules
PWAmobile-first app

Next case study

Return to selected work