![]() |
Engineer. Designer. Software bushwhacker. 📍 Dallas-Fort Worth Metroplex 🌐 rylan.io · 💼 LinkedIn Most of my work lives at github.com/web4foundation. |
| BDFL The Web4 Foundation Oct 2023 - Present |
My latest side project is a nonprofit organization called The Web4 Foundation (formal status in progress). Its mission is to advance of the open web through its fourth chapter: local-first, native webapps. Similar to organizations like W3C and WHATWG, the Web4 Foundation also stewards, defines, and extends the standards of the open web. However, since Web4 executes extramurally instead of inside the browser, its scope of influence is not targeted towards browser vendors but rather towards language communities. Web4's directive is to support the consistent implementation of these standards across all language communities to maximize skill-portability and minimize framework-fatigue.
| 🏦 | Principal Mobile Architect Concord Finance Dec 2022 - Present |
Designed and built Concord's native apps for both iOS and Android. Used SwiftUI for iOS and Kotlin/Compose for Android. These were architected in such a way that they were essentially line-for-line ports of each other which was necessary since I was a team of only one. Since Concord is a P/E rollup there were multiple legacy backends that effectively did the same thing but this single app needed to be able to swap backends at runtime based on the login. I was able to achieve 100% reuse of the UI layer and fully decouple it from the business logic by inverting the architecture such that each backend could implement their own logic and API access as needed and then drive the shared UI through a single monolithic ViewModel.
Nov 2018 - Dec 2022
We bought ShopSavvy back from Purch to see where we could take this mobile shopping app next. I built many things there but the two I found most interesting were
- a social shopping feed capable of operating in offline mode by leveraging local-first data for friends' posts and optimistic updates for your own
- a web browser optimized for shopping by beginning the user in a native experience that could - when visiting product URLs - minimize itself into an overlay drawer with the webpage in the backdrop and price comparison in the native UI overlay (quite similar to what X implemented years later)
![]() Native/Browser Demo |
![]() Native/Browser Demo |
Nov 2015 - Nov 2018
Nov 2011 - Nov 2015
QuickPay, which was granted a patent, was a zero-keyboard agentic checkout feature added to ShopSavvy that acted like auto-fill on steroids - instead of auto-populating form fields, it handled the entire flow start to finish in the background saving roughly 150 keystrokes. This solved a major drop-off in our funnel since users loved scanning barcodes for pricing research but were disinclined to suffer through a lengthy checkout process from a tiny screen in the middle of the aisle of the store from a new-to-them retailer where they had no account or previously stored payment methods. Usually they'd wait until they were home at their computer to navigate directly to retailer we showed them earlier which circumvented our affiliate links causing us to lose out on roughly 4% of each transaction. QuickPay was especially useful since smaller retailers at that time had exceedingly unpolished checkout flows partly due to Amazon's 1-Click patent being active until 2017.
![]() ShopSavvy QuickPay |
Jun 2010 - Nov 2015
Chalupa was essentially Meatloaf (detailed below) operating from the cloud using UDP packets like multiplayer video game servers. Chalupa ran in parallel to a locally running Meatloaf to improve barcode scanning performance in a first-to-decode solution. The problem was that, while Meatloaf worked great on most phones, some budget phones could take a full second to decode a single image and most of the captured frames were 'throw-away' frames. On a live camera feed a single captured frame often had barcode bars obscured by glare from overhead lights and every slight jerk of the wrist introduced significant motion blur when operating with longer exposure settings (i.e. indoors). It wasn't uncommon for there to be only one good frame for every 30 throw-away frames which made the scanner very difficult to use. To improve this, uploading a live video feed to a fast server over 2G or 3G connections was unrealistic. But product barcodes (UPCs and EANs) had a significant advantage, they're 1-dimensional. Chalupa took a single frame from the live camera feed, extracted a single scanline from the middle (320 pixels across), and for each pixel, averaged the three color channels (RGB) into one greyscale signal 320 bytes long. UDP packets were used since Chalupa operated 'opportunistically' so the overhead of in-order guaranteed delivery (TCP) was overkill. A single UDP packet could fit 4 scanlines and the ideal frame rate was roughly 4 frames per second. On the server, decoding took only a few milliseconds was fully multithreaded, and peak traffic (Black Friday) didn't require more than 7 servers to support the load.
![]() Barcode Scanning SDK |
Nov 2009 - Nov 2015
Meatloaf was a barcode scanning library for the iPhone engineered specifically for blurry barcodes. Unlike Android, the first couple of iPhone generations had cameras with a fixed-focus lens. Because of this, scanning a barcode was always blurry since it needed to be held roughly 6 inches away. But running blind deconvolutions to clear up the image was too computationally intensive to do at multiple frames per second on 2007 mobile hardware. So I wrote Meatloaf which solved the problem backwards. Instead of trying to clear up blurry photos, it worked by taking known barcode patterns, pre-blurring them ahead of time so they could be compared for similarity to the captured blurry image in a piecewise approach, one digit at a time. Meatloaf worked remarkably well considering the constraints. We eventually licensed the tech to Macys & Sam's Club. We were one of only three teams in the world that managed to cracked this puzzle giving ShopSavvy a multi-year head start in the mobile shopping category. A few years later, it became unnecessary when iPhones eventually started shipping with auto-focus cameras.
![]() Meatloaf |
Aug 2008 - Nov 2015
ShopSavvy started as a mobile app for scanning barcodes, comparing prices and reading reviews, founded on the early momentum of GoCart.
- Since 2008 - one of the oldest apps around, was in Google's app store the day Android launched
- Over 40 millions downloads
- In 2011, raised a series-A from Facebook cofounder Eduardo Saverin
- Acquired by Purch in 2015
| 🛠️ |
Jan 2011 - Nov 2015
XImage was server middleware enabling just-in-time image transformations from the query string. It merged my fascination of low-level graphics processing with my love for high-performance web servers. This project solved a pain point between design and engineering teams regarding the pixel-perfect implementation of 'asset embellishments' for large image buckets (e.g. millions of product images or user avatars). Additionally, it reduced the duplicate effort required to re-implement it across 3 platforms - web, native iOS, and native Android. As example, imagine designing a hero image requiring a very specific aspect ratio, cropped-to-fit, and filling in the letterboxing with with a blurry-background-crop-to-fill or maybe imagine a user avatar with a circular mask, forced PNG format to support transparent backgrounds, with a 2px white stroked outline and a subtle drop shadow. These types of requirements were common for 2011 in mobile's skeuomorphic era before Jony Ive flattened UI design. XImage solved this problem by serving as middleware on our webservers that could perform numerous GPU-accelerated image effects in real-time at the time of the request based on instructions from the query string. XImage served billions of images before eventually being retired. The need for such transformations became rare in a post-skeuomorphic world and what minor needs remained were handled well enough by commodity CDNs.
Jan 2004 - Dec 2010
PriceNark was a realtime price comparison service. It differed from traditional web crawlers in that, instead of store-and-index, it would screen scrape at the time of the request (i.e. when a user scanned a barcode). This provided always-accurate pricing in a space where the lowest price often changed hourly (mostly due to auction sites like eBay and half.com). Back then the web was a pretty different place - servers still used single-core CPUs, async/await was not yet invented, JSON was not yet specified, and nearly every web server was still CGI-based which meant it sent HTML over the network by alternating back and forth between print commands to stdout then blocking for the next SQL query dozens of times for each page. It wasn't uncommon for e-commerce webpages to take multiple seconds before being fully received by the browser (mostly due to the extra content 'below the fold'). Since PriceNark's target content (the price) was always 'above the fold' and sent in the first few network packets, it was built using an approach that could parse HTML chunks as the packets were received from the network and immediately flush found prices to the API response as a XML nodes of a chunked-transfer-encoding HTTP/1.1 response. The resulting experience was remarkable in that, the native app appeared to show a retailer's price faster than its own website could.
Feb 2008 - Aug 2008
GoCart was a barcode-scanning price comparison app. It was a first-prize winner ($275,000) in Google's global competition - the Android Developer Challenge. This led to being a launch partner with T-Mobile for the G1, Android's first phone which resulted in inclusion of a few TV commercials and other marketing materials (like in the design of G1 box). GoCart was renamed to ShopSavvy at T-Mobile's request. It's one of the oldest Android apps you can find since it was live in their app store the day of Android's launch.
| 🎟️ | Software Developer Veritix (now AXS) Sep 2006 - Aug 2008 |
Veritix did event ticketing (like Ticketmaster). There, I built the first known JavaScript-based seat picker (competitors used Flash). It featured isometric 3D maps made possible using custom affine transformations. VRML-based vector graphics were used since SVG support was limited at that time (i.e. Chrome did not exist yet and IE was ~90% of our traffic). Before that I built a Windows-native Kiosk app for purchasing tickets outside of event venues. It needed to be a full screen WinForms app running on a touch screen monitor so, to make it more touch-friendly, I overrode WinForm's render pipeline to handle physics-based scrolling and animated transitions with non-linear easing curves - table stakes today but innovative for its time considering this was all pre-iPhone.
![]() |
![]() |
| Pick a Seat One of the first interactive (non-Flash) pick-a-seat UIs on the web. |
|
| 💼 | Consultant Software Architects (now Pariveda) Jan 2006 - Sep 2006 |
A mix of UI and large databases.
May 2004 - Dec 2005
Web dev in the server division. Texas A&M had an on-campus facility where I could attend school and work as an intern at the same time.
Jan 2004 - May 2004
Web dev in the server division. Full-time work, no school.
| Texas A&M University BS, Computer Engineering Sep 2000 – Dec 2005 |
In college I led a team that built a physical chess board that could play against you. This was before 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.
![]() Robotic Chess AI |
| Berkner High School Sep 1996 – May 2000 |
Made a game in this crazy new language called JavaScript. Web dev was pretty wild in the 90s. Kudos to browser developers though: it still works after almost 30 years (thanks WHATWG)!
Jan 1999 – Apr 2026
LinkedIn was never intended to showcase design portfolios so I stuffed a few logos I designed here. I've got a few very interesting takes about UI design; you should ask me about them sometime. Started designing UI in the 90s using Gimp (and Photoshop when possible). These days it's primarily Figma.
![]() Web4 Logos - an ecosystem of ecosystems |
![]() ShopSavvy Logo |
![]() Village Table Logo |
![]() Purch Mobile Brand Unification |
Issued by Google · Sep 2008
My app GoCart won first prize of $275,000 among 1,788 entries from over 70 countries. Built with Android's Beta SDK, it's older than the app store itself. This app was later renamed to ShopSavvy.
























