Ship Week Diaries: How v8.5 Turned into a Product Identity Rewrite
A non-developer's chaotic but practical log of the v8.5 week: domain switch, i18n expansion, referral integration, and all the tiny decisions that made CryptoBacktest feel real.
More in Build Notes
- The VORA Overhaul: Dropping Real-Time Q&A, Building Human-in-the-Loop Memos, and a Three-Column Layout
- Mobile-First Playground: Making an Astrology Grid Actually Work on a Phone (And Go Viral While Doing It)
- How I Fixed AI Over-correction
- I Spent 3 Hours Trying to Proxy a Blog Subdomain. Here's My Descent Into Madness.
- The i18n + SEO Cleanup Chronicles: Canonical Chaos, hreflang Therapy, and Other Adventures

I thought v8.5 would be a normal release.
You know, "fix a couple things, polish a button, maybe drink tea and feel like a responsible adult."
Instead, it became one of those weeks where you touch everything:
- language defaults
- URL structure
- referral placement
- page consistency
- and a lot of "wait... why is this still Korean on the EN page?"
If you've never shipped a product before, this is a public service announcement: the big release is never one big change. It's 40 medium decisions and 120 tiny ones that all want attention at the same time.
๐ The Real Context Behind v8.5
The commit that framed this week was:
b6b4ccd(2026-02-14): "Update to v8.5: English default landing page, i18n support, and Binance referral integration"
That commit message sounds clean and elegant. The inside reality was more like:
"Okay, we need this to work in both languages, look intentional, not break old links, and still feel like one product."
Classic small-team chaos. Very on brand.
๐ What Actually Changed
In one release phase, we pushed:
- English-first landing flow
- Expanded language support across multiple pages
- Binance referral integration in strategic spots
- Structural sync across app/finder/lab/blog/legal pages
This is the type of change that looks like marketing polish from the outside, but from inside it is mostly:
- file synchronization discipline
- consistency checks
- repetitive edits that are easy to get 95% right and 5% dangerously wrong
๐ฏ "One Product" Is Harder Than It Sounds
We had pages that individually worked, but didn't always feel like one coherent app.
That gap matters more than people think. Users do not say "the brand system lacks consistency." They say "this feels a little sketchy" and bounce.
So a lot of this release was less about adding shiny features and more about reducing friction in trust.
๐ธ Screenshot-Driven Sanity Checks

One practical tactic we used: screenshot-driven QA.
When you're moving fast, you miss weird details in code review:
- spacing mismatch
- wrong language token
- stale CTA copy
- odd contrast in one route only
Screenshots make those defects painfully obvious. Painful = good. Pain means you found it before users did.
๐ป Code Change That Looks Small but Means a Lot
The AdSense insertion commit (239adb6, 2026-02-10) is a good example of "tiny line, big product implication."
A single async script tag โ the standard AdSense integration pattern.
That's one line.
But that one line represents:
- business model testing
- policy compliance responsibility
- performance tradeoff concerns
- "does this feel too aggressive?" design judgment
In indie products, small technical changes are usually business changes wearing a coding hat.
๐ The Domain Shift Wasn't Cosmetic
Commit 0ab802a updated routes to cryptobacktesting.pages.dev during that stage. Domain updates are never just search/replace.
They touch:
- canonical expectations
- future SEO cleanup scope
- what users copy-paste to each other
- every screenshot and doc where URLs appear
Translation: if you change domain casually, you'll pay later with interest.
๐ฐ Referral Integration Without Feeling Pushy
The v8.5 direction included Binance referral placement. This is where product taste matters.
Too hidden:
- no one finds it
Too aggressive:
- users feel baited
The middle path:
- contextual placement where value is obvious
- transparent language
- no fake urgency nonsense
If a product says "free tool," the UI has to still feel free. People can smell manipulative monetization in like 0.4 seconds.
๐ง What I Learned as a Non-Developer Builder
I don't come from classic engineering training, so my early instinct was:
"Feature shipped = success."
Now I think:
"Feature and coherence shipped = success."
v8.5 taught me that product maturity is often less about adding systems and more about making existing systems align.
๐ Honest Postmortem
What went well:
- release scope was ambitious but shippable
- key pages stayed functional
- direction became clearer, not noisier
What hurt:
- cross-page consistency cost was higher than expected
- i18n sync overhead kept surfacing
- every "small tweak" had side effects somewhere else
What I'd do next time:
- pre-ship checklist per page type
- screenshot diff pass as a mandatory gate
- stricter naming and route map before content updates
๐ The Reusable Ship-Week Checklist
Things I now run before any v-bump that touches more than three pages:
- Domain map check: every canonical, every
og:url, every link the support inbox might paste. Search-and-replace lies; one stale URL always survives. - Language token sweep:
grepthe entire repo for the lone Korean character that always survives an "EN-only" pass. There is always one. - Referral / monetization placement diff: screenshot before and after, side by side. If the "after" feels pushier even by 10%, dial it back before shipping, not after.
- First-paint test on the slowest device you own: if it stutters on a three-year-old phone, it stutters in roughly a third of your traffic.
- One-page-per-route visual check: open every route in two windows (mobile + desktop) and stare for two minutes. Two minutes always finds something.
If a single checklist item consistently finds nothing for three releases in a row, drop it. Otherwise keep it. Ship hygiene compounds โ and a release that doesn't need a hotfix the next morning is worth a lot more than one that ships on time.
๐ก Final Thought
Big release weeks are basically controlled chaos.
You don't "win" by being perfectly calm and elegant. You win by making a lot of decisions quickly without losing product integrity.
And yes, sometimes by noticing one weird CTA alignment at 1:48 AM and fixing it before your coffee goes cold.
Written by
Jay Lee
Korea-Licensed Pharmacist (#68652) ยท Senior Researcher
Korea University, College of Pharmacy (B.S. + M.S., drug delivery systems & industrial pharmacy). Building production-grade AI tools across medicine, finance, and productivity โ without a CS degree. Domain expertise first, code second.
About the author โRelated posts