LFH Lab Start a project
Lab Notes/Craft
CRAFTJUN 2026

No ads, no dark patterns, no energy timers

The four rules every product here ships under, and why each one is a build constraint before it's a value.

Thirteen products. Four rules. None of them are on the homepage.

They aren't there because they aren't a pitch. They're closer to a build spec: things I decide before the first commit so they don't get relitigated at the pricing meeting, where they'd lose.

No ads. No dark patterns. No pay-to-win. No energy timers.

Written down like that they sound like values, and they are. But the reason they've survived thirteen products is that each one turns out to be a practical constraint that makes the product better to build.

No ads

No ads means the product has to be worth paying for, or worth giving away cleanly. There's no third option where the product is free and the user is the inventory.

That forces the pricing question early. It's uncomfortable. That's the point. MyUptimeBot is free for one monitor forever and $32.99 a month for fifty. The free tier costs almost nothing to serve, and the paid tier is priced like a tool, not a hope. If a product can't find a shape like that, it usually isn't a product yet. It's a feature looking for a business.

No dark patterns

Easiest rule to agree with. Hardest to keep. Dark patterns rarely arrive as a decision; they arrive as a default. The cancel link one shade lighter than everything else. The "are you sure?" worded so that yes feels like a mistake. The trial that ends on a Sunday.

So the rule is boring on purpose. Cancellation is as many clicks as signup. Trial endings get announced before they happen, not after. Any screen whose job is to slow a user down gets deleted. Leader Ethos charges hiring teams a credit only when a candidate completes the assessment, not when they're invited, because the alternative is a system that quietly profits from people not finishing.

No pay-to-win

A games rule, but it applies to anything with a leaderboard or a streak. Daily Sleuth and Redacted both passed a hundred puzzles this year. Neither sells a hint a paying player gets and a free player doesn't. Paid unlocks the archive and cosmetics; the puzzle is the puzzle. A daily game only works if the person who solved it in four minutes and the person who solved it in forty were solving the same thing.

No energy timers

The rule people ask about most, because energy systems are one of the few mobile mechanics that reliably make money. They also make the product worse in a way you can measure: you're charging the user to keep enjoying the thing they came for. If a game is fun enough that someone wants to keep playing, let them.

The honest cost

Some of my products are smaller than they could be. There's a version of every one of them with an ad slot and a nag screen that would earn more this quarter. The bet is that the version without them earns more trust, and trust is the only thing a portfolio of small products actually compounds.

If you're hiring me

These rules apply to client builds too. Not as a condition, since the client owns the product, but as the default I build to unless asked otherwise. Most people who come to me have already decided they'd rather not ship the nag screen. They want someone who'll agree with them in the build, not just in the kickoff.

If you're not sure whether your product has a dark pattern, try to cancel it. Count the clicks.

More notes, or the work itself.
Everything here comes from products that are live right now. Read the rest of the notes or go look at the shelf.
All notes The work →