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
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.