Mobile app for scanning barcodes, comparing prices and reading reviews.
Reduce design-compromise by scripting dynamic effects into static images from your web server.
Build beautiful UI for any platform without a designer. An experiment in Computational Design.
Enabling lifelong, healthy eating habits for every child.
Elastic labor for manufacturing and warehousing businesses while providing flexibility to workers.
Makes it easy to create and grow your online community.
In the past I've relied mostly on the ShopSavvy appThe New York Times
ShopSavvy has become a secret weapon of sorts for bargain huntersThe Washington Post
A must-have for professional bargain huntersTime
In addition to comparing prices, ShopSavvy makes it easy to purchase items from select websitesThe Wall Street Journal
ShopSavvy was one of the best early Android applicationsTechCrunch
Building is my passion. Software, hardware, frontend, backend, I love them all.
I can't express how much I love the mobile space. Before smartphones I tinkered with flip phones even. When Apple announced the iPhone, I knew I was all in. I started with the Android Beta SDK back in 2008 since Apple took their dear sweet time to release their's and I launched ShopSavvy that same year. I'll admit, I wasn't a fan of Activities or Intents so I ended up building a custom UI framework (much like an Android version of a SPA) so that I could have my delicious animations just like the iPhone. (Now all that loveliness come standard on Android, of course.) It was a big bet (considering my time constraints) but fortunately it helped me win first prize in Google's Android Developer Challenge (back then it was called GoCart). Ten years and 42 million downloads later, ShopSavvy is still ticking.
PriceNark was a realtime price comparison search engine. It differed from a traditional web crawler in that, instead of store-and-index, it would scrape information from other websites at the time of the user request (i.e. when they scanned a barcode). Since semantic analysis wasn't specific enough and since product pages were often accessed via retailers' search feature, I had to create individual adapters for every single retailer. There were usually dozens of adapters running in parallel and to prevent the user from having to wait until the last horse crossed the finish line before they could see any results, I architected PriceNark to use a lesser-known feature of the HTTP protocol called chunked HTTP responses which let us use our traditional API as if it were a streaming protocol. This enabled users to watch the prices trickle into their UI over a period of 5 seconds instead of staring at a loading spinner for what felt like forever. It was a delightful experience that really set us apart from the other competitors while simultaneously providing, by far, the most accurate pricing information (which often changed on an hourly basis).
This project was an incredibly ambitious addition to ShopSavvy. The strategy was to leverage one of our team's biggest strengths (real-time screen-scraping) to mitigate one of our biggest disadvantages (users' reluctance to buy from their phones). Our solution was to store their credit card details and automate the checkout process on their behalf all behind the scenes saving them an average of 150 keystrokes. Its first Christmas season saw a 315% year over year growth. And 7 years later we were granted a patent for this work.
I kicked off a side project back in 2014, called XImage, that merged graphics processing with a web server. It let developers request just-in-time image transformations from the query string. It functioned as middleware that intercepted any image being served out of your web server and applied the effects before sending it down the wire. XImage has since served out billions of images.
Meatloaf was my most technically challenging problem to solve. Unlike Android, the first couple of iPhones had cameras with a fixed focus lens. Because of this scanning a barcode was always blurry. But running blind deconvolutions to clear up the image was too computationally intensive to do at multiple frames per second. So instead I wrote Meatloaf which tries to solve the problem backwards. It worked by taking known barcode patterns, pre-blur them ahead of time, and compare them piecewise, segment by segment, to the target image for similarity. We eventually licensed the tech to Macys, Sam's Club, CNET, Consumer Reports and PriceGrabber.
Back in 2006, I was hired by an event ticketing startup to build a touch-screen, kiosk application. This was before the days of iOS, Android or even HTML5 for that matter, so their whole suite of products were built on top of WinForms. Back then, WinForms didn't lend itself well to full screen UX or even touch controls so I ended up building out major extensions to WinForms to support animations complete with control-level transitions and customizable easing curves. It was designed to fit the default WinForms programming model so developers that came after me would keep getting my nifty transitions by default without needing to learn anything new or do anything differently. I was extra proud of my work when Apple's UIKit came out a year later and validated/standardized many of my "then-crazy" concepts. Of course their's was leagues better, but it felt good knowing my intuitions about UI, animations and general HIG were in the right ballpark.
In college I led a team that built a physical chess board that could play you back. This was before the age of Raspberry Pis, so we programmed an FPGA board to control two servos that moved an electromagnet on an Etch-a-sketch type of actuator. That was then plugged into a PC that ran a modified version of the WinBoard chess AI.
Been in the cloud since 2008 and while I love it as much as the next person, nothing gets me as excited as owning my own metal. The performance junkie in me loves squeezing out every last drop of speed.
At ShopSavvy we used a hybrid cloud/colo setup between AWS and our data center in Dallas. We saved a bundle on our big data clusters.
Patent granted! At ShopSavvy we built QuickPay, a system that let you use your pre-stored credit card and address to skip a retailer's checkout flow with just a swipe. It would save around 150 keystrokes on your phone which was particularly helpful if you were scanning barcodes in the aisle of the store. https://patents.google.com/patent/US9953314B2/en
Honorable mention: We also applied for another patent for our price comparison search engine called ProductCloud (formerly called PriceNark). We stopped pushing on this one though. Evidently it’ll never go through. https://patents.google.com/patent/US20130297464
Still fairly new to design. Starting ShopSavvy forced me to dig in. All my work here has been very mobile-centric.
I've spent a lot of time in focus groups and user studies leveraging the feedback into new design iterations. Here's one of the latests from ShopSavvy.
Designing ShopSavvy Wallet (codename QuickPay), was a huge challenge. I couldn't have pulled it off without first-hand knowledge of each moving part on the backend. In addition to designing the UI, I also coded the initial version of the QuickPay service. We were eventually granted a patent for our work here.
When it comes to good mobile design, I've always felt that animations were equally as important as the layout itself. So I started incorporating animations into my specs as I designed. Here I explored some contextual search where you could easily switch between searching at a global level or a store level (see how the types of boots change drastically). Without the these animations the UX would feel very disconnected switching between the two contexts.
Back in 2006, I was hired by an event ticketing startup to build a touch screen, kiosk application. This was before the days of iOS, Android or even HTML5 for that matter, so their whole suite of products were built on top of WinForms. Back then, WinForms didn't lend itself well to full screen UX or even touch controls so I ended up building out major extensions to WinForms to support animations complete with control-level transitions and customizable easing curves. It was designed to fit the natural programming model so developers that came after me would keep getting my nifty transitions by default without needing to learn anything new.
Purch is a company composed of many disparate brands. Here’s my “family of apps” unification experiment. We ultimately went a less fragmented strategy by just consolidating features into ShopSavvy.
I designed the logo for Village Table, my wife's company, which specializes in nutrition education for preschoolers. I wanted her glyph to be a symbol of healthy eating that's subtly built on the imagery of a table where various corners of the child's community (family, school and local businesses) can come together in support of developing lifelong, healthy eating habits. Her logo was designed for versatility, working well monochromatically as well as in horizontal or vertical layouts. Finally, for a sentimental kick, the typographic portion was lifted from our four year old daughter's own handwriting.
I served as the initial Product Designer for ShopSavvy (among other roles). During those 3 years our downloads saw an average monthly growth rate of 28% ultimately securing us the #1 spot in our category and ranking as high as #14 across all apps.
QuickPay was our first major pivot. It was incredibly ambitious since it involved an intimate combination of our System Design, Process Design and Interface Design. The strategy was to leverage one of our biggest strengths (real-time screen-scraping) to mitigate one of our biggest disadvantages (users' reluctance to buy from their phones). Our solution was to store their credit card details and automate the checkout process on their behalf all behind the scenes saving them an average of 150 keystrokes. Its first Christmas season saw a 315% year over year growth. And 7 years later we were granted a patent for this work.
Loved building for the mobile space as far back as flip phones but when smartphones landed, I dropped everything to launch my first startup.
I took a week vacation from my day job to learn the Android beta SDK while I waited for Apple to release their’s. Then I moonlighted for six months to build v1 of ShopSavvy.
Docs signed with Ryan Roberts, the best startup lawyer there is. startuplawyer.com August 2008.
We moved a lot. 8 offices in 10 years. The first office was in the Infomart, the Internet’s largest interconnection hub for the Southern United States. This building is where I found my love for data centers.
T-Mobile made us a launch partner for the G1, the first Android phone. Their camera crew flew to Dallas to make us a part of their launch video.
At the G1 launch in NYC, I’m the goof standing up in the back-right with the other launch partners. Google’s founders showed up on rollerblades.
At our booth after the announcement. We didn’t have a real logo yet. Nor did I have a Photoshop license. Thanks Gimp!
ShopSavvy was an OG Android app, available on day #1. This is what the Play Store originally looked like, can you believe it? There was no admin console yet and for every new release, I had to email my APK to ‘Jason’ on Google's Android team who ran a script from his laptop to get it uploaded.
Such humble beginnings. As of 2018, we’re at 40 million downloads across all apps on all platforms.
But it helps to be early. We were the most popular app on Android for quite some time. Back then MySpace was still larger than Facebook.
We had to wait to launch on the iPhone until Apple finally opened up their Camera APIs.
Google linked to our G1 promotions from their homepage.
T-Mobile sure was good to us. But ShopSavvy helped them sell a lot of Android phones. Barcode scanning was such a killer feature and it was something the iPhone couldn’t do until 2010, three years after their launch.
We’re an endcap in their stores! Fun fact — T-Mobile made us change our name to ShopSavvy. To be fair though, GoCart was a terrible name.
We’re on the box too! It’s still our awful blue GoCart logo. I think this was the design used in the UK.
I missed the European launch for the G1 unfortunately. My wife and I had our first baby and we were holed up in the hospital for two weeks.
Sprint gave us some love in their stores too even if it was shorter lived.
The ShopSavvy story makes such a great human interest piece. People love to save money right? Even a decade later, reporters and journalists still love including ShopSavvy in their save-you-money pieces.
Smile for the camera.
Local stations use to swing by the office for some live shots of the app.
We focused obsessively and it paid off. We eventually got our iPhone version performing as well as it did on Android despite not having any marketing help on the Apple side. We had to build some crazy barcode scanning tech called Meatloaf to make it work. It gave us quite a competitive advantage on the iPhone for the next couple of years.
After three years we raised our Series A from investors including Eduardo Saverin, co-founder of Facebook. Thanks for all the support Eduardo!
John Boyd opened up our San Francisco office in Soma, San Francisco at 38 Bluxome St. John took the reins as CEO in the latter years. Thanks for everything you did for us John, we couldn’t have done it without you!
Visiting the mothership at 1 Infinite Loop (Apple Campus).
We took the team to Google a couple times to wrestle some Play Store promotions from them.
The Texas and SF teams together on our roof deck circa 2013. Proud to be associated with the journeys of so many ambitious people. SIXTEEN ShopSavvy alumni have gone on to be CEOs or founders of their own companies.
That’s far from the whole story, but everything else makes for a boring slideshow.
Speaking at SXSW back in 2010. Back then there were 7 major smartphone platforms, most folks in the room still had flip phones and Blackberry still sold more smartphones than anybody else. I described the differences between each platform using comic book characters. It ended up being only a little funny.
I give the worst interviews too. This was also at SXSW.
Rehearsing backstage at PayPal X Innovate 2009 the day before the conference. A fever took me out the next day though and I missed the actual event unfortunately.
I spoke at IRCE in 2014 about some of the tech used by ShopSavvy.
I did a doom and gloom presentation for the Social Mobile Payments conference titled Dumb Pipes, Dumb Shelves, Smart Wallet. I don’t think anybody enjoyed hearing about the convoluted future of payments on mobile. I’ll stick to positive content from now on.
Local Dallas startup event.
Crunchies 2008 Nominee ShopSavvy was one of six finalists for the Best Mobile Application award. Proud to be listed alongside other household names such as Pandora and Google.
Google’s Android Developer Challenge 2008 First Prize Winner This was a global competition with over 1700 entries and a large cash prize. Back then ShopSavvy was called GoCart but winning was instrumental in helping me assemble a team and kick things off as a startup.
Microsoft BizSpark Accelerator at SXSW Interactive 2010 Entertainment Technology category winner. Jake Marsh is on stage accepting the award.
Time Magazine 50 Best iPhone Apps 2011. They called us a “must-have.”
Mobile Apps Showdown Top 20 Mobile App — CES 2010
MobileMonday Mobile Peer Awards Finalist ShopSavvy presented on stage at the GSMA Mobile World Congress in Barcelona in 2009.
2009 Android Network Awards, Best Shopping App Over 40,000 votes were cast in this contest.
I keep letting myself get pulled into low-level graphics projects. Fun intersection between engineering and design.
Meatloaf was my most technically challenging problem to solve. Unlike Android, the first couple of iPhones had cameras with a fixed focus lens. Because of this scanning a barcode was always blurry. But running blind deconvolutions to clear up the image was too computationally intensive to do at multiple frames per second. So instead I wrote Meatloaf which tries to solve the problem backwards. It worked by taking known barcode patterns, pre-blur them ahead of time, and compare them piecewise, segment by segment, to the target image for similarity.
Meatloaf worked remarkably well considering the constraints. Eventually, even after iPhones started shipping with auto-focus cameras, Meatloaf still proved quite useful. We ran it in parallel with a standard decoder where the first one to successfully decode would win that round. As the lens slowly moved back and forth in its focusing cycle, only about 2 or 3 frames per second would come in fully focused, and those were often missed due to hand-shaking, glare or alignment issues. Meatloaf often outperformed in real-world scenarios. We eventually licensed the tech to Macys, Sam's Club, CNET, Consumer Reports and PriceGrabber.
I kicked off a side project back in 2014, called XImage, that merged graphics processing with a web server. It let developers request just-in-time image transformations from the query string. It functioned as middleware that intercepted any image being served out of your web server and applied the effects before sending it down the wire.
XImage has since served out billions of images but where it fell short was its plugin system. The X in XImage stands for "extensible" but nobody ever showed any interest in building their own custom effects. With my next incarnation of this project, Open Image, I plan to fix this while also targeting designers instead of engineers.
ShopSavvy was born in Texas but grew up in the heart of Soma, San Francisco.
Some of the early ShopSavvy Texas team.
We kept an always-on video feed between Texas and San Francisco to make it feel like a window apart. I’m on the SF side here doing a group interview.
From downtown Dallas to Plano, the Texas team moved to 8 different offices in 10 years. Most were coworking spaces.
Here’s the Texas team in the latter years. Fond memories at the Ice House. Been working with some of them going on 9 years now.
But all good things come to an end. I will miss this team more than they know.
After we raised our Series A at ShopSavvy, we opened an office in San Francisco. Here’s our fearless leader, and eventual CEO, John Boyd scoping out offices...
We settled on a spot around the corner of 4th and Brannan in the heart of Soma, SF. This view is now blocked by Pinterest’s newest building.
Right next to the Caltrain, the Creamery and easy access to the roof. Ours was that small white box sitting on top of the brown building.
I slept on that couch every time I flew in to SF.
Team building... or Highlander?
Paragon was our “Ice House of San Francisco.” May it rest in peace.
Texas and SF teams together for our 2013 Holiday Party. Proud to be associated with the journeys of so many ambitious people. SIXTEEN ShopSavvy alumni have gone on to be CEOs or founders of their own companies.