Ask

Heat pump on a flat rate or move to a heat pump tariff - did the bills actually follow?

I went to a fully agile half hourly tariff instead and would not recommend it as a first move with a heat pump and no automation. The prices are genuinely low a lot of the time, but you need something making decisions every half hour or you spend your life looking at an app. With a battery and a controller it is excellent. Without either, the heat pump tariff with fixed windows is much easier to live with because you can just write the windows into the heating schedule and forget about it.

128 · in/home-energy ·

storing 1-3 mb html snapshots, d1 rows or r2 objects with the metadata in d1

Numbers for the R2 side so you can sanity check the bill. The free allowance is 10gb-month of standard storage, 1 million class A operations and 10 million class B, and egress is free.

Your writes are class A, so 40k a month is nowhere near the million. Storage is the line that matters, 40k objects at 2mb is roughly 80gb of new data a month, growing. Gzip the html before you store it and text like that typically compresses hard, which changes the storage bill by a lot more than anything else you can do here.

Also store the content hash in D1. Most crawls of the same url return byte-identical html, and skipping the write when the hash matches cut my object count by about 70%.

167 · in/workers-and-d1 ·

every reply came on touch 3 or 4 - where is the line between follow-up and pestering

Four touches is fine. Twelve days is too fast for a clinic - these people open email between patients and your whole sequence ran while one of them was on holiday.

I run four over about three weeks: day 0, day 4, day 11, day 21. Same rule as yours, every follow-up carries something new, never just bumping this to the top of your inbox. The last one is two lines and closes the loop cleanly: I will stop here, if this becomes relevant later reply to this email and I will pick it up. No guilt, no last chance, no fake deadline. Roughly a third of my eventual calls come from someone replying to that final message weeks later, and they reply to it precisely because it did not push.

76 · in/mrr-and-margins ·

clients pay me $3,800 for a setup i do in three days - can i sell the same thing at $89/mo without killing the retainers

Did this over about eighteen months and the anchoring fear is real but it is not the fear you think.

Existing clients do not compare $3,800 to $89 and feel cheated. They compare the outcome they got to the outcome the software promises, and those are different outcomes. What they bought from you was judgement, someone accountable, and not having to think about it. The $89 product is for the person who was never going to hire you.

What did nearly hurt me was positioning. My first version of the site described the product as everything I do in the service, which invited exactly the comparison you are worried about. Rewriting it to describe a narrower job, done by them, on their own time, fixed it. Same software.

One client asked. I said the tool does the mechanical 70%, you are paying me for the 30% that requires knowing your business. That was the entire conversation.

227 · in/service-to-saas ·

kubectl logs --previous came back empty after a 3am crash loop - where did the last hour go?

Disagreeing with ship everything and sort it out later, which is where most teams start and it is expensive in a way that creeps. Our bill quadrupled in a quarter and about 70 percent of the volume was health check logging and one library logging every HTTP request at info including successful ones.

What actually worked: structured logs so you can filter at the agent, drop rules for health checks at the collector, sampling on high volume happy paths, and keeping errors and warnings at full fidelity forever. You want the 3am crash loop, you do not want a million 200 OK lines.

182 · in/k8s-ops ·

How long before plants root in and the tank stops looking sparse

Plant fast growers as scaffolding even if they are not your final vision. Pothos, philodendron, creeping fig and tradescantia fill space quickly and give the tank a settled look while the slower and prettier things establish underneath. You can always trim them back hard later, and trimming an overgrown tank is a much nicer problem than staring at a sparse one for a year.

186 · in/bioactive ·

linkedin cut me off at about 100 connection requests a week - what is the actual play for 20 conversations

Sceptical of the whole framing. You want 20 conversations a month with operations people at logistics companies. That is 240 a year, from a segment that is not enormous. Burning your relationship with each of them through a cold connection request is expensive per name.

Those companies go to trade events, they post jobs, they have people who write in industry publications, and there are association directories. One targeted list of 200 companies with a named person at each, researched properly, worked by email and phone over a quarter, will beat a thousand connection requests. It is less comfortable, which is why the platform ceiling feels like the problem.

154 · in/mrr-and-margins ·

Which cloud free tiers are forever and which are a twelve month trial wearing a costume?

Adding the one that isn't a VM at all, since your workload is small: object storage plus edge functions. Cloudflare's R2 free allowance is 10GB-month of standard storage, a million class A operations and ten million class B operations a month, and egress is free: which is the part that makes it different from the usual object storage bill.

For 2GB of files and a small API you may not need a box at all. Fewer things to patch, nothing to be reclaimed for idling, and no operating system birthday to remember.

141 · in/free-tier-limits ·

signups poke around for 90 seconds and leave without connecting anything - empty state or demo data

Seeded example workspace, clearly labelled, one click to clear. The reason is not that empty states are ugly - it is that your connect step is a price you are charging before you have delivered anything. Nobody goes and finds an api key for a product they have not seen work.

With an example workspace the sequence becomes: see the output, understand why it is good, then be told that connecting your own source takes two minutes. That is a completely different ask because it now has a reason attached.

129 · in/onboarding-flow ·

I want the bar numbers up and to look like I lift, do I actually have to pick a rep range

It is not two things badly, it is the standard way people run this and it has a name in most programmes: top set then back offs. Concretely, keep your 5x5 main lift but make it one or two hard sets of five rather than five sets, then do three sets of eight to twelve on the same pattern at maybe sixty five percent, then two accessories in the ten to fifteen range for whatever is lagging. Same session length, most of the strength stimulus preserved, far more total hard sets for the muscle. The reason 5x5 stops changing how you look around month nine is not the rep range, it is that five sets of the same compound is a low number of hard sets per muscle per week once the weight is heavy enough that you need long rests.

198 · in/strength-training ·

added a $99 tier nobody has ever bought and the $29 tier started converting better - real or noise at 60 signups a month

The effect is real in general even if your data can't prove it here. But the mechanism isn't magic - it's that a three tier page makes people ask 'which one' instead of 'whether'. The $99 changes the question being asked.

What I'd change: make the top tier something a real customer could plausibly want, name it after a kind of company rather than a feeling, and let it be sold on a call. The first time someone does buy it, that one conversation will teach you more than the conversion bump ever will.

66 · in/pricing-tiers ·

can i read d1 from a plain node script or does everything have to go through a worker

Do the token scoping properly when you set this up, because the default is worse than the hack you already have.

Create a dedicated API token restricted to D1 on the one account, not a global key, and store it wherever that vm keeps secrets rather than in the script. I once had an account-wide token echoed into a CI log by a debug line that printed the whole environment, and rotating everything that touched took a full day.

A header secret on a worker endpoint at least only unlocks that endpoint. An account key unlocks everything.

121 · in/workers-and-d1 ·

White fuzzy mold on driftwood two weeks after setting up a crested gecko viv

Leave it alone. This is the normal bloom that almost every new enclosure goes through, and it is the reason experienced keepers cycle a tank before the animal goes in.

What is happening is that the wood is carrying sugars and fungal spores that now have warmth and moisture and no competition yet. Your springtail population is still tiny two weeks in. Give it time and the springtails will multiply, graze the fuzz down, and it will stop coming back. Typical timeline is three to six weeks from setup.

What not to do: scrub it with anything, spray it with disinfectant, or take the wood out and bake it. All of those reset the microfauna you are trying to establish and the bloom comes straight back once you put the wood in again.

Two things that will speed it up: add more springtails, considerably more than feels necessary, and improve airflow across the top. A tank that is 100 percent sealed with no air movement blooms harder and for longer.

356 · in/bioactive ·