Hello, World

Hi, I’m Curran!

I’ve been working in the field of data visualization for 20 years now. That’s crazy. I started in 2005 at UMass Lowell in a group called the Institute for Visualization and Perception Research (IVPR), headed by professor Georges Grinstein. At first we were developing a monolith application in Java with a focus on linked views, configurable visualizations, and brushing. Then we developed a similar large application in ActionScript, when Flash was still a thing. I became enamoured by 2D graphics with Processing, an amazing project by Ben Fry that had the aim to simplify graphics programming by providing both a language and simple IDE.

When I discovered JavaScript and the Canvas API, I became hooked. There is an immense amount of joy that comes from experimenting with interactive graphics. Unlike other fields like biology, the feedback is instantaneous. You can make a code change and immediately see the results. I developed a special interest in fractals and complex systems at one point. Then I took an internship at Rapid7 in Cambridge, MA where I really learned D3.js and SVG.

I was there at the original IEEE Vis talk where Mike Bostock presented his paper on D3, which was absolutely epic. The presentation seemed to have rocked the entire dataviz community. I finally got around to really learning D3 “on the job” while developing visualizations for a cyber security application at Rapid7. From there I went on do stay a total of 9 years at UMass Lowell, with several stinds in Germany along the way, to get my bachelors, masters, and Ph. D. in Computer Science.

After graduating I took my first “real job” at a Big Data startup in San Francisco called Alpine Data Labs in 2015. I participated in “the grid”, riding my bicycle to work every day, renting a tiny 1 bedroom apartment for way too much money. That’s where I started attending the Bay Area D3 Meetup events, which changed my life completely. I had found in those events a community of like minded individuals. I have immense gratitude for Ian Johnson and Seemant Kulleen who organized those meetups back in the day.

After about a year working at that startup, I decided to start my own business as a data visualization freelancer. In 2016 I left San Francisco, got married, and moved to India for about 5 years. My wife and I lived in Bangalore for about a year, where I set up a D3 meetup there with several successful events. The air pollution and traffic were a bit too much though. We then moved to a small town south of Nagpur, near my wife’s family, where we lived a quiet peaceful existence. I worked for many various clients in those years, mainly in the US but some in Europe. I also started teaching my online data visualization course for Worcester Polytechnic Institute.

In early 2020 we moved back to the US. I took a full time job with Stamen Design, a San Francisco based data visualization and cartography studio who had become my primary client while in India. It was a great experience being a full time employee at an agency. I got to see further into the client pipeline and get a deeper understanding of how a client services organization works in general. After leaving Stamen, I took a full time role with McKinsey and Company where I worked with Jason Forrest as part of the “Data Visualization Lab”. We executed a number of awesome interactive visualization projects, some internal and some directly for clients. It was fascinating to see what it looks like to serve larger clients on larger engagements.

I left McKinsey to focus full time on launching VizHub into a proper indie startup. The idea is that VizHub would be an “accelerator” for client services projects that use D3 for data visualization, and a community hub much like ye olde bl.ocks.org. VizHub has working features for real-time collaboration, instant deployment, embedding, and even an AI-assisted coding feature. I spent an insane amount of time developing VizHub, and its open source editor VZCode. I used VizHub to teach my WPI course, and it works great for that purpose, since it gives students a way to start coding immediately without any setup.

Business-wise however, VizHub fell flat. I must have done something wrong, or built a product that no one needs, since after launching the paid tier hardly anyone signed up. Those that did sign up mostly churned after a month or two. I don’t know how to turn the ship around and make VizHub into a sustainable business, but I still have high hopes of doing so one day. Perhaps VizHub needs to pivot. Should it be a platform for paywalled courses? Should it sell dataviz templates? Should it focus more on using AI to write code and iterate? I’m not sure. If you have ideas let me know!

I returned to client services once again, working on projects for several clients (whose work unfortunately is bound by client confidentiality). Some of the best experiences I had in recent times working for clients has been projects with EJ Fox, who started his own agency Room 302 Studio. We worked on some fascinating projects around environmental conservation and AI. 2024 was a tough year for client services, across the industry from what I hear. It was hard getting clients.

In September 2024 I took a full time job with a cybersecurity startup called Exaforce. One thing that excites me about this role is that I have the opportunity to contribute to the industrial-strength open source project Unovis. This project implements various visualization techniques in such a way that they can be wrapped as components in multiple frameworks, a notion near and dear to my heart. So far it’s been a great experience, and I’m learning a lot about what it takes to build and refine an enterprise software offering.

Anyway, I wanted to create this blog to have a creative outlet and get feedback on my public work. In particular, I plan to build out a unified approach for D3 visualization development based on my most recent course in YouTube: Constructing Visualizations 2024. I’ve been fixated on VizHub for the past few years, but I’m feeling like it’s time to move on and embrace core technologies and reduce dependencies as much as possible. I feel like it’s important to just get into some sort of creative flow on a regular basis, and share what I’ve learned over 20 years of dataviz work for the benefit of all.