I’m currently rewriting my first commercial app using Flutter.

It’s been at once a humbling and an empowering experience.

It’s humbling because I wrote it so many years ago, when I was just coming back to programming. The code itself is so… crappy, that if I were to interview a candidate who wrote something like it, I would not hire him.

But the experience is also empowering, because I built the app from the ground up and launched it to market. While the code is crap, it was my crap, and I wrote it. Plus, after all these years, I can see how I would do things differently, which means I’ve improved as a developer. While we’re in the thick of things, making incremental improvements, we can sometimes forget how far we have come.

So while I started rewriting the app due to other reasons (mostly because Flutter is shiny and my app was delisted… thanks Google), I’m finding that the very act of a rewrite is a humbling, empowering, cathartic, validating, as well as being a learning experience. (Flutter is pretty slick!)

So if you have a personal project that has been neglected for many months or even years, I’d encourage you to pick it up and try rewriting it! Here’s one practical tip from my experience so far: older projects usually end up in various states of disrepair. Getting them to build again may require additional work, which will seem like an additional mental hurdle to overcome. Why not avoid that hurdle altogether by using a new framework or a new language? That way you can balance out that drudgery of a chore with the joy of learning something new?