Why you should build a developer tool
I’m currently part of an outstanding team building DejaVue, a (not-yet-fully-completed) visualization tool that helps you understand how your Vue.js application is running. I’ve enjoyed the experience so far — it has rekindled my confidence in my ability to build software, provided valuable experience working in a team (shoutout to Scott and Mike!), and has been an opportunity to build something useful for other developers. In fact, I think most developers should be building open-source projects — especially if you’re looking to upgrade your current role, learn a new technology, or simply make coding fun again. If you agree and are curious about how to get started, I’m hoping this brief guide will set you off in the right direction.
Find a need
Coming up with a decent idea can be difficult. You want to find a balance between making something that hasn’t been done, can be done, and would actually be useful. You’ll probably want to start playing around with different tools and technologies. What are you curious about? Can anything be done better? Or differently? There’s a lot out there. Think deeply about something that can be done faster, more efficiently, with less setup, or in a slightly differently way that benefits some niche developers. You don’t have to make something profound that no one has ever achieved before (but please try!). And you’ll probably borrow ideas from existing tools, but don’t feel bad about it: that’s the point of the open-source community.
I won’t be able to narrow down the ideation process for you, but here are some resources that can be helpful:
Cool animation things:
3js for websites with cool 3d animations
D3 for useful ways to represent data using graphical animations (we used this for our project)
Treant for different types of tree visualizations
Places to publish your tool:
Spread the word
After a grueling ideation process, you are now ready to start building. Start by making sure you have a concise idea of what you want to build, and why someone would use it. If you want, you can write about your idea, and what you hope to achieve. Writing will help you gather your thoughts and allow you to reflect on the experience. It will also make your app more likely to gain an audience, which will incentivize you to keep building. Again, good luck!
This is a bit tough to write about, since projects have different challenges. I won’t talk too much about my experience so far (which I first wrote about here), but I will give an update on our tool. We’re ready to release our beta version, which means THERE WILL BE BUGS! And you can only use it when you are building something using Vue.js. We’ll keep updating the project based on if we get feedback (so any feedback is welcome). Otherwise, it should be in a more usable form in a week or two.
To anyone and everyone who has read this far, good luck! Keep building!
Please star us on GitHub!