It was a small project, and I wrote the initial version in its entirety over the course of a single Thursday. Within two days, it was the most popular piece of code I'd ever written.
While seeing my project go from "one-off-experiment" to trending on GitHub, Hacker News, Twitter, and Reddit was fun, the most exciting thing for me was what happened after the initial surge of traffic wore off. People stopped playing with the demo and they starting using it. There was a version that expanded on my simple demo with more sliders and color control, a remix that pulled in new color palettes from colourlovers, even a fork that used images to get the color mappings. I'd graduated from 'package creator' to 'package maintainer'.
For most people, that's probably not a very exciting transition. If building out new ideas in code is like a sprint, maintaining them is like an marathon with no spectators that never ends. My experience in software development to this point had been as an intern, student, and freelancer - I've never maintained a codebase for more than a few weeks at a time. Now I was doing it in an unfamiliar language, on a project with 3,000+ stars on GitHub.
That's the takeaway here. Maintaining the things that you build is an exercise that can broaden your skill set as a software developer dramatically. That lesson has found its way into my approach to picking side projects, the advice I give to my peers, and the cirriculum for the class I teach.