{"id":48409393,"url":"https://github.com/hyunjin-kor/catprice","last_synced_at":"2026-05-04T07:03:02.186Z","repository":{"id":349282039,"uuid":"1189405769","full_name":"hyunjin-kor/CatPrice","owner":"hyunjin-kor","description":"Desktop-first CatCost-based catalyst cost estimator with live metal feeds, indexed references, and Electron packaging","archived":false,"fork":false,"pushed_at":"2026-04-06T03:05:01.000Z","size":5478,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-06T05:02:43.710Z","etag":null,"topics":["catalyst","chemical-engineering","cost-estimation","electron","fastapi","price-tracking","react"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyunjin-kor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-23T09:39:45.000Z","updated_at":"2026-04-06T03:03:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3f082f0-4a1a-4a40-b0b3-41ab937977ff","html_url":"https://github.com/hyunjin-kor/CatPrice","commit_stats":null,"previous_names":["hyunjin-kor/catprice"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/hyunjin-kor/CatPrice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyunjin-kor%2FCatPrice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyunjin-kor%2FCatPrice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyunjin-kor%2FCatPrice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyunjin-kor%2FCatPrice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyunjin-kor","download_url":"https://codeload.github.com/hyunjin-kor/CatPrice/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyunjin-kor%2FCatPrice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31569400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["catalyst","chemical-engineering","cost-estimation","electron","fastapi","price-tracking","react"],"created_at":"2026-04-06T05:00:40.242Z","updated_at":"2026-05-04T07:03:02.179Z","avatar_url":"https://github.com/hyunjin-kor.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./frontend/public/icon-256x256.png\" width=\"128\" alt=\"CatPrice app icon\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eCatPrice\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eWindows desktop software for catalyst cost estimation, raw-material price tracking, and source-linked benchmark analysis.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ccode\u003eWindows app\u003c/code\u003e\n  \u003ccode\u003eLocal desktop workflow\u003c/code\u003e\n  \u003ccode\u003eSource-linked library\u003c/code\u003e\n  \u003ccode\u003eBenchmark datasets\u003c/code\u003e\n  \u003ccode\u003eInstaller download\u003c/code\u003e\n\u003c/p\u003e\n\nCatPrice is an independently developed desktop application for catalyst cost screening across multiple reaction families. It combines a local calculation engine, live and indexed raw-material pricing, preparation-route costing, and source-linked benchmark datasets in one Windows workflow.\n\nThis repository contains the Electron application, the local FastAPI backend, the calculation engine, and the curated data files used by the app. The software cites published methodology where appropriate, but the implementation, interface, data assembly, benchmark structure, and desktop workflow in this repository are CatPrice-specific.\n\nThe workflow is reaction-agnostic: choose catalyst type, define composition, set the preparation method, sync current metal prices, and review a cost estimate. Literature benchmark families are included as optional reference datasets, not as required inputs.\n\n## Official Links\n\n| Link | Current target |\n| --- | --- |\n| GitHub repository | [hyunjin-kor/CatPrice](https://github.com/hyunjin-kor/CatPrice) |\n| Latest Windows release | [v1.3.3](https://github.com/hyunjin-kor/CatPrice/releases/tag/v1.3.3) |\n| Installer download | [CatPrice.Setup.1.3.3.exe](https://github.com/hyunjin-kor/CatPrice/releases/download/v1.3.3/CatPrice.Setup.1.3.3.exe) |\n| Portable download | [CatPrice-win-unpacked.zip](https://github.com/hyunjin-kor/CatPrice/releases/download/v1.3.3/CatPrice-win-unpacked.zip) |\n| Issues | [GitHub Issues](https://github.com/hyunjin-kor/CatPrice/issues) |\n\nNo public blog or website URL is currently configured in the GitHub repository metadata. Add the verified URL to `docs/project-links.md` and the package metadata before publishing external announcements.\n\n## Current Scope\n\nThe current repository exposes the following research-facing pieces:\n\n- `broad reaction-family coverage`\n  The shipped benchmark library spans ammonia cracking, CO2 hydrogenation and methanation, RWGS, dry reforming, water-gas shift, formic acid dehydrogenation, fuel-cell ORR, and electrolyzer OER families.\n- `thermocatalyst and electrocatalyst workflows`\n  Bulk supported catalysts and electrode-stack cases are handled separately.\n- `source-linked pricing`\n  Live feeds, indexed rows, vendor rows, and literature rows carry quote basis, year, scope, and public links when those links exist.\n- `preparation-route costing`\n  The Step Method remains the main processing-cost layer.\n- `recovery-aware thermal screening`\n  Thermocatalyst runs can include an optional spent-catalyst recovery proxy.\n\n## Implemented Now vs Planned Next\n\n| Area | Implemented in CatPrice | Still planned, not claimed as done |\n| --- | --- | --- |\n| Research workflow | Thermocatalyst/electrocatalyst split, preparation templates, result-side evidence review | Structure-editor-first entry surface |\n| Chemistry basis | Explicit composition rows, support closure, electrocatalyst area model | RDKit/ChemPy validation microservice |\n| Lifecycle economics | Optional spent catalyst recovery proxy | Deactivation kinetics and regeneration-cycle economics |\n| Complexity penalty | Route steps, campaign scale, evidence scope | SCScore-style synthesis complexity penalty |\n| Validation | Backend pytest suite, desktop smoke test, data validation script, composition-step-template matrix harness | Additional reaction-specific physics models beyond the current cost-screening scope |\n\nIn practice, CatPrice helps answer questions like:\n\n- How does a change in metal price affect the estimated catalyst cost?\n- Which composition or loading makes the route more expensive?\n- How much does the preparation method change the final estimate?\n- What is the evidence source behind each price used in the estimate?\n\n## Workflow\n\n| Stage | Screen | What you do | What CatPrice gives back |\n| --- | --- | --- | --- |\n| 1. Track the market | `Live Metal Prices` | Review live, indexed, and manual price bases with confidence and freshness metadata | A transparent sourcing basis for the catalyst recipe |\n| 2. Estimate the cost | `Cost Estimate` | Move through `Catalyst Type -\u003e Composition -\u003e Preparation Method -\u003e Result` and run the estimate | A catalyst preparation estimate grounded in current price data |\n| 3. Check published benchmarks | `Literature Benchmarks` | Review optional literature-backed catalyst families and load one as a starting point if useful | A fast reference path without forcing the main workflow |\n| 4. Review the output | `Result` | Open the final output on a separate reading surface | A result view optimized for interpretation instead of editing |\n| 5. Iterate quickly | `Back to cost estimate` | Return to the cost estimate workspace, adjust pricing or steps, and rerun | The draft stays in place so scenario work remains fast |\n\n## Representative Screens\n\nThe captures below focus on one core task per screen. These assets are regenerated from the running desktop stack with `scripts/capture_readme_screens.mjs`.\n\n### Cost Estimate\n\nChoose the catalyst workflow first, then define the recipe, route basis, and result handoff in sequence.\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-cost-estimate-type.png\" alt=\"Cost Estimate catalyst type screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nSelect thermocatalyst or electrocatalyst before editing the case.\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-cost-estimate-composition.png\" alt=\"Cost Estimate composition screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nSet active metals, promoters, and support balance with explicit source-backed price states.\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-cost-estimate-preparation.png\" alt=\"Cost Estimate preparation method screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nBuild the preparation route from operation buckets and campaign scale.\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-cost-estimate-result.png\" alt=\"Cost Estimate result handoff screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nRun the case, then move into a dedicated result surface.\n\n### Live Metal Prices\n\nScan tracked symbols and current quote basis first, then move into the trend and source audit for one metal.\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-live-metal-prices-overview.png\" alt=\"Live Metal Prices overview screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nReview tracked symbols, quote status, and grouped market rows.\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-live-metal-prices-trend.png\" alt=\"Live Metal Prices selected metal trend screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nRead the price curve, period range, evidence tier, and freshness together.\n\n### Literature Benchmarks\n\nCompare the published route candidates first, then open the selected reference route to inspect the full benchmark basis.\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-literature-benchmarks-routes.png\" alt=\"Literature Benchmarks candidate comparison screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nCompare landed catalyst cost, score, and route position across the active family.\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-literature-benchmarks-detail.png\" alt=\"Literature Benchmarks selected route detail screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nInspect materials, processing, evidence anchors, and route basis before loading the case.\n\n### Source Library\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-source-library.png\" alt=\"Source Library material database screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nSearch the stored rows, filter by category/domain/application, and inspect quote basis, trust state, and public source links for the selected record.\n\n### Estimate Range\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-estimate-range.png\" alt=\"Estimate Range screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nRun Monte Carlo on the same current draft and read the baseline, mean, median, P5-P95 band, and percentile-weighted spread together.\n\n### Result\n\n\u003cp\u003e\n  \u003cimg src=\"./docs/assets/screen-result.png\" alt=\"Result preparation and breakdown screen\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nReview the final estimate, cost ledger, evidence summary, and route basis on a separate reading surface.\n\n## Repository Highlights\n\n| Area | What CatPrice emphasizes |\n| --- | --- |\n| Core estimator | Reaction-agnostic catalyst preparation cost estimation with a separate result view |\n| Price clarity | `LIVE`, `INDEXED`, and `MANUAL` states plus evidence confidence, freshness, quote year, and pack basis |\n| Workflow | Step-based workspace navigation with back/forward movement instead of long scroll stacks |\n| Preparation logic | Step Method, preparation extras, indexed escalation, and named preparation templates |\n| Research support | Literature-backed thermocatalyst and electrocatalyst benchmark families with explicit anchor links and family banks |\n| Operational trust | Quote-status panels, source-library trust labels, and result-side source records |\n| Desktop release | Installer + unpacked app outputs for a clean Windows release path |\n\n## Included Reference Families\n\nCatPrice currently ships ten optional benchmark families.\n\nThermal families:\n\n- `ammonia-cracking`\n- `co2-methanol`\n- `co2-methanation`\n- `rwgs`\n- `dry-reforming`\n- `water-gas-shift`\n- `formic-acid-dehydrogenation`\n\nElectrocatalyst families:\n\n- `fuel-cell-orr`\n- `pem-electrolyzer-oer`\n- `aem-electrolyzer-oer`\n\nEach family includes candidate definitions, route templates, literature anchors, and pricing proxies that the app can load and score directly.\n\n## Download\n\nDownload the packaged Windows app from [GitHub Releases](https://github.com/hyunjin-kor/CatPrice/releases).\n\nRecommended asset:\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c Updated upstream\n- `CatPrice Setup 1.3.3.exe`\n=======\n- `CatPrice.Setup.1.3.3.exe`\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e Stashed changes\n\nPortable asset:\n\n- `CatPrice-win-unpacked.zip`\n\nMost users only need the `Setup` installer. Download the portable zip only if you want to run CatPrice without installation.\n\nThe packaged desktop app already includes the local backend and the bundled library data used to seed the workspace. CatPrice creates or updates the local SQLite database on startup, so users do not need to download a separate database file.\n\nCatPrice is distributed as a desktop app. The public repository does not require a public server deployment to use the product.\n\n## What It Does\n\n- Estimates catalyst selling cost with a step-based preparation cost model grounded in published catalyst-cost methodology\n- Tracks metal inputs with `LIVE`, `INDEXED`, and `MANUAL` price states\n- Annotates market feeds with price-evidence confidence, freshness, and acquisition mode\n- Loads thermocatalyst and electrocatalyst reference families into the cost estimate workspace as editable starting points\n- Attaches source-linked family literature banks built from high-confidence journal references and public vendor pages\n- Covers multiple energy-transition reaction families while remaining usable for general catalyst screening\n- Opens the final estimate on a dedicated result screen for review\n- Re-states the estimate basis through source records, normalization details, and route metadata on the result screen\n- Adds an optional spent-catalyst recovery proxy to thermocatalyst screening runs\n- Runs Monte Carlo uncertainty analysis\n- Applies ChemPPI and CEPCI escalation\n- Includes material, step, and process template libraries\n- Ships as a packaged Windows desktop app through Electron\n\n## Validation and Harness Engineering\n\nThe current repository validates the engine through:\n\n- `pytest` coverage for the calculation engine and API\n- `matrix harness` checks across frontend thermal composition choices, saved process templates, and valid step combinations\n- `desktop smoke` checks for launch, health, prices, and sample calculation behavior\n- `data validation` scripts for library consistency\n\nAdditional reaction-specific physics layers are still planned, but the current cost-screening workflow is backed by automated matrix and desktop validation.\n\n## App Mark\n\nThe mark combines a catalyst chamber silhouette, internal particles, and an upward signal line. It is meant to read as catalyst preparation and market-aware pricing in a single desktop icon.\n\n## Desktop Release\n\n```bash\nnpm install\nnpm run build\n```\n\nMain outputs:\n\n- `dist-electron\\CatPrice Setup 1.3.3.exe`\n- `dist-electron\\win-unpacked\\CatPrice.exe`\n\nBefore rebuilding desktop artifacts, CatPrice stops old desktop processes automatically. You can also stop them manually:\n\n```bash\nnpm run desktop:stop\n```\n\n## Desktop Smoke Test\n\n```bash\nnpm run smoke:desktop\n```\n\nThis checks desktop launch, backend readiness, the prices endpoint, a sample calculate request, and re-launch behavior.\n\n## Optional API Keys\n\nCatPrice works without API keys by falling back to indexed or manual prices.\n\n```env\nMETALS_DEV_API_KEY=your_key\nMETALPRICE_API_KEY=your_key\nBLS_API_KEY=your_key\n```\n\n## Validation\n\n```bash\npython -m pytest backend/tests -q\ncd frontend \u0026\u0026 npm run build\npython scripts/validate_catcost_data.py\n```\n\nDesktop packaging validation:\n\n```bash\nnpm run build\nnpm run smoke:desktop\n```\n\n## Method Basis\n\nCatPrice is an independent implementation of a local catalyst-cost desktop workflow. The repository cites published costing methodology where relevant, but it does not redistribute CatCost source data or third-party product assets.\n\nMethod references:\n\n- Baddour, F. G., et al. (2018). Journal of the American Chemical Society.\n- Van Allsburg, K. M., et al. (2022). Early-stage evaluation of catalyst manufacturing cost and environmental impact using CatCost. Nature Catalysis.\n\nBenchmark and route-specific literature references are attached inside the application datasets and source library rather than duplicated in the GitHub README.\n\n## License\n\nSource-available, all rights reserved. See `LICENSE`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyunjin-kor%2Fcatprice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyunjin-kor%2Fcatprice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyunjin-kor%2Fcatprice/lists"}