A day in two halves. The first was about cleaning up things that were quietly wrong on the live site. The second was a small design experiment that I ended up undoing, which turned out to be the more useful part.
Getting My Email Off the Page
The contact form had my actual address sitting in the HTML. That was a deliberate call when I first built it — it's the same way the old site worked, and it was easier than setting up anything cleverer. But "it's already public" isn't really a reason to keep handing it to every scraper that reads the page, and the site is indexed.
So I took it out. The form now posts through a masked FormSubmit alias instead of the raw address, and the email no longer appears anywhere in the markup. While I was in there I moved the submission over to FormSubmit's /ajax/ endpoint and had it check the JSON response for actual success, rather than assuming the post worked. The form behaves the same to anyone using it; it just no longer leaks the one piece of personal data it didn't need to expose. This is the second time this week a decision I'd justified with "it's already out there" turned out to be worth reversing — the same logic I used on the Lab page yesterday.
Tag Filtering on the Blog
The blog had grown past the point where a flat list of posts was enough. I added tags to the cards and a row at the end of the posts, and wired them so clicking one filters the list in place — no page reload, no separate archive page. The first version had a couple of rough edges: a filter banner that showed even when nothing was selected, and tiles that looked active but didn't actually narrow anything down. I fixed both, so now the banner only appears once you've picked a tag, the active tag shows as its own tile, and the filtering does what it says.
A Logo I Built, Then Threw Away
The brand mark in the nav and footer has always been a placeholder — a small purple diamond, a rotated square with a gradient. Fine, but generic, and it doesn't say anything about what the site is. I'd already drawn a proper mark earlier: an N built out of network ports. The N5 variant of it has little dots above the ports, like the link lights on a switch, with one lit green. I wanted that detail on the ports version, so I merged the two: the port mark with a green active light and three dim ones sitting just above the jacks.
It needed one fix. At its original size the leg of the N dropped straight onto the lights and buried them, so I shrank the letter until it cleared them and the dots read properly. Then I dropped it into the nav in place of the diamond, and into the footer next to the wordmark, across every page.
And then I looked at it and decided no. So I reverted the whole thing — every page back to the diamond, the styling restored. The mark itself is fine as an asset, but dropped into the live header it didn't sit the way I wanted, and a brand mark you're not sure about is worse than a plain placeholder you've stopped noticing. The SVG is still sitting in the assets folder for whenever I come back to it. The useful part wasn't the logo; it was being willing to undo an hour of work the moment it stopped being an improvement.
Shipping the Day
With the logo backed out, I pushed the rest of the day's work to production — the copy and card rework that had been waiting on the local server, the blog generator, and the contact-form changes — and confirmed it on the real domain. The hero stat tiles refreshed themselves from the live Docker host on the way out, the way they're set up to.
What's Next
- Decide whether the port-light logo is worth finishing properly, and if so, design it to actually sit right in the header instead of forcing the existing mark in
- Confirm the masked contact alias is delivering before I trust it fully — send a real test through the live form
- Consider a dedicated tag/archive page if the blog keeps growing past in-place filtering
- Stand up the private dashboard for the full container list that I keep deferring
Two reversals in two days — the email and the logo — and both were the right call. The pattern I want to hold onto is that committing to something doesn't mean keeping it. The contact email had a reason once and the reason expired; the logo seemed like an upgrade until it was on the page. Backing out of either was faster and cleaner than talking myself into living with it.