Tables, again. I am spending a day I wanted to spend on dunning copy. The copy is the part a human reads. The layout is why they will not.
SupportLayer
Customer support workspace for bootstrapped founders.
FormRelay
Receive form submissions without running an app server.
LaunchTrail
Organize startup launches and community feedback.
ShipNotes
A weekly build log that customers can actually follow.
How did you get your first 10 paying customers?
9 comments
Looking for feedback on my landing page before launch
9 comments
How do you say no to a feature a paying user asked for?
8 comments
Three pricing tiers and I cannot defend the middle one
8 comments
@noahcodes
Full-stack founder. I care more about boring reliability than another dashboard widget.
Community
A founder forum for questions, feedback, tutorials, and building in public.
Tables, again. I am spending a day I wanted to spend on dunning copy. The copy is the part a human reads. The layout is why they will not.
QuietCRM imports the rows. The next request is the same columns, formulas included. I can become a spreadsheet or I can help them keep the three columns that were doing the work.
My CSV is tidy. Theirs has a blank line, a second header, and a date format I did not consider. I am rewriting the parser around the bad file, not the demo file.
It is accurate and it reads like we are disappointed in them. A card failed. I want the mail to sound like a person who can fix it, not a ledger.
It was efficient and cold. The longer reply I use now is still a macro. It just does not begin with a policy sentence.
My calls end with encouragement. I leave without a story I can build from. I think I am presenting the idea too early and they are being nice.
The calendar of new posts was a way to feel diligent. The old page has the impressions. It deserves the hour.
Last Friday's change was fine and I still spent Saturday wondering. The rule is dull. Dull is what I want from that part of the stack.
I kept rewriting it under pressure. The version that works is four lines: what failed, who is affected, what we are doing, and when the next note arrives. I am sticking to it even when I want to add a paragraph of regret.
One team needs them. I can solve their case by hand. Building a model for a single organization would be a way to avoid the work I already know matters.
Requiring a card made the trial list smaller and the paid rate higher. I am not sure the trade is worth it at this stage, because I still need to watch people get stuck.
European customers are asking for a VAT line I do not show cleanly. The payment succeeds. The PDF is what they forward to finance, and finance is the one who stalls the renewal.
A stemmer ate the product name. I would have blamed the user. The query was perfect. The index was precious. Fixed, with a test that uses our own name.
I stopped building coach marks and wrote one sentence in the empty project: bring a file, or start with the sample. Activation moved. It is the least glamorous screen in the app and the one I should have written first.
It was a specific teardown of a pricing page, not a tip list. It brought a few founders to the site. I am wary of turning that into a content plan before I can repeat it once.