Posts

Showing posts from November, 2026

The $0 stack behind aefristore.web.app

This store sells 17 digital products, runs on free hosting, and has spent $0.00 on software, ads, or subscriptions. That sentence is easy to write and hard to keep true. Here is the stack, the parts that broke, and the parts that are load-bearing. The constraint Zero budget is a design constraint, not a marketing angle. It rules out paid APIs, paid hosting tiers, SaaS editors, email platforms with a free-tier cliff, and anything that requires a card on file. What remains is the standard library, a browser, free tiers that do not expire, and time. The shape catalog (JSON) | +-- generator (Python stdlib) --> SVG / HTML / EPUB / PDF | | | +-- truthfulness tests (pytest) --+ | | +-- packager (zip + LICENSE.txt) ----------+ | +------------------------+------------------+ | | | ...

Payhip vs Ko-fi vs itch.io: the fee math on a $6 download

Every "where should I sell my digital products" post compares headline percentages. The headline percentage is the smallest number in the equation. Here is the arithmetic on a real $6 download, with the assumptions written down so you can redo it with your own. The three platforms, as listed in November 2026 Platform Platform fee Monthly fee What the fee buys Payhip (free plan) 5% per sale $0 Hosted checkout, file delivery, EU VAT handling, PayPal/Stripe payouts Ko-fi (Standard) 5% on shop sales, memberships, commissions $0 Shop, tips, memberships, commission requests, one page Ko-fi Gold 0% $12 The same, without the per-sale cut itch.io 10% by default, adjustable by the creator $0 Game-adjacent storefront, devlogs, pay-what-you-want pricing All three also pass through payment-processor fees. The platform cut is not the only deduction, and the processor fee is often larger than the platform fee on a small sale. The worked example: o...

What CC0 actually means for a digital product (and what it does not)

CC0 is the shortest licence in common use and the one most often misread. The deed is a single page, but the gap between what people think it means and what it actually says is where most of the confusion lives. If you sell or buy digital assets, that gap matters. What the deed actually says CC0 1.0 Universal is a public-domain dedication. The author waives copyright and related rights to the fullest extent the law allows. Where a waiver is not possible, the deed falls back to an unconditional, irrevocable licence to use the work for any purpose. No attribution required. You do not have to credit the author. You may, but the licence does not require it. Commercial use allowed. Selling a product that includes the work is permitted. Modification allowed. You can edit, remix, and build on it. No warranty. The work is provided as-is. The author is not liable for anything that follows from using it. What it does not do This is the part people skip. It does not gr...

Using a CC0 stroke icon pack in React, Tailwind, and plain HTML

Most icon packs ask you to install a package, import a font, or accept a licence that changes when the wind blows. The AEFRI Interface Motion set is 16 stroke icons drawn as plain SVG paths, released under CC0. You can copy a path into a component, inline it in an HTML file, or ship it in a commercial product with no attribution. 1. The plain HTML route Every icon is a single SVG element with a 24x24 viewBox, fill="none" , and stroke="currentColor" . Paste it anywhere and it inherits the text colour. <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M5 12h14"/> <path d="M13 6l6 6-6 6"/> </svg> 2. React Because the paths are static, a component needs no dependencies and no build step: export function ArrowRight({ size = 24 }) { return ( <svg width={size} heig...