About Bucket
how the math, the affiliate model, and the publication model all fit together
What Bucket is
Bucket moves a pool-refresh decision from price tag to lifecycle — and once you've decided, helps you act, while quietly earning its own keep.
v0.1 was the math. v0.2 was the manager-language form. v0.3 is the act-after-decide layer: a curated drive market, affiliate-tagged links to where the recommendation actually lives for sale, disclosure visible enough to be honest, and the structural pattern that makes Bucket the prototype for every future FI content surface.
The math, in summary
Bucket models per-drive failure rate as a piecewise bathtub curve fit from Backblaze's public AFR-by-age tables (CC-BY 4.0). For a mirror of N drives in parallel, expected time to first failure is the integral of S(t)N. Cold spares absorb failures sequentially. Confidence bands ±20% on the effective AFR. Swimming pools apply a 1.2× multiplier on top of condition-class AFR.
The decision function is 87 lines of Go in internal/pool.
Read it. Run the test suite. The parity check in flake.nix
asserts the native CLI and the WASM build produce byte-identical output
for canonical inputs.
The affiliate model
Bucket earns commission when you click external "buy" links and complete a purchase. The programs we participate in:
- eBay Partner Network (EPN). ~1–4% on category. 24-hour cookie. Bucket already directs users to eBay sold-listings to verify pricing; tagging the link they were already going to click is structurally honest.
- Amazon Associates. ~1–3% on storage products. 24-hour cookie. Real channel for new and recert drives at the capacities Bucket recommends.
What we explicitly don't do:
- No display ads. Banner ads break the page's contemplative voice and create the wrong incentives.
- No email capture, newsletter, or comments. Out of scope. They'd compromise the silent-honest framing.
- No Backblaze affiliate. Backblaze B2 appears in our comparison table as a cloud alternative; commissioning that relationship would be a conflict of interest. The honest comparison is more valuable than the commission.
- No premium tier. Bucket is free + affiliate. A premium tier would force feature-gating that distorts the GPL surface.
Rough commission scale, for transparency: at FI's current traffic, affiliate revenue covers the operational cost of running the page (CDN, domain, periodic snapshot refresh) and not much more. The model isn't "headline revenue"; it's "page earns its own keep."
The integrity invariants
Four structural commitments. Each is enforceable from the GPL-published source.
- The math is sealed. The
Decide()function ininternal/poolproduces the recommendation. The function takes your inputs only — drive AFR, lifespan, $/TiB-year — and applies no affiliate weighting. The recommendation is identical whether you click an affiliated link, a non-affiliated link, or no link at all. - Real utility for non-customers. A visitor with no relationship to FI gets a real decision-aid for free. They leave better-informed than they arrived. No gated content, no email wall, no upgrade path.
- Doctrine taught in the act of being useful. Every doctrine section on this page — drought-resistance, the wagon/buckets vocabulary, cold-spare availability, the recovery procedure — is genuinely informative on its own. Collectively they introduce the FI worldview to someone who arrived for a calculator.
- Silent affiliate revenue. Affiliate links attach to actions the user already intended to take (clicking through to eBay to verify the price). They don't change the recommendation, and they're disclosed conspicuously enough to meet 16 CFR Part 255.
If you fork Bucket and re-deploy with your own affiliate IDs, the GPL permits it; the TRADEMARKS file controls the brand boundary. Same code, different brand, separate revenue stream. The integrity invariants travel with the code.
Privacy
Bucket collects:
- Server-side page views via Forgejo / web-server logs. No client-side analytics on this page.
- Affiliate cookies (third-party) when you click an EPN or Amazon link, set by the destination, not by us. 24-hour lifespan. We see the eventual commission report; we don't see your click path.
What we don't collect:
- No first-party cookies (no cookie banner needed under GDPR / ePrivacy — affiliate cookies set on your action are your consent).
- No fingerprinting, IP-tracking, or third-party trackers.
- No Google Analytics, Plausible, Fathom, or other analytics pixels on this page.
- No email lists. No newsletter. No retargeting.
The publication model
Bucket is the prototype for FI's by/* content strategy.
The pattern: open content → free utility → trust earned →
affiliate trickle → self-selection into deeper offerings. The
inverse of typical SaaS marketing's gated-content funnel.
Each future fi.ai/by/<product>/ page should aspire
to the same shape: real utility for the visitor, doctrine taught in the
act of being useful, silent monetization on already-intended actions,
no compromise to what the page teaches. If a page can't meet all four,
it shouldn't ship.
This page is itself an instance of the pattern. The math is useful; the doctrine sections teach FI's view of storage; the eBay links are where you were going anyway; the disclosure is in the footer.
How to verify
- The source is on Radicle and Forgejo. Clone it. Run
nix flake check. The parity check confirms the native CLI and the WASM build produce byte-identical output for canonical inputs. - The
Decide()function ininternal/poolis 87 lines. Audit it. Confirm it takes no affiliate inputs. - Fork Bucket. Apply for your own EPN and Amazon Associates
accounts. Edit
web/config.jswith your own IDs. Deploy under a new brand. The recommendations will be identical — the math is sealed, the affiliate ID is just metadata.