2d20f5e893613d8f78589f8c5bbd714a692e37d6
Blade & Brawn
Platform monorepo for bladeandbrawn.com: an athletic level calculator (rating a player's strength, power, endurance, and agility against real-world standards) and the storefront/commerce integration that syncs products between Printful and Webflow.
Structure
Everything is wired together with plain workspace:* dependencies.
| Path | What it is |
|---|---|
apps/api |
ElysiaJS backend — calculator, commerce sync, auth, admin endpoints |
apps/portal |
SvelteKit admin portal for managing standards config and commerce data |
packages/calculator |
Level calculation engine (standards generation + interpolation) |
packages/commerce |
Printful and Webflow API clients and product sync logic |
packages/domain |
Shared models, enums, and utils used by the packages above |
Each app/package has its own README with setup and usage details. The level
calculator's algorithm and data sources are documented separately in
docs/level-calculator.md.
Prerequisites
- Bun
- PostgreSQL (for
apps/api)
Getting started
bun install
# run the API (see apps/api/README.md for required env vars)
bun run dev:api
# run the portal (see apps/portal/README.md for required env vars)
bun run dev:portal
Both apps also have build:api / build:portal root scripts, and are
deployed to Fly.io (see each app's fly.toml).