Refactoring the Workshop
Rebuilding a bike maintenance stack from scratch—from professional roots to family essentials in Spain.
The Migration Headache
Ever tried to migrate a massive, stateful legacy system to a new cloud region with zero downtime? That was my life in 2024. But here’s the thing about technical debt: it follows you.
My “Legacy System” wasn’t the physical tools—I’d sold those off before leaving Israel. The debt was in my head. My experience as a consultant in a small local MTB shop in Saint-Petersburg fifteen years ago had programmed me with a “pro-shop” bias. When we lived in Israel, I acted on that bias and built a monolith: a massive toolset, a wheel balancing stand, the works. It was classic Over-engineering.
Now, standing in my garage in Spain with two Merida Big Nine 60s and my son’s Specialized Hotrock 24, I realized I didn’t need to rebuild the data center. I needed to refactor for efficiency. I needed a modular set of microservices.
The “System Architecture”: A Modular Toolchain
Instead of a “buy-it-all” approach, I’ve decoupled the maintenance into three high-performance modules.
1. Edge Computing: The “On-The-Trail” Kit
This is for high-availability fixes. If this service fails, the “user” (my oldest son) has a total system crash 5km from the trailhead. I’ve packed this “payload” into a SKYSPER 20L backpack, organized in Zip-lock bags for modular access:
The Processor: Crankbrothers M17 multi-tool.
Error Handling: KMC Missing Links (9 and 7-speed) + 2x Pedro’s or Park Tool tire levers.
Redundancy: Kenda tubes (29x2.2 and 24x1.95) + Park Tool GP-2 pre-glued patches.
Hardware Peripherals: hand pump with manometer + 2x small microfiber towels (Dirty/Clean).
On-the-fly Patches: Small 60ml Finish Line Dry Lube + a travel-size Teflon spray (MO-94/GT85).
2. Maintenance Scripts: The “Dry-Clean” Routine
Think of this as your cron jobs. It runs weekly to prevent system degradation. Here is the deployment logic:
Mechanical Cleaning: Back-pedal the chain through a dry rag to remove “big” grit.
Rinse (Optional): If you hear “sand grinding” in the gears, flush it with water.
Stanchion Wipe: Clean the shiny bits of the fork with a dedicated rag.
The Teflon Interface (Conditional Logic):
if (no_rinse): Spray Teflon onto a rag (not the bike) to wipe the chain/bolts.else if (rinse_performed): Protect the brakes and spray Teflon directly onto the chain for water displacement.
The Wipe-Down: Use that Teflon-soaked rag to wipe the chain and bolt heads. This microscopic film stops the Spanish salt air from “bit-rotting” your hardware.
Re-Lube: Apply Finish Line Dry Lube to the rollers.
Final Wipe: Wait 60 seconds for penetration, then wipe off excess.
3. Core Infrastructure: The “Yearly Service”
This is the “bare metal” hardware needed for the deep dives.
Health Monitoring: A Chain Wear Indicator. If it hits 0.75, the chain is “deprecated” and needs replacement.
The Interface: A thin-profile 15mm Pedal Wrench. You can’t hack this with a standard DIY wrench.
Environment Setup: A Floor-to-Frame Stand. I found one for €30 on Vinted—a small investment for a massive increase in “developer comfort.”
JIT (Just-In-Time) Dependencies: Specialized tools like the Cassette Lockring Tool and Cable Cutters are in the “backlog.” I won’t buy them until the specific part needs a “version upgrade.”
The Bonus: “Season Deep Clean” (System Integrity Audit)
Once a season, we need more than a script; we need a full System Audit. This is where we check for “memory leaks” and hardware degradation.
The Audit Kit
Garbage Collector: Bio-Degreaser (Finish Line EcoTech).
The “Gherkin” Brush: A drivetrain detail brush with a “claw” for digging out grit.
Linter Tool: Chain Wear Indicator.
The Protocol
Pre-Wash & Degrease: Remove the mud, then spray degreaser on the gears. Let the “Garbage Collector” run for 3 minutes.
Scrub & Rinse: Use the “Gherkin” claw to dig out grit. Rinse with low-pressure water.
Water Displacement: While wet, spray Teflon on the chain, bolts, and derailleur springs to prevent oxidation.
Dry: Use a microfiber towel. Crucial: If the chain isn’t dry, your lube won’t “deploy” correctly into the metal.
Re-Lubrication: Apply one drop of Line Dry Lube to each roller on the inside of the chain while back-pedaling.
The Wipe-Down: Wait 60 seconds for the lube to soak into the “inner pins.” Then, use a clean rag to wipe off the excess. The chain should be lubricated on the inside, but dry to the touch on the outside to prevent sand from sticking to the surface.
The Health Check (Static Analysis)
Dependency Check: Use the Chain Wear Indicator. If it hits 0.75, the chain is deprecated—replace it.
Brake Validation: Check for 1mm thickness. Safety is a non-negotiable fail-safe.
Indexing: Shift through all gears. If it “clicks,” adjust the barrel adjuster by 0.5 turns (like fine-tuning a config file).
Cable Integrity: Look for “blooming” silver wires. If a cable is untwisting, it’s about to crash. If shifting is “crunchy,” the cable is “dragging” in the housing—likely a rust/dirt bottleneck.
Load Balancing: Spin the wheels. If they wobble >3mm, they need balancing (truing).
The Debugging Phase: Ego vs. Reality
The biggest “bug” I encountered was my own Professional Ego. Because I worked in that shop in Saint-Petersburg and maintained a “perfect” setup in Israel, I felt like a “junior” by not having every professional tool immediately.
I had to debug that thought process. In software, we call this YAGNI (You Ain’t Gonna Need It). For a Merida Big Nine 60, I can “debug” a wobbly wheel by watching it against the frame. I don’t need a $300 truing stand to verify a fix.
The real challenge is Onboarding the Junior Dev (my son). When his Hotrock 24 starts “clicking,” the latency between my coaching cue and his execution is high. Keeping his bike “clean” via these scripts reduces the “noise” in his learning process. A smooth drivetrain is just a better UI for a kid.
The “Merged PR”: Log Summary
The “monolith” workshop is officially decommissioned. It’s been replaced by a streamlined, purpose-built kit, neatly “containerized” in Zip-lock bags within a single backpack.
Status: Healthy.
Packaging: All trail tools isolated in Zip-locks for weatherproofing.
Uptime: All family bikes are 100% operational.
Backlog: Need to keep an eye on the brake pads; we’re approaching a “major version” update there.

