In 2013 when I was 20 I took a CS class at Brown where we learned Racket and OCaml. At the same time I was reading Learn You A Haskell For Great Good (by reco from my dad). I have strong memories of trying to wrap my mind for the first time around concepts like recursion and functional programming. It was a great time of my life. I owe a lot to that class.
While I was taking that class I was also working on a project that had been in my head since the previous summer, which I spent interning at CloudMine. I had been working with vector graphics on their home page and got really interested in SVG and how difficult it was to compose good vector graphics for the web.
So I figured it would be fun to implement an SVG editor. This ended up lining up really well with the functional programming class at Brown and they both informed each other.
After working on it for a year in my spare time I got exhausted and open sourced it. Now, in retrospect, the code sucks. But back then it was the best code I had ever written. And the people looking didn't spend the time it would take to figure out that it sucks. So it got a lot of attention.
As it turns out the tool is not very useful - it's buggy and has extremely limited functionality. It also falls short when it comes to correctness, which is important for something like an SVG program. The novelty of it was enough to get a lot of articles around the net for a week or two, but traffic slowly died down to about 100 pageviews per day (which has been consistent for the last 3 years). As far as the internet is concerned, mondrian.io is a dead end domain.
I learned a lot from building it though. And the same month I open sourced I moved right on to the next thing, which turned out to be Cryptowatch.
After 2 years I sold that to Kraken and now I work for them, which is great. I love my job and I'm proud to see my creation ascend to a higher status than the last one. Many people use Cryptowatch every day and I get emails from them all the time telling me how much they like it. It's a good feeling.
I learned a lot from building that, too. And now I can't help but go back and look at Mondrian again, and when I do I notice that 3 years later I still don't see anything like what I was trying to build. For anyone wishing to compose vector graphics there's only a few options:
- Pay to use Illustrator
- Use Inkscape for free, which is cluttered and difficult to learn
- Use svg-edit or some other shit, which is even worse than Inkscape
Even with Illustrator I have a lot of issues with UX-wise. It's a very good piece of software all things considered but it's overkill for most use cases and it suffers from years of feature creep.
Basically, Illustrator is the Microsoft Word of vector graphics but nobody has built the Google Docs version. A simpler, web-based, free-to-use editor that fulfills the 20% of needs that matter 80% of the time. Add on some backend functionality and charge for that and you've got a lifestyle business (and possibly a very valuable piece of software).
I'm honestly surprised Google hasn't built it, and now I hope they still aren't because I am. I'm shifting my spare-time focus back to Mondrian. I've started an overhaul of the interface engine and corrected a lot of the "hard parts" college me skipped over the first time because they weren't fun to work on. I plan to deploy the new version sometime before the end of this summer, and pursue that as a software business farther out in the future. The new version will be closed source.
With each project I've had personal growth goals. With Mondrian #1, it was learning how to structure and deploy a serious web project. With Cryptowatch, it was learning how to build a proper backend with high reliablity and strong security. There was also the entire challenge of building a monthly subscription software business. Now with Mondrian #2 and all of that under my belt, my growth focus is software correctness and a more complex level of algorithmic programming. I bought some books and I'm determined to keep challenging myself.
When I dropped out of RISD and started a career in software to feed my newborn kid I had a feeling like I was giving up on being an artist. But now I think that was wrong. I have treated my projects as works of art and slaved over them as such. I feel like an artist after all.