尚未收集仓库信息。
尚未检测到更新。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.