Description Problem
Area/community pages now show combined activity (edits, comments, boosts) but users have to navigate to each area
individually
No way to "follow" areas of interest and see a merged feed
Vision: "starred areas, kept server side, access across devices. Personalized feeds merging watched areas."
What already exists
user + access_token tables with Argon2 hashing and Bearer token auth
REST Auth extractor — any handler can read the authenticated user
RPC add_user + create_api_key — account creation and token issuance
GET /v4/activity?area={id} — area-scoped activity feed
22 admin/editor accounts, system is proven
Proposed approach
Auth: Use existing BTC Map accounts. No new auth system.
Sign-up UX (gradual onboarding):
Anonymous browsing as usual
Click "star" on area/place → sign-up modal (username + password)
Account created, token in localStorage, star completes
Token keeps them logged in on return visits
No password recovery for MVP — low stakes, can re-star
Nostr "Sign in with" can be added later as alternative login
New DB tables:
starred_area (user_id, area_id)
starred_place (user_id, element_id)
New API endpoints:
PUT/DELETE /v4/starred/areas/{area_id} — star/unstar
PUT/DELETE /v4/starred/places/{element_id} — star/unstar
GET /v4/starred/areas + GET /v4/starred/places — list
GET /v4/activity?starred=true — personalized feed
Frontend
Star buttons on area and merchant pages
"My Feed" page merging starred area activity
Login/sign-up modal triggered on first star
Future extensions (not MVP)
"Sign in with Nostr" — verify npub, link to BTC Map account
Auto-generated throwaway accounts (WoS/Robosats style)
Password recovery via email or Nostr
Premium features (unlimited comments, custom username/avatar, sponsor badges)
Starred places in personalized feed
Open questions
Starred data private or public?
Bearer token expiry?
Android app — same gradual flow? Coordinate timing?
Single API branch for tables + endpoints + feed?
Reactions are currently unavailable
You can’t perform that action at this time.
Problem
individually
What already exists
Proposed approach
Auth: Use existing BTC Map accounts. No new auth system.
Sign-up UX (gradual onboarding):
New DB tables:
New API endpoints:
Frontend
Future extensions (not MVP)
Open questions