Consulting

The Overview

I've been working as a freelance software developer since early 2009 and generally have between two to four active client projects at any given time. Thus far my contracts have been concentrated in three distinct areas: web applications using PHP and Javascript, mobile applications (iPhone, iPad, Android) using Titanium, and Windows applications (specifically high frequency trading applications) using C++ and C#.

To get an outside view of my capabillity, here's what Mike Arrington had to say about me on TechCrunch back in 2006:

What's most impressive about Preezo is that it's the creation of a single developer, Jason Roberts. Given the number of established competitors in the market already, I wouldn't be surprised to see Jason quickly join a bigger company. If that's the case, Jason just built himself one hell of a resume.

My current rate is $200 per hour and while I don't always have time available for new clients, if you have project you think I could help you with then please feel free to contact me.

 

Areas of Expertise

Web Applications (Front-end & Back-end)

I've been building web applications for over twelve years with my specialities being in Javascript, PHP, MySQL, HTML and CSS. I've generally worked solo or in collaboration with maybe one other developer and as a result I'm equally strong at building the front-end (the cool AJAX stuff) as I am at building the back-end (PHP, databases, etc). While developer resumes tend to denote years of experience using this or that library or framework (JQuery, Zend, Symphony, etc), I've personally built entire Javascript (AJAX) and PHP frameworks myself. To put it simply, it's like comparing someone who can service a car engine with someone who can build one from scratch.

High Frequency Trading Applications

I've built numerous high frequency (automated and semi-automated) equity, futures and option trading systems entirely myself using C++, Java, C# and VB6 (back in the day), and by trading systems I don't mean that I just coded some algorithms that ran on top of a third-party platform. I mean that I actually designed and developed the entire platform myself including quote feed parsers, orders routers, FIX engines, time series databases, tick capture engines, low-latency messaging middleware, rules-based trading engines, trading script engines, customizable Windows-based trading UIs, option pricing and modeling libraries, high-speed strategy simulation engines (both inside market and NASDAQ book replication), etc. Basically, I've done it all multiple times in serveral different languages.

I've worked on and off in this field since I was hired out of college in 1993 to do volatility surface modeling and have since worked as either a consultant or technical partner in various hedge funds and proprietary trading ventures. If you're looking to build or improve a proprietary trading platform and would like to get something up that's fast and robust, then I'm the guy you want to talk to. ;)

Mobile Applications (iPhone, iPad & Android)

I built my very first mobile application this past spring when I was approached by a friend who needed a geo-location-based loyalty rewards iPhone app (think Foursquare meets Groupon) developed for his new company. While they had received quotes in the neighborhood of 35-50K from various mobile consulting firms, he wondered if I could do better, especially since the idea wasn't all that nailed down and might involve some pivoting along the way (it did). Initially, I was reluctant to take on the project as I had no prior experience using Objective-C, Xcode and Cocoa (in fact, I didn't even own a Mac at the time), but as luck would have it I discovered Titanium, which gives you the abillity to rapidly build native iPad, iPhone and Android apps using only Javascript, a language in which I just happened to be an expert.

Long story short, I was able to deliver an extremely sophisticated iPhone app in a fraction of the time and cost estimated by the consulting firms, even accounting for the learning curve required in getting up to speed with the Titanium framework. So, if you need a mobile application developed, I can most likely do it for you more quickly and inexpensively than if developed using the standard tool sets (Java for the Android and Objective-C/Cocoa for the iPhone/iPad) and with the added bonus that it will be cross-platform and native out of the gate. It sounds almost too good to be true, doesn't it? ;)

Artificial Intelligence (AI) / Machine Learning (ML)

While I don't have a PhD in the field of AI, over the past fifteen years I have read and studied dozens of books and hundreds of academic papers on the subject with the ultimate goal of applying these techniques to building an adaptive (self-learning), high frequency trading algorithm. This is an area I find endlessly fascinating and in which I've spent a number of years researching, experimenting and building, so my knowledge of the field is anything but superficial.

Applying AI in the real world is a very difficult task in and of itself due to the challenge of normalizing noisy and unreliable data as well as the problem of selecting the category of algorithm (or combination of algorithms) that can actually do the job. But attempting to apply automated learning techniques to predicting financial time-series, a class of data generally considered to be unpredictable, ratchets it up to a whole other level. Then there are still all of the pitfalls of data-snooping, overfitting and the like which must be carefully managed when backtesting strategies, but that's a whole other discussion. ;)

In the quest to build a profitable, self-learning trading algorithm, I've developed a number of sophisticated AI libraries for neural networks, genetic algorithms, genetic programming, classifier systems, reinforcement learning, fuzzy logic and nearest neighbor in a variety of different languages such as C++, Java, C#, VB6 and yes even Javascript (which is now faster than you'd think). In the process of building these libaries, I've developed a deep understanding of how and why they work, and maybe even more importantly, when they won't.