How Personal Projects Keep Me Sharp

I’ve been working on a personal coding project to stay sharp and keep learning. It’s not about making money—it’s about challenging myself, exploring new tools, and building something useful. Whether it succeeds or not, the process itself is the reward. Here’s what I’ve been working on.

How Personal Projects Keep Me Sharp
Seattle water front (2024)

Last week, I wrote about my entrepreneurial itch and my search for ideas to stay sharp and challenged as time goes on. This isn’t anything new, and as I mentioned in that post, the entrepreneurial itch I’m referring to isn’t about making money or building a thriving business—though I’m certainly not against either. My goal is to keep myself excited, motivated, and constantly learning. I want to challenge the salesperson in me: Can I create something that someone else finds valuable enough to pay for? That’s the challenge, and that’s what I’m aiming to accomplish.

While working on a project last week, I had to connect to different database systems and write queries to extract data. I realized how difficult this can be for someone without experience in multiple database syntaxes—MongoDB, MS SQL, MySQL, PostgreSQL, etc. While these database systems share similarities in syntax and data types, they also have significant differences. Knowing one doesn’t necessarily mean you can seamlessly query another.

That’s when the idea for a tool emerged—something I could build for my own use. An app where I could type any SQL query and execute it against any database system. Initially, it would simply return the data, but I could modify it to export the results as a CSV file. This could be useful not only for developers but also for business analysts or product managers with some SQL knowledge. A natural enhancement would be to allow users to type English-like commands and retrieve data that way. While some AI tools already claim to do this, I’m excited about building something that lets you write plain SQL to query, say, a collection in MongoDB.

Projects like this keep me engaged, push me to learn, and expose me to new tools and technologies.

I’ve been working on this since last week, and although it’s still in the early stages, I already have a prototype with a basic interface where I can type SQL commands and retrieve data from a sample MongoDB collection. The next step is to add a configuration area where I can input a connection string, allowing me to connect to any database simply by changing the connection details in the UI.

This project is also a great excuse to try JetBrains Rider, a cross-platform IDE that lets me develop a .NET application on my Mac—my framework of choice for this project. I’m using Rider for coding and debugging since it offers many useful features in that area. Additionally, I’m using VS Code for quick edits and leveraging Claude (via Copilot) for code suggestions—it’s much better integrated into the editor than when I last tried it months ago.

Coding at work presents its own challenges and keeps me engaged, but personal projects like this give me complete freedom to use whatever tools and approach I want. I think that flexibility is what has reignited my enthusiasm for coding.

I’ll keep working on this, and while it may never evolve into a full-fledged product or tool, it will certainly sharpen my skills and might even spark other product ideas—maybe even a business. No matter the outcome, I always walk away from these projects having learned something valuable.

If you’re looking to learn how to code, there’s nothing more satisfying—or effective—than diving into a personal project and just coding away. With so many resources and AI-powered code assistants available today, there’s no excuse not to start.

Have a great weekend!