Why I split the invoicing engine into its own service
The moment a single schema starts serving three unrelated workflows, it's time to draw a boundary. Here's how that boundary got drawn.
Read entry →A running record of what actually happens while shipping software: the decisions, the dead ends, the small fixes that took three days. Read the posts, or skip straight to saying hello.
Nine posts, three per page. Short, specific, no filler.
The moment a single schema starts serving three unrelated workflows, it's time to draw a boundary. Here's how that boundary got drawn.
Read entry →Turned out to be a scheduled job, a timezone assumption, and three weeks of denial before I looked at the logs properly.
Read entry →Nobody reads the tooltip. Nobody. Here's what we changed instead, and what we chose to leave broken on purpose.
Read entry →One message, no forms buried behind chatbots. Expect a reply within a couple of days.