Rebuild of my Lock In Intention Timer originally built in Vanilla JS, now as a Vite + React SPA following React principles.
Available at https://stevenlomon.github.io/lock-in-intention-timer/
Looking back at the Vanilla JS version now, it's a wonder and borderline miracle that I found the perseverence to actually see it through and finish it. It's the first thing I built that I felt genuinely proud of and I look back on it very fondly.
And it's only now in re-building it that I can properly appreciate and revel in the engineering and architecture of it. My dedication to making the system orthogonal and non-spaghetti. I think it's a testament to the Vanilla version that I could straight up copy paste over most of the objects from script.js into util files without changing a single thing about them and have them work seamlessly in this Vite React version!
This re-build was super fun and an unexpected bonus that I didn't think of going into it is that I got to overcome my fear of useReducer haha!