尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗AI asset-management dashboard for multifamily owners and asset managers. Phase 1 is a read-only intelligence layer running entirely on realistic mock data: no real parsing, integrations, write-back, or AI calls.
npm install
npm run dev # http://localhost:3000
Sign in with any credentials (the form is prefilled), or open /demo to skip the form. You land in the Alder Peak Capital
sample portfolio: 14 properties, 3,790 units, 6 markets, 4 property managers, 24 months
of history through Sep 30, 2026. The demo clock is fixed at Oct 18, 2026 (lib/dates.ts).
Other scripts: npm run build, npm run lint.
Sessions run on the testing branch, which Vercel deploys to its own preview URL, so
changes there never touch production (main). Merge what tests well back into main.
Start each participant at /demo?fresh=1: it signs in and clears every change earlier
participants made in that browser (uploads, mappings, action status, invites, theme).
Set NEXT_PUBLIC_SHOW_DEV_TOOLS=true in .env.local (see .env.example) and restart the
dev server. The sidebar footer then shows an internal panel with:
lib/data/index.ts is the data access layer. UI code imports only from here. Every
function is async and org-scoped (getPortfolioSummary(orgId, period),
getProperty(id), uploadReport(file), ...), so the internals can move to Supabase and
a real parsing pipeline without UI changes.lib/types mirrors the future Supabase tables; every record carries org_id.lib/data/mock/catalog.ts: organization, team, property managers, properties, vendors,
data sources. Story knobs (story: "hvac", etc.) live on each property seed.lib/data/mock/generate.ts: deterministic generator for monthly budget and actual GL
lines, month-end occupancy and delinquency, rent roll and leases, and work orders.lib/data/mock/imports.ts: seeded import history and per-PMS chart-of-accounts
templates used for mapping. mock/detect.ts is the mock "parser" (reads file names).lib/data/insights.ts: issues, opportunities, and AI summaries, computed from the same
records the tables use, so every number agrees across views.lib/data/store.ts: demo persistence. Only user changes are stored, in
localStorage; the seeded portfolio is regenerated on each load.Freshness is derived, not stored: an upload-fed property's "data through" date is its latest processed T12. Confirming an upload or a review moves it forward everywhere.
To try the upload flow, drop a file named like
Hickory Station - 12 Month Income Statement - Sep 2026.xlsx. Detection reads the
property, report type, and period from the name; anything it can't tell, you choose.
app/(app)/app/*: the product. app/(auth): login and signup. app/(marketing):
the public landing page and waitlist (see its README).proxy.ts: mock auth gate (a session cookie).components/ui: primitives (buttons, tables, drawers, toasts, metrics).app/globals.css, exposed to Tailwind v4 via
@theme. Theme is applied before first paint by an inline script
(components/theme).See TODO.md for what comes next.