fuzzy find my records
ken.waow.tech
embeddings
pds
search
ken — next up#
multi-account + settings + profile record#
design notes: notes/multi-account-and-settings.md
what#
- write a
tech.waow.ken.profile/selfrecord on first sign-in so indexers can discover ken users - consolidate all PDS record management (profile, pack, scopes) into a settings panel
- multi-account support: link accounts, switch without re-auth, per-account indexes
- scope management: user-selectable at login, progressive escalation (pdsls pattern)
reference#
- pdsls (tangled.org/pds.ls/pdsls): scope selector UI, PermissionButton pattern, account manager modal
- plyr.fm (sibling repo): group_id session linking, server-side account switching, logout modal
order of work#
- lexicons:
tech.waow.ken.profile,tech.waow.ken.optout - backend: profile read/write on sign-in, settings endpoints, scope storage
- frontend: settings panel, move pack actions out of meta line
- backend: group_id on sessions, add-account/switch-account endpoints
- frontend: account menu in nav, multi-account switching
context the next engineer needs#
- ken is a zig HTTP server (0.16-dev) with a vanilla JS SPA (single main.js, no framework)
- all state is in-memory (state.zig) — no database, PDS is the only persistence
- session cookies are now random tokens mapped to DIDs (shipped this session,
921fefe) - OAuth uses zat for atproto primitives, DPoP-bound tokens, PKCE
- the session token fix also needs to be propagated to pollz (same vulnerability)