Adrian Rossouw Full-Stack Developer

I am a full-stack JavaScript engineer with fifteen years of industry experience.

I have also been the co-founder of a PaaS startup, a valued core contributor to large open source projects, and founded a successful open source project of my own.

I am based in Cape Town, South Africa, and have been working remotely since 2004.

Full NameFrederik Jacobus Adrian Rossouw
NationalitySouth African
Birth Date28 June 1981
Email portfolio@daemon.co.za
Gtalk adrian@daemon.co.za
Twitter AdrianRossouw
Skype Vertice123
Telephone +27 83 379 1716

Technologies

Javascript Node.js Microservices Websockets Real-time Docker React.js Backbone.js Marionette.js Angular.js D3.js Famo.us CouchDb ElasticSearch MongoDB PostgreSQL MySQL Python PHP Coffeescript Less Sass Jade GeoData Responsive Design Continuous Integration

Employment History

CTO at Wayfinder May 2014 - November 2014

node-js microservices javascript react-js famous docker webpack continuous-integration

Responsible for the design and implementation of a distinctive knowledge sharing tool oriented around building narrative around lists of links.

Lead our team of five full-stack developers in the process of migrating to a microservice based architecture, with a brand new front-end written in React.js. The devops side was handled by a custom Docker based tool that we used to deploy all our services.


Lead Architect at GoBe.me May 2012 - March 2014

node-js javascript backbone-js marionette-js continuous-integration couchdb elasticsearch grunt-js browserify cordova

Responsible for design and implementation of online simulation and decision support platforms.

Making critical technology decisions about the entire system infrastructure.

Ensuring that best practices are followed, such as consistently maintained unit tests tied into continuous integration systems and release management.

Publishing our MVC development framework as an open source project to encourage the team to properly separate concerns.


Developer at DevelopmentSeed March 2009 - April 2012

node-js javascript couchdb backbone-js geo elasticsearch jekyll drupal php inkscape svg d3-js mapbox mysql puppet linux

I was initially employed as a means of funding the open source Aegir project, that I had founded while working for my previous employer. I stayed on with them and transitioned into a more development support and system automation role, and eventually working with them on various client projects.

During my time with them we all made the decision to refocus our energies on Node.js, and proceeded to find new maintainers for several successful open source products we had built using Drupal. They have built many data driven sites with very complex mapping components since then, and I was involved in many of their projects during that time.


Developer at Raincity Studios November 2007 - December 2008

drupal php mysql postgresql python linux

Responsible for the maintenance of the hosting system I had built before being acquired.

I was also tasked with a completely rewritten replacement for the aging system, that took into account all the lessons we had learned, and would allow for us to offer more functionality to our clients.


Co-Founder of Bryght June 2004 - October 2007

drupal php mysql postgresql python linux

Bryght was the first Drupal services company, co-founded by myself and some other developers.

I built and maintained a PaaS at bryght.com, that allowed for turnkey deployment of Drupal sites.

To monetize this system I also built a custom ecommerce solution, with reseller capabilities, to allow for recurring payment of the sites.

Part of my responsibilities were to push through significant improvements to the Drupal platform, and a large portion of my time was spent working directly on the Open Source underpinnings that drove the company.

Bryght was purchased by Raincity Studios, our biggest client, in November of 2007.


Application Developer at Obsidian Systems May 2001 - May 2004

php mysql tcl python postresql linux

Obsidian was arguably the largest company in South Africa solely focused on Linux and Open Source.

My primary motivation for seeking employment with them was to be able to focus on various open source technologies, at a time when the majority of the local industry were tied to Microsoft products.

I was involved in a number of projects including multiple web portals written in PHP, a cross-platform desktop application written in Tcl/TK, and a touch screen point-of-sale system written in Python.

Selected Projects

The Graft Project June 2014 - Present

node-js javascript microservices go websockets spdy realtime docker

Co-Founder of the Graft Project, which explores what the web could become, if we extended microservice architectures into the client.

This is all based around our javascript implementation of Docker’s libchan library, as a transport mechanism for a new era of finely grained and isomorphic web services.


Wayfinder May 2014 - November 2014

microservices node-js javascript react-js mongodb webpack extensions docker elasticsearch logstash kibana AWS ember famous

Wayfinder is a tool that allows you to collect several links on a subject into one page that can be shared with others. I first discovered the product as a user, and joined to help build a next iteration of it.

We replaced the ember front-end with a much cleaner and simpler react-based one and migrated from a monolithic architecture on the back-end, to a microservices one. We also needed to build a custom Docker-based tool to manage the deployment of our microservices.

This allowed us to work on individual parts of the system without greatly affecting other developers with our changes.


Werewolves.io October 2013

voip tropo socket-io webrtc xmpp sip node-js coffeescript mocha-js jade state-js backbone-js marionette-js grunt-js browserify phantom-js socket-io

VOIP-based multiplayer game for 7-16 players. Leverages WebRTC to work directly in a browser window without requiring any additional plugins.

We recorded many hours of narration, which is stored on the VOIP service provider’s servers, so that we can we dynamically play these recordings to the players in the same way that you would play hold music on a PABX system.

Each player is connected to a teleconferencing system that the application controls by selectively shifting the players between different conference rooms, and controlling whether they can hear or speak to other players based on the shared game state.

The experience is akin to being part of an interactive audio drama.


Browsr September 2013

angular-js javascript couchdb elasticsearch couch-app node-js bower grunt-js jade

Tumblr Picture Browser. I built this demo over a few weekends to experiment with a bunch of technologies that I was curious about.

This application will scrape entire sites to mirror them locally on a CouchDB database, and provides an Angular.js-based Couch-App as the front end. It then integrates with an ElasticSearch to allow you to build faceted cross-blog searches on various fields. I also built some rudimentary tablet support into the application.


GoBe.Me@work December 2012 - Present

node-js javascript backbone-js marionette-js d3-js couchdb elasticsearch bootstrap less gulp-js jade browserify cordova continuous-integration mocha-js

One of several vertically integrated products I have built while at GoBe.Me. It provides career guidance support to job seekers through it’s analysis of a variety of data sources, but most significantly it makes use of proven psychological assessments to form a more cohesive personality profile of the consumer.

The goal of the application is not to match you with any job, but rather to find a career path that is more likely to be fulfilling to you as a person and therefor improving your quality of life.


Helvetica Cardigan November 2012

node-js javascript backbone-js marionette-js socket-io redis

Realtime Collaborative Fridge Poetry. This demo application was built in 48 hours as our entry into the 2012 Node Knockout Hackathon.

Allows for a shared virtual fridge where all participants can re-arrange the words and have them be updated in realtime on everybody else’s screens. You are able to create and share custom fridges based on your own sets of words.


Atlas Project Toolkit December 2011 - March 2012

node-js javascript backbone-js geo mapbox inkscape svg nginx

We partnered with the Atlas Project to build out the mapping component of their election data visualization toolkit.

The system allowed for the dynamic composition of maps from hundreds of data layers that represented every local or national election in the last several decades in the United States.

The data was further broken down into dozens of demographic indicators, allowing one to trace the shifting attitudes of various cross sections of society over time.


Global Adaptation Index July 2011 - September 2011

node-js javascript couchdb backbone-js geo mapbox inkscape svg nginx

The Global Adaptation Index™ (GAIN™), a project of the Global Adaption Institute, provides a data-driven approach to help countries and the private sector invest in adaptation to climate change and other global forces.


Business for Good Map May 2011 - March 2012

node-js javascript backbone-js couchdb elasticsearch geo inkscape svg mapbox

The Business for Good Map shows where and how businesses are improving communities and lives all over the world. The platform is a tool for businesses to connect, find partners, discover ideas, and share best practices and lessons learned.


Federal Education Budget Project January 2011 - May 2011

node-js javascript couchdb geo elasticsearch mapbox inkscape svg nginx

We partnered with the Federal Education Budget Project at the New America Foundation to help better communicate how each U.S. school district compares to its surrounding districts, how it performs relative to other districts in its state, and how it compares to other schools in the country across a range of indicators. The custom data browser shows each school district on a map next to its neighbors using custom mapping tools.


The Aegir Project November 2007 - April 2011

php mysql unix drupal bash openssl bind apache nginx javascript

Aegir is an open source project that I founded, that builds a cloud-based hosting platform for Drupal, using nothing but command-line PHP scripts and sheer determination.

I built a community around the project, and was able to successfully hand off the project to my co-maintainers when the project reached the 1.0 milestone.


Drupal December 2002 - April 2011

drupal php mysql postgresql css3 linux javascript

I was deeply involved with the Drupal content management system for nearly a decade. I was responsible for the design of a series of APIs that became the very foundation of how the application evolved.

I attended nearly a dozen Drupalcon’s around the world, and I presented to large crowds of developers at eight of those conferences.