Offline First: Making Your App Awesome When the Network Isn't

By Teri Chadbourne

Elevator Pitch

Let’s get real. Networks are flaky, and your awesome web app isn’t so impressive when you lose your connection. With an Offline First mindset and some simple client-side code, you can upgrade your masterpiece and deliver amazing user experiences in all network conditions. Real world, here we come.


You thought you’d built the perfect web app… until you tried to use it on the subway. As it turns out, that network connection we’ve come to take for granted isn’t quite so ever-present as we thought.

From healthcare solutions in the developing world to entertainment for the daily commute, the Offline First approach to web development is transforming the user experience. It’s time to stop treating shoddy connections as an error condition and start building with real-world network constraints in mind.

In this session for web developers of all stripes, you’ll learn to turn your masterpiece into an offline-capable Progressive Web App using only client-side JavaScript and easy-to-use tools: PouchDB and Service Worker. With this simple Offline First approach, you’ll treat your users to a super-speedy app that shines in all network conditions and thrives in the real world.


I’m a co-organizer of Offline Camp and community organizer for the Offline First community. I’m thrilled to see the community growing and am really excited to share this session, making Offline First approachable for folks new to the concept and showing them how they can get started using open source technologies.

This is a beginner-friendly talk covering concepts that are new even to many experienced web developers. I will introduce the basics of PouchDB, CouchDB, and Service Workers as I demonstrate how to layer these technologies on top of JavaScript to add Offline First functionality, using some simple JavaScript code snippets along the way. Web developers, front-end developers, and UX professionals of all experience levels will benefit.

Attendees will learn:

  • The benefits of the Offline First approach to web/app development, which enables highly performant apps regardless of network conditions

  • How to use PouchDB to quickly and simply enable offline sync to an Apache CouchDB database, allowing data to be safely written to device even while offline and then synced between devices or users when a connection is available

  • How to use Service Workers to cache resources, enabling quick page loads even while offline

  • How to use a manifest file to turn their web app into a Progressive Web App, an enhanced website that can be installed on a mobile device