尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Catalog Underwriter is an interactive public-data workbench for reconstructing a musical catalog and testing what a selected interest may be worth. It separates observed consumption, modeled consumption, economic assumptions, estimated cash flow, and valuation throughout the product.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Underwrite a music catalog using only what the public can see.
Catalog Underwriter is an interactive public-data workbench for reconstructing a musical catalog and testing what a selected interest may be worth. It separates observed consumption, modeled consumption, economic assumptions, estimated cash flow, and valuation throughout the product.
The repository includes a complete stored demonstration underwrite for Kendrick Lamar and live MusicBrainz artist resolution. A user can inspect evidence coverage, override cash flow, edit rights and capital assumptions, compare bear/base/bull cases, use a two-dimensional DCF sensitivity matrix, review concentration, and run deterministic “Break the Deal” diagnostics.
Music catalogs trade like financial assets, but royalty statements and contracts are usually private. This project explores what disciplined underwriting can still do with public evidence—without claiming actual artist income, inventing ownership, or letting an LLM decide the valuation.
Public evidence → explicit assumptions → deterministic cash flow → DCF → user judgment
data/kendrick-lamar-snapshot.json) runs through the same model as a live lookup, so the homepage demonstration is reliable without live APIs and always matches the current model.The application uses Vinext, React 19, TypeScript, Tailwind CSS, restyled shadcn primitives, and Recharts. Provider adapters are separated from application types and the financial engine. See docs/architecture.md.
The engine projects ten explicit annual periods and a Gordon-growth terminal value. Default discount and growth rates are anchored to catalog-market practice (Citrin Cooperman's 8.5% discount rate; about 17× annual cash flow in the base case). Master and publishing interests are weighted separately before fees. Terminal growth must be below the effective discount rate. See docs/methodology.md and the in-product /methodology page.
Requirements: Node.js 22.13 or newer.
npm install
cp .env.example .env.local
npm run dev
Open http://localhost:3000. The stored demo works without API credentials.
LASTFM_API_KEY is optional. When present, the server retrieves Last.fm top-track signals for live artist underwrites, which also drive the modeled audio cash flow. YOUTUBE_API_KEY is also optional and enables likely-official cumulative video evidence. Without either key a live underwrite has no modeled cash flow. Secrets remain server-side and .env.local is ignored by Git.
npm test
npm run typecheck
npm run lint
npm run build
The automated fixtures cover DCF present value, terminal guardrails, rights weighting, scenario order, discount-rate sensitivity, and concentration.
The production target is catalog.ankitkapoor.me. The repository is compatible with the OpenAI Sites / Cloudflare Worker build path. Deployment and custom-domain configuration are intentionally deferred to the hosting milestone.
ankitkapoor.me/work/catalog-underwriterCatalog Underwriter is an educational analytical tool based on publicly available information and user-defined assumptions. Estimates do not represent verified royalty statements, ownership interests, market offers, investment advice, or legal advice.