Blog · Building Hellofew, week by week, part 4 of 8

Week of 14 September 2026: read the person before writing to them

Adarsh Mamgain · 31 October 2026

Two days of work in this week, Monday and Thursday, and they were about two different things. Monday was about the page a stranger reads and what it owes them. Thursday was about the message a stranger receives and what it owes them. Looking back, they are the same question.

Monday: the page stops promising what it cannot give

The product refuses to send from an account under 150 connections. Until Monday it found that out after taking the money. From Monday the connection count is asked about before the card, and an account that cannot be used is turned away at the door rather than billed for a month of silence. The floor has its own post.

The landing page used to say "20 invitations a day" and leave the reader to work out whether that was worth $49/month. Monday's second commit does the arithmetic for them, and does it from the ramp rather than typing a number: a function simulates the first four weeks, weekdays only, against the rolling weekly ceiling, and the page renders the output. Change the ramp and the sales page changes with it. The number is rounded down to the nearest ten on purpose, because "about 270" is a claim a reader can check and "270" is a precision the model does not have.

A first month, week by week, from the ramp and the rolling ceiling

Invitations the planner can send in each of the first four weeks of a Premium account, generated from the same constants it obeys. Holidays, a skipped day and the breaker all make the real number smaller.

A first month, week by week, from the ramp and the rolling ceilingInvitations the planner can send in each of the first four weeks of a Premium account, generated from the same constants it obeys. Holidays, a skipped day and the breaker all make the real number smaller.050100Week 1Week 2Week 3Week 4
Show as a table
A first month, week by week, from the ramp and the rolling ceiling
WeekInvitations
Week 135
Week 275
Week 380
Week 480

Check it: the limits the ramp is read from

The same day the page stopped promising a queue that was behind the paywall, the disqualifier moved above the price where it could still change a decision, an empty search was told apart from a profile too narrow to match anyone and both were made to raise an alarm, and the digest stopped blaming the reader for an empty queue. The branch was called funnel-honesty, which is a little on the nose, but it was the week the product's words were made to match the product.

Thursday: the dossier, and the gate on quotes

Until Thursday the message was written from the search row: a name, a headline, a company. It was grammatical and it was the message everyone deletes. Thursday's thirteen commits are one idea: read the person before writing to them, and prove it.

Read before you writeThe profile, the person's posts and their company's site feed a dossier that separates what is known from what may be quoted. The draft is written from the dossier in four parts, and code checks every quote, the machine habits and any stale sender line before it goes. Profilerole, company, past Their postswhat they wrote Company sitetheir own words Dossierknown / may quote Draftanchor, who I am, value, ask Checks, in codequotes, habits, stale lines A quote that is not in the dossier fails the draft. A line the workspace no longer says about itself fails it at the moment of sending.
The grounding gate as drawn that week. The dossier's two halves are the whole design: facts the model may use, and words it may quote, kept apart so a quote can be checked against its source by code rather than by trust.
  • The writing got its own model, a stronger tier than the one that reads and classifies, because the message is the product and the reading is overhead.
  • The profile is read properly, not just the search result: roles, summary, recent posts. The dossier is stored, and a person never looked at is kept distinguishable from one looked at and found thin.
  • The dossier separates what we know about somebody from what we may quote back to them. A draft that quotes a sentence not in the quotable half fails and is rewritten. A quote the person did not write is the fastest way to be caught pretending to have read a profile you never opened.
  • Profile reads are budgeted per day, 50 of them, and a failed read never stops the run; it marks the person as unread and moves on.
  • The drafter was given, as examples, the shape of messages that actually got answered rather than templates, and a scoring component was added for the signal that a person had written about the problem themselves.
  • The order of the daily run became search, score, read, write, so the expensive reading is spent only on people who scored well enough to be worth writing to.
  • The approver sees what the message was written from, under the draft, so the judgement on the card is of the draft against its evidence, not of the draft alone.

And the digest was taught to name a quiet week where nothing is actually broken, rather than dressing it up or going silent. That one is small and I rank it with the others. A quiet week reported as a quiet week is what trains a customer to read the next email, and the next email is sometimes the one that says the account needs them. The accounts' own quiet weeks are left on the numbers page for the same reason.