At Booking.com, we don't just develop software. Figuring out how to develop our people -- specifically, our designers -- is one of the fun things I sometimes get to work on. And, naturally, part of that is figuring out how to develop myself as well.

One of the ways in which we encourage our designers to improve or increase their skillset is through peer-to-peer (P2P) learning, where groups of half-a-dozen or so designers form a team to undertake a project on which they can develop a particular skill. This encompasses both 'soft' skills such as mobile design, icon design, or colour theory; technical skills like JavaScript; and proficiency with design-based programs like Sketch and Framer. Groups meet regularly over the course of several weeks, helping each other with their individual learning goals and producing a product at the end of the process to which they have all contributed their time and energy. It provides an opportunity to exercise skills that are either not needed during normal day-to-day work, or that they wish to focus on improving as part of their own career development.

Unfortunately, for remote workers (as I am), it can be hard to participate in this kind of group process. Scheduling meetings is hard enough in a busy company; accommodating one person's travel schedule is next to impossible. And Skype or other online options, while useful, do not come close to allowing true collaboration within a group setting.

I decided to pursue a solo option.

Personal development time

Way back around the dawn of the modern internet, when blogging seemed like it mattered and everyone thought they could be the next Zuckerberg, I decided I was going to create a financial management web app. There were a few services around already; Mint was probably the most successful back then (they're still going today, albeit as a shitty-looking Intuit company -- their promising competitor, Wesabe, folded in 2010), but I wanted something that did exactly what I needed. My dream service would allow me to quickly import the financial transactions from my technically-challenged, export-free bank via the magic of copy-and-paste combined with regular expressions, and produce wondrous graphs and reports to allow me to monitor the ups and downs of our family spending and saving.

Back then, I was more interested in the backend technical implementation details than the design or user experience, and I wrote a handful of blog posts discussing the challenges of ORM and URL naming schemes. Sadly, the project never progressed further than the virtual drawing board, but it has been in the back of my mind ever since, so when I began to consider candidates for a solo P2P project, it was clear what the favourite option was likely to be.

So far I have drawn up a brief summary of functionality, and a shortlist of the technologies and disciplines that I want to either learn or improve at using:

  • RESTful API design - I've done this before, but I'm not really sure I've ever done it entirely right;
  • Facebook's React.js - one of the current hot JS-based technologies that I've not really dug into yet;
  • Build tools such as Grunt or Gulp;
  • SVG icons - the modern standard that I should really learn about instead of being stuck back in the sprite stone age;
  • Sass - I've used this in the past a little, but there is little opportunity to use it on a regular basis at work;
  • Client-side caching with LocalStorage, and possibly app caching.

These primarily technical choices are in addition to the obvious need for UX/interaction design, decisions about colour, and probably a need to design a logomark at some point. I'll be posting occasional updates here, and screenshots to Dribbble as the project progresses.

The only part of my earlier project to remain the same is the name. Besides being a great Violent Femmes track, Add It Up still seems to me to be a splendid name for a finance tracking web app.