Work / DwarSeva Societies / Wiki / Synthesis
what-drawing-the-app-found
Synthesiscanonicalverified 2026-10-04
SYNTHESIS.WHAT-DRAWING-THE-APP-FOUNDSummary
Drawing all 69 screens from source on 2026-10-04 meant reading every route; this is the list of things that reading turned up, grouped by how much they matter.
Built from
- role-gate · roles · membership · visitor-request · bill · announcement · society · stack
- 2026-10-04-the-set-draws-what-the-website-markup-asks-for
Body
People who cannot use the app
- A security head is bounced to Profile. The gate sends
SECURITY_HEADto the guard tabs; the guard layout admits onlySECURITY_GUARD. - A guard cannot log out. No header, no avatar, no route to Profile.
- A society admin cannot post a notice from the phone; only the guard has a compose form.
- Profile's Edit opens the registration screen (
router.push("/(auth)/register")), which starts a new account.
Links to nothing
- The console's sidebar has five items; three (
/users,/feedback,/reports) have no route. The dashboard's quick actions add/users/new,/bills,/bills/new,/payments/new,/geography. A society's "View Bills" and every View / Edit on a member or unit row go to routes that do not exist. - The website's FAQ and style-guide pages are linked from nowhere.
- The mobile guard tabs declare a hidden tab
add-visitor-newwith no file;components/guard/*Step.tsxandVisitorSummary.tsxare its orphaned parts. - Five auth screens (
password/reset, bothset-with-*, bothverify/*) are reached by no navigation. - The console exports
SocietyManagementPage,SocietyOnboardingWizardandUnitManagement(about 1,270 lines) and mounts none.
Things that render wrong
- The website's role classes paint nothing — see the decision above.
verify/email-otp.tsxlabels both its buttons "Resend verification email", including the one that verifies.- The reject-visitor reason uses
Alert.prompt, which is iOS-only. - A check-in confirmation reads "Are you sure you want to checked in this visitor?" — the status name is lower-cased into the sentence.
- Profile renders a wing as "B -B-12" (a stray space before the dash).
- Every screen under the root
Slotthat declaresStack.Screenoptions (bill, announcement, add visitor, not-in-society) may have no header at all.
Enum drift
See the drift notes on roles, membership, society and bill. The console's filters and badges were written against an earlier vocabulary.
Placeholders shipping as features
- Profile: "Test notification" and "Send feedback" raise an alert that says so.
- Console: Add Member, Add Unit, Manage Wings, Advanced Settings, Reject Society's sibling "Extend Subscription" — buttons with no handler or no effect.
- Console member and unit stat cards show "-" for three of four numbers.
- The dashboard's "+12%", "+8%" and "+15%" are literals, and Database / API Server are always "Online".
Documents that describe another repo
README.mdlinks todocs/andsetup/; neither exists.yarn setupandyarn docs:checkcall scripts undersetup/.- The agent rules listed
yarn test,yarn seed,yarn docker:*; none is defined. - Stack versions in three documents are a major behind — see stack.
Open questions
- Is the product orange and fuchsia, or blue and indigo?
- Should a guard be able to approve a visitor on the resident's behalf?
- Is
apps/mobilegoing to the stores?eas.json's submit block is still placeholders.
Last refresh
2026-10-04 — refresh when any "Built from" page changes, or when a finding is fixed.
Sources
- .context/designs/mobile/routes.js
- .context/designs/web/routes.js
- apps/mobile/src
- apps/admin/src
- apps/website/src