Skip to content

Instantly share code, notes, and snippets.

View wifelette's full-sized avatar

Leah Silber wifelette

View GitHub Profile
@wifelette
wifelette / reno-schema.md
Created April 17, 2026 04:53
Reno Postgres schema sketch (updated after review)

Reno Postgres schema sketch

First-pass schema design for the Reno migration. Derived from the existing TypeScript models in src/lib/models/ (already decoupled from Airtable's shape) and the org/project/grant model we worked through in #57.

Key concepts, decided

  • Org is the identity/billing/ownership layer. Every user belongs to one home Org. A household is an Org. A contractor's firm is an Org. A solo DIY-er is a one-person Org.
  • Project is the Reno-specific ownership root. A project is owned by exactly one Org at a time (mutable, to support placeholder-and-transfer). All reno domain data (phases, transactions, invoices, ...) is scoped to a project.
  • Grant gives one Org access to another Org's project, with a role (homeowner, contractor, accountant, architect, collaborator, ...). Cross-Org data visibility flows through grants, not through users belonging to multiple Orgs.
  • Org-scoped reference data (vendors, contacts, payment methods, payments) lives at the Org level because it s
@wifelette
wifelette / reno-schema-review-response.md
Last active April 17, 2026 04:54
Response to Yehuda's Reno schema review

Response to Yehuda's schema review

Responses to each question from your gist. The updated schema doc reflects all decisions below.

Product-vision answers

1. Is the contractor-as-proposal-tool flow part of the vision?

Yes, 100%. This is one of Chad's top needs and nothing else on the market is meeting it for him. The flow: collect quotes from subs (1-4 per budget category), assemble into a client-facing proposal, and upon acceptance, promote winning quotes directly into the working budget.

var chocolateBars = ["snickers", "hundred grand", "kitkat", "skittles"]
function addElementToBeginningOfArray(array,element){
return ["element", ...array];
}
function destructivelyAddElementToBeginningOfArray(array,element){
var alteredArray = array.unshift(element);
return alteredArray;
}
@wifelette
wifelette / RustConf2019_Sizing.txt
Created April 8, 2019 21:33
RustConf 2019 Tshirt Size Guides
Men's cut tshirts will most likely be the DT6000: https://www.apparelvideos.com/cs/CatalogBrowser?todo=mm&productId=DT6000
Women's cut tshirts will most likely be the DM1170L: https://www.apparelvideos.com/cs/CatalogBrowser?todo=mm&productId=DM1170L
Final selection may vary slightly based on design specifications.