BrineFOLIO

How the data layer is put together

The live app is the workspace you are in. Accounts, plans, and the sample roll sit in Postgres. Search, scores, and the pipeline are server functions scoped to the signed-in user.

  1. 1. Browser: landing, rental desk, investor desk, pipeline, letters, operator tools.
  2. 2. Server functions check the session, then the plan, then read rows.
  3. 3. Scoring is a pure function. Weights live in a table the operator can change.
  4. 4. Postgres holds parcels, price events, tax years, and per-user notes. Dedup key is the parcel id.
  5. 5. Adapters: mock MLS is loaded. County rolls, Florida DOR, clerk, Redfin Data Center, HUD, FEMA, and a RESO/Trestle feed are slots. Run one from Sources.

Beyond this sample

Add a county by loading its property-appraiser roll into the same listing shape and tagging the source. A licensed feed replaces the mock adapter without changing the desks. Stripe price ids map to the three plan rows. A mail provider sends the alerts that are already logged in the app. Do not expand by scraping a portal that forbids it. Other states need their own public-record adapters and a fresh look at that state’s brokerage rules.

Back home