While CTO at Mobivity, I got the job to rebuild the current Subway offer management system from the ground up, with no dependencies, and a target of handling at least 100 million customer wallets and 100 million transactions per day.
This level of scalability was a huge challenge, and the timeline of six months to design and deploy before the old system was deprecated was an additional challenge. The solution was to be 100% AWS cloud native, and built with CI/CD techniques so that the entire platform could be torn down and rebuilt at will.
The platform came in on time and on budget, and has been running since 2020, serving millions of discounts to customers in the web app, mobile app, and in store at the point of sale.
Subway uses it for TV and print advertising witih multi-use promo codes, sends individual (QR) offers to each member each week via email, and places single use offers in loyalty member wallets accessed via the Subway App.
When I joined Mobivity as VP of Engineering, Mobivity had a great high volume SMS messaging platform, but no MMS capability. When a large Hamburger and fast food customer demanded MMS, we had to build a platform fast. I designed, wrote, tested and deployed the working prototype within 30 days. My solution handled 250 MMS per second with ease, allowed multi-media content including audio, gif, image and video, and had multiple levels of fail safe and redundancy. It was built entirely in Amazon Web Services (AWS) using Simple Queing Service (SQS) to buffer messaging in and out, and AWS Lambda functions to handle massively parallel message delivery to aggregator HTTP APIs. Later I added Google's RCS messaging capability to the platform. As CTO my team added a beautiful GUI to the service and it became perhaps the highest volume commercial MMS/RCS service in use in the US.Mobivity SmartMessage
I wrote the p-server to provide a very fast low level application server that processes socket connections (including http). It's fast, light, multithreaded and maintains persistent, pooled connections to mysql, mongodb and memcached to enhance performance scalability. The p-server is still in use at the core of the Outspoken SMS/MMS service, and handles hundreds of millions of requests each month. The p-server is written in straight ruby with very few dependencies on gems or even Ruby class libraries.
The p-server is serving the page you are looking at right now!
I worked with a company patent attorney to file (in 2007) for a patent covering aspects of the Mogreet MMS video platform. After several years the patent was granted (Jun 4, 2013), and is now referenced by other patents filed by IBM, Google, and others. Pretty cool!Google Patents Reference
I designed and documented the set of SMS, MMS, and video APIs, then worked with a few guys at Mogreet to build and implement the API platform, the developer web site, and all the API documentation. I then became the Developer Evangelist for the program, and still help developers (over 1600 and counting as of 2014) implement and use the APIs.Mogreet Developer APIs
I was one of a number of Technical Directors working on this project. We helped build a technical pipeline to organize the modeling, textureing, lighting animating and rendering work of the 200+ artists who worked on the film.
IMDB entry for the Barnyard
The folks at New Riders Publications approached me at Siggraph 1996 and asked me if I would be interested in writing a book on professional 3D software. The final work was 760 pages, full color, hard cover, and eventually was published in Spanish, Mandarin, Japanese, Polish and probably a few other languages. It was the first in what became a genre of how-to books about high end 3D animation software.View Project
I wrote a streoscopic rendering (camera) shader for the mental ray rendering engine in C++ as a prototype and experiment in stereo rendering for the barnyard project. The shader had a Softimage XSI SPDL (plugin) interface.Mes_Lens on Github