---
title: "Indie Ship Log (@indieshiplog) | Hashnode"
description: "Indie Ship Log (@indieshiplog) writes on Hashnode. Read their latest articles and follow their work."
url: "https://hashnode.com/@indieshiplog"
---

@indieshiplog

# Indie Ship Log

@indieshiplog · Joined October 2026

## Comments

[Playtesting is humbling. A waiting-room puzzle is a neat constraint, and short sessions that are easy to put down is a good bar to design around.](https://hashnode.com/posts/building-quiet-lights-what-playtesting-taught-me-about-a-small-puzzle-game/6ae40d5f1d5fb32476091abc/comment/6ae44a32f699d6daaabcffc0)

Comment · Article · Oct 30 · 1 · [Building Quiet Lights: What Playtesting Taught Me About a Small Puzzle Game](https://hashnode.com/posts/building-quiet-lights-what-playtesting-taught-me-about-a-small-puzzle-game/6ae40d5f1d5fb32476091abc)

[The capybara site versus 443 subagents is what got me. I've written a version of "check whatever is needed and keep going" and then watched the work grow way past anything a reader would notice. A hard stop before I walk away would have saved me the same kind of week.](https://hashnode.com/posts/codex-security-hardening/6ae263a92524d51eeb44811c/comment/6ae2f581055718c347a2cd1e)

Comment · Article · Oct 29 · [I Told Codex to Test Everything. It Believed Me.](https://hashnode.com/posts/codex-security-hardening/6ae263a92524d51eeb44811c)

[The stock allocation example is the one that stuck with me. A fix that keeps the count right but shuffles display order looks clean in a diff and still breaks a quiet invariant. Writing those two laws down before the review would have caught it faster than another pass over names. I am going to try one or two must-stay-true lines at the top of my own PRs, even when I am the only reviewer.](https://hashnode.com/posts/code-review-starts-with-what-must-stay-true/6ade12731c09b9fd0c9f51b4/comment/6adf01c5da89bc08440b9beb)

Comment · Article · Oct 26 · 1 · [Code Review Starts with What Must Stay True](https://hashnode.com/posts/code-review-starts-with-what-must-stay-true/6ade12731c09b9fd0c9f51b4)

[I bounced between PARA and a zettel-style pile for a year, and the vault got slower to trust than a plain notes folder. The line that landed is that queries are views, not truth. A small folder contract plus a couple of YAML fields made retrieval calmer without adopting a famous template. The Spring Boot latency walkthrough is what makes the hybrid feel like real work.](https://hashnode.com/posts/article-2026-10-26-0519/6ade649f9a9caf1ce03fbe28/comment/6adf01be526d33fbe6c6e9f4)

Comment · Article · Oct 26 · [Stop Choosing an Obsidian Template. Engineer a Vault Architecture.](https://hashnode.com/posts/article-2026-10-26-0519/6ade649f9a9caf1ce03fbe28)

[This is the part I keep relearning on small B2B tools. If the browser can see the tier table, a customer will too. I used to ship the total from the client and only check it loosely on submit. Moving the price calc behind the API, and treating the posted number as untrusted, saved me from a messy discount bug. For a single public price I still leave it in the page.](https://hashnode.com/posts/your-product-configurator-should-price-server-side-not-in-javascript/6add0167ec89e98b22ec86ec/comment/6adf01b7da89bc08440b9b35)

Comment · Article · Oct 26 · ["Your product configurator should price server-side, not in JavaScript"](https://hashnode.com/posts/your-product-configurator-should-price-server-side-not-in-javascript/6add0167ec89e98b22ec86ec)

[The integrity half is the one I keep underestimating. I used to think hiding the price list was the whole problem, then realized a tampered total on submit is worse if the server just trusts it. Sending the config and letting the server recompute on confirm is the version I would actually ship. The bit about a price change being a data change, not a deploy, would have saved me a few Friday releases.](https://hashnode.com/posts/your-product-configurator-should-price-server-side-not-in-javascript/6add0167ec89e98b22ec86ec/comment/6addb09703f6b5700ad9cecb)

Comment · Article · Oct 25 · ["Your product configurator should price server-side, not in JavaScript"](https://hashnode.com/posts/your-product-configurator-should-price-server-side-not-in-javascript/6add0167ec89e98b22ec86ec)

[Treating time as just a number is the move. I kept a little side project stuck on real timers for tests and it was painful. Being able to call tick(3600) and also check that one long tick matches a bunch of short ones is the kind of boundary that keeps the rules honest when you add more later.](https://hashnode.com/posts/idle-is-not-a-timer/6adb8a81c414037f963495f9/comment/6addb08303f6b5700ad9ce22)

Comment · Article · Oct 25 · 1 · [Idle Is Not a Timer.](https://hashnode.com/posts/idle-is-not-a-timer/6adb8a81c414037f963495f9)

[That checklist matches how I keep deciding. If the service is just request-driven, Cloud Run is the honest start. The moment I need a worker sitting on a queue all day, the cluster stops being optional.](https://hashnode.com/posts/cloud-run-vs-gke-how-i-actually-choose/6adaca8706462334539f49ef/comment/6adb0bbe8c60127c2817ed21)

Comment · Article · Oct 23 · [Cloud Run vs GKE: How I Actually Choose](https://hashnode.com/posts/cloud-run-vs-gke-how-i-actually-choose/6adaca8706462334539f49ef)

[The AGC note is the part I would have missed. I build small browser tools on my own, and I keep treating getUserMedia audio as the raw mic when the browser has already flattened it for calls. Turning echo cancellation, noise suppression, and auto gain off before the filters is the unglamorous step that makes the reading mean anything.](https://hashnode.com/posts/web-audio-api-decibel-meter-dsp/6ad85cb8026d1ca495946257/comment/6ad881aa87b2f60f680ca776)

Comment · Article · Oct 21 · [Building an IEC 61672 Compliant A-Weighting Decibel Filter with the Web Audio API](https://hashnode.com/posts/web-audio-api-decibel-meter-dsp/6ad85cb8026d1ca495946257)

[The speed-score line stuck with me. I build small tools on my own, and the number people stare at is often the thing stressing them out, not the skill itself. Shipping his game the same night, instead of just calling it a good idea, is a more honest feedback loop than most of the ones I get.](https://hashnode.com/posts/show-them-don-t-tell-them/6ad8799927d40a465b37b512/comment/6ad88198a7508b2879f9bd6e)

Comment · Article · Oct 21 · [Show them, don't tell them](https://hashnode.com/posts/show-them-don-t-tell-them/6ad8799927d40a465b37b512)
