Ryan Pfister: 20 years of software

I started building websites for a living in December 2005. This page lists the 20 years that followed, in order.

Windows XP, 2005 to 2007

Department of Psychology, Utah State University

My first paid web job. I built the department's web pages in Dreamweaver. It was almost all HTML and CSS, and every layout was a table inside another table.

Dreamweaver, HTML, CSS

Substitute Teaching Institute

The first job I count as real development. I moved the site from ASP to ASP.NET 2.0 and built a quiz engine, a poll system and a forum.

ASP.NET 2.0

IntelliChoice

October 2006 to May 2007

I built a web-based jail management system. That is not a joke.

Windows Vista, 2007 to 2009

Marketing & Technology Group

May 2007 to January 2013

I built news sites for the meat and hotel industries: meatingplace.com, carnetec.com and hotelsmag.com. I worked on them, on and off, for nearly six years.

ASP.NET MVC, jQuery

Crate and Barrel

January 2008 to June 2009

I was one of the main developers on the AJAX redesign of crateandbarrel.com, written in jQuery and C#. I also built the shared code that the company's three sites ran on.

C#, jQuery, AJAX, JSON

Windows 7, 2009 to 2013

Roundarch

December 2009 to April 2010

A contract. I built the public site for the Air National Guard, a tool for running it, and a service that connected Salesforce to the site.

ASP.NET MVC, jQuery, C#

Windows 8, 2013 to 2014

Market6

January 2013 to November 2014

I built the main data analytics application that our business customers used, working remotely. ASP.NET MVC 5, Knockout and Bootstrap.

ASP.NET MVC 5, Knockout, Bootstrap

Vivint Solar

November 2014 to June 2016

I owned one reporting application used across the company, from asking people what they needed to keeping it running.

Windows 10, 2015

The switch

In 2015 I left .NET for Node.js and Windows for a Mac. I had written C# for nine years.

Node.js

Remnant

A side project. An augmented reality app where you leave a post of yourself at a real place, and other people find it there with their phones. Written in Swift, with Node.js and Parse behind it.

Swift, Node.js, Parse

Open Remnant

OS X El Capitan, 2015 to 2017

Jolt

June 2016 to February 2018

My first React Native app: a custom Android app that drove a specialised printer.

React Native, Redux, Android

macOS Mojave, 2018 to 2019

InVision

February 2018 to March 2019

I led a small team building a React Native app for Android. We shipped it in four months.

React Native

LifeOmic

March 2019 to March 2021

I built Life Fasting, an app that timed people's fasts, for iPhone and Android. I also moved it to a new navigation system. Nobody noticed, which was the point.

React Native, TypeScript, Apollo GraphQL

Possessed

A side project. An augmented reality game where you curse your friends with demons, and they have to go and kill them. Players cursed so far: mostly me.

React Native

Open Possessed

macOS Big Sur, 2020 to 2022

Bloomberg

March 2021 to April 2023

I worked on the Bloomberg Connects app and was technical lead on the Bloomberg News app. I built dark mode, sign-up without a password, and a pipeline that prepared video automatically.

React Native, TypeScript, Node.js, GraphQL, AWS

AWS Certified Solutions Architect

December 2021

AWS Certified Solutions Architect, Associate level.

AWS

macOS today, 2023 to 2026

Ryan's Technology

Freelance work under my own company: Sound Like Us, Mae, Edgeli and Flutter Connect.

React, Next.js, React Native, Node.js, Python, PostgreSQL

Sound Like Us

An app that tells stories in your own voice. I built the app and the audio pipeline behind it.

Open Sound Like Us

All Gravy

January 2026 to September 2026

Full-stack development in React Native, Expo and TypeScript. My last job before the sabbatical.

React Native, Expo, TypeScript

Sabbatical

After 20 years I am taking one year off. I am not available for work. I am available for a chat.

Contact

Development sabbatical. I'm taking an extended sabbatical from software development, so I'm not accepting freelance, consulting, or full-time development work. You're still welcome to get in touch, but my reply may take a little longer.




Resume (PDF)