I built a crappy scripting language. The language itself is nothing special. Vaguely ECMAScript. But it was a ton of fun to _evolve_ the language and runtime system over the span of ten or so years.
I have my collection of scripts in that language, some of which were in regular use for a time, and I wanted the changes I made to be as backwards-compatible as possible. Those were some really fun design challenges. Like: "how do you retro-fit a module system into a language that essentially started out with PHP-style source transclusion for re-use?".