Vue FesJapan 2026
The main visual of Vue Fes Japan 2026. It features a silhouette of a V, representing Vue, and a circle, representing the Japanese flag, side by side. The colors are deep matcha-like shades derived from the two colors, and the circle features a Japanese gold marbling pattern.
OtemachiPlace Hall & Conference

Speaker

MedPeer Track
17:20 - 17:50
ushironoko

Migrating 10,000 Lines of Untyped, Untested Domain Logic from Vuex to Pinia

At Studio, we have a decade's worth of accumulated Vue.js code assets from our development history. While this code still supports Studio's hot paths today, every time new code was added, the old code — especially the domain logic held within Vuex — ached like an inflamed wound. Even now, in 2026, in an era where coding agents have become the norm, this problem had gone untouched, and there was a shared understanding that the longer someone's tenure, the less likely they were to be the one to take it on. In this talk, I'll share how I, just three months into the job at the time, confronted this challenge and saw it through to completion. I'll cover the Vuex/Pinia migration itself, how to make effective use of coding agents, and the mindset needed to tackle a challenge like this, in roughly a 3:4:3 ratio. I'll also touch on the positive impact the move to Pinia had on broader efforts afterward, including improving module dependencies and domain modeling across a wider scope.

ushironoko

Affiliation
Studio, inc.
Title
Frontend Engineer

ushironoko

Affiliation
Studio, inc.
Title
Frontend Engineer

Migrating 10,000 Lines of Untyped, Untested Domain Logic from Vuex to Pinia

At Studio, we have a decade's worth of accumulated Vue.js code assets from our development history. While this code still supports Studio's hot paths today, every time new code was added, the old code — especially the domain logic held within Vuex — ached like an inflamed wound. Even now, in 2026, in an era where coding agents have become the norm, this problem had gone untouched, and there was a shared understanding that the longer someone's tenure, the less likely they were to be the one to take it on. In this talk, I'll share how I, just three months into the job at the time, confronted this challenge and saw it through to completion. I'll cover the Vuex/Pinia migration itself, how to make effective use of coding agents, and the mindset needed to tackle a challenge like this, in roughly a 3:4:3 ratio. I'll also touch on the positive impact the move to Pinia had on broader efforts afterward, including improving module dependencies and domain modeling across a wider scope.