Back in January 2024, I wrote about my struggle between perfection and excellence, my evolving approach to Behat and BDD, and my commitment to putting Trendwatch on GitHub. I also set a goal to blog more frequently. Well, here we are in February 2025, and while I didn’t exactly hit the “frequent blogging” mark, I have made progress in other areas.
Trendwatch: A Hobby in Spurts
I’ve come to accept that Trendwatch is a hobby–not in the sense that I casually tinker with it all the time, but in the sense that I work on it in intense bursts, followed by long stretches where I don’t touch it at all.
At its core, Trendwatch exists to serve a very practical purpose: crunching trading data to make my tax returns easier. In the process, it’s also pushing me to level up as a developer. My approach has evolved as I’ve explored Domain-Driven Design, Event Sourcing, and Functional Programming. These concepts weren’t originally on my radar, but as I refine Trendwatch, I keep finding new ways to improve the system–and, in turn, improve my own skills.
This cycle of learning, pausing, and returning with fresh eyes has made the project more rewarding. Even if months go by without a commit, I know that when I do dive back in, I’ll be building on a stronger foundation.
Behat & BDD: Testing as the Foundation
Looking back at my early hesitation with Behat, it wasn’t so much that I doubted the value of testing–I just wasn’t confident in how to write effective, meaningful tests. But as I’ve gained more experience, I’ve become much more comfortable with it. Today, I wouldn’t want to undertake any systems development project without starting with the tests.
Having a solid set of test cases in place gives me the freedom to refactor, redesign, and even rearchitect with confidence. Instead of fearing that a change might break something, I can make bold improvements, knowing that my tests will catch any unintended side effects. Behat, with its focus on human-readable scenarios, has been a natural fit for this approach.
As another benefit, these human-readable tests also serve as a form of documentation. In theory, I could show them to domain experts to validate my understanding of the subject matter–though, to be fair, I haven’t actually done that yet. Still, it’s reassuring to know that the option is there when I’m ready for that step.
GitHub: A Different Approach to Version Control
I said I’d put my code on GitHub, and I did–but not without some trial and error along the way. This time around, I tried a different technique from what I’ve done in the past.
At the beginning of 2024, I was focused and making weekly commits, steadily pushing progress. But I fell behind on actually pushing those commits up to GitHub. Then summer came, and I took a few months off.
When I picked it back up in the fall, I went fast and furious, cranking out changes at a rapid pace. The result? A messy, chaotic commit history. Instead of a clean progression of meaningful steps, I had a tangled web of intermediate commits reflecting the week-to-week messiness of development.
So, I took a step back and spent time cleaning it up. Rather than preserving every small iteration, I restructured my commit history to reflect the significant steps that support the new features I added. Now, my Git history tells a clearer story–one that’s actually useful when I look back on how the project has evolved.
This experience reinforced a lesson worth embracing: version control isn’t just about tracking changes–it’s about curating a history that makes sense.
Looking Ahead
So what’s next? I still want to blog more often, but instead of making big declarations, I’m going to take a “one post at a time” approach. I’ve added a few new tools to my toolkit–Drafts, Logseq, and ChatGPT–that may help me stay more consistent. I’m also exploring alternate publishing sites like dev.to to better connect with the developer community. Engaging with other developers, sharing insights, and learning from their experiences could be a valuable step forward.
At the back of my mind, there’s a bigger goal: I hope I can use this process to resurrect a new professional career for myself. Writing, coding, and sharing my journey might just help open new doors.
As for Trendwatch, I’ll keep tinkering with it–improving what I can, when I can. without overthinking it. And let’s be honest, I’ll continue to overthink it. That’s just part of the process.