HI!
WHO AM I?
▸Pedro Teixeira
▸@pgte
▸Partner and Chief Futurist @ YLD
▸Node.js Developer
▸Offline-first enthusiast
How to build a reliable checkout experience
How to build a reliable checkout experience
HOW TO BUILD A
RELIABLE CHECKOUT
EXPERIENCE
…USING NODE.JS,
POUCHDB AND
REPLICATED TRANSACTION
DOCUMENTS
E-COMMERCE
THE
CHECKOUT
EXPERIENCE
IS A JOURNEY THAT BEGINS
WITH THE OPTIMISTIC
CHECKOUT BUTTON
BUT ONLY REALLY
BEGINS WITH THE
CONFIRMATION BUTTON
BEHIND THE
SCENES…
WHICH
EVENTUALLY END
IN SUCCESS
AND A
CONFIRMATION
E-MAIL
WHAT
CAN GO
WRONG?
DUPLICATE
TRANSACTIONS
UNDEFINED
STATE
CLIENT
CRASHES
LET’S TALK
ABOUT
MOBILE
How to build a reliable checkout experience
https://youtu.be/aqvz5Oqs238
(LAST SLIDE TAKEN FROM
ILYA GRIGORIK’S GOOGLE
IO TALK)
MAIN TAKEAWAY IS
DEVELOPING RELIABLE
MOBILE APPS IS
PARTICULARLY DIFFICULT
LET’S GRADE
HOW APPS DEAL WITH
NETWORKING FAILURES
E
NO ERROR
HANDLING
D
CUSTOMER IS NOTIFIED
OF THE ERROR
C
CUSTOMER CAN RECOVER
FROM ERROR
B
APP CAN RECOVER FROM
SOME SYSTEM ERRORS
A
APP CAN RECOVER FROM SOME
SYSTEM AND USER ERRORS
LAST STAGE IS
PARTICULARLY
EXPENSIVE
WHY?
LET’S LOOK AT
SYSTEMS
ARCHITECTURE
How to build a reliable checkout experience
How to build a reliable checkout experience
How to build a reliable checkout experience
How to build a reliable checkout experience
TOO MUCH
RESPONSIBILITY
“WORKS ON MY LAPTOP”
BUT
WAIT…
ALL WE NEED IS
SYNC
How to build a reliable checkout experience
How to build a reliable checkout experience
How to build a reliable checkout experience
How to build a reliable checkout experience
How to build a reliable checkout experience
ONE DATABASE
PER CUSTOMER
ONE DOCUMENT PER
TRANSACTION
SYNC PROTOCOL REPLICATES
TRANSACTION DOC
(BI-DIRECTIONAL)
= OFFLINE TOLERANCE
CLERK REACTS TO
TRANSACTION
STATE CHANGES
How to build a reliable checkout experience
CLERK INJECTS
TRANSACTION STATE
CHANGES WHEN BACK-
END EVENT OCCURS
SHOW ME
THE CODE!
UI
POUCH-REDUX-MIDDLEWARE
How to build a reliable checkout experience
BACK-END
POUCH-CLERK
CLERK
1. STATE TRANSITIONS
2. ASYNC UPDATERS
STATE
TRANSITIONS
How to build a reliable checkout experience
ASYNC
UPDATERS
How to build a reliable checkout experience
QUICK
DEMO
DEMO IS ALSO OPEN SOURCE
pgte/pouch-clerk-example-app
MORE
1. How to Build a Reliable Transaction Experience for your Customers (bl
post)
http://blog.yld.io/2016/06/24/how-to-build-a-reliable-transaction-
experience-for-your-customers
2. Delivering a better transaction experience by using Replicated
Transaction Documents (video)
https://www.youtube.com/watch?v=2yb0tn3Q3Mg
THANK
YOU!

More Related Content

PDF
How to build a reliable checkout experience
DOC
Laboratorio 2 fluidos
PPT
Palestra apresentada na reunião da Câmara Setorial de Lácteos
PDF
Motivation letter_Anjas Asmara Samsudin
PDF
PDF
Smithsonian - Transforming Science Education
PDF
Pliz Lock Out Tag Out Training Cert
PDF
Ch10 29
How to build a reliable checkout experience
Laboratorio 2 fluidos
Palestra apresentada na reunião da Câmara Setorial de Lácteos
Motivation letter_Anjas Asmara Samsudin
Smithsonian - Transforming Science Education
Pliz Lock Out Tag Out Training Cert
Ch10 29

Viewers also liked (17)

PDF
work cited
PDF
universidaes
PPT
Subordinadas adjetivas
PDF
GI2011 poster furdik+team_border
PDF
Ch02 22
PDF
private-values
DOC
Atps analise de investimentos
PDF
Serverless
PDF
Dynamic management of kubernetes
PPTX
Diferencias entre computadoras y celulares
PDF
Getting started with kubernetes
PDF
An Introduction to Kube-Lego
PPS
PDF
Kubernetes architecture
work cited
universidaes
Subordinadas adjetivas
GI2011 poster furdik+team_border
Ch02 22
private-values
Atps analise de investimentos
Serverless
Dynamic management of kubernetes
Diferencias entre computadoras y celulares
Getting started with kubernetes
An Introduction to Kube-Lego
Kubernetes architecture
Ad

Similar to How to build a reliable checkout experience (20)

PDF
Enplug - interactive digital signage
PPTX
Metaverse + Sustainability Convergence
PDF
Removing the Friction of Technology
PDF
Say hi to the API
PDF
Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...
PPTX
Anatomy of a digital project seminar - 20th September, London
PPTX
Citcall : Real-Time User Verification with Missed-Call Based OTP
PDF
Les outils d'un growth hacker, par Julien Le Coupanec
PDF
Impact Analysis - LoopConf
PDF
Impactanalysis 150507054758-lva1-app6891
PPTX
Dynamic authentication rollin'
PDF
ThoughtWorks Recruitment presentation
PPTX
How to make people work together? - ending keynote - devfest du bout du monde...
PPTX
What I learnt from building a chatbot - BrightonSEO 2017
PDF
Observing, Remembering & Sharing
PDF
103 Understanding Technical Debt
PDF
Understanding Technical Debt: A Primer for Product Owners and Founders
PPTX
Say Hi To Ethereum
PDF
Cloudbrew 2019 observability driven development
PDF
Cloud Native App Security
Enplug - interactive digital signage
Metaverse + Sustainability Convergence
Removing the Friction of Technology
Say hi to the API
Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...
Anatomy of a digital project seminar - 20th September, London
Citcall : Real-Time User Verification with Missed-Call Based OTP
Les outils d'un growth hacker, par Julien Le Coupanec
Impact Analysis - LoopConf
Impactanalysis 150507054758-lva1-app6891
Dynamic authentication rollin'
ThoughtWorks Recruitment presentation
How to make people work together? - ending keynote - devfest du bout du monde...
What I learnt from building a chatbot - BrightonSEO 2017
Observing, Remembering & Sharing
103 Understanding Technical Debt
Understanding Technical Debt: A Primer for Product Owners and Founders
Say Hi To Ethereum
Cloudbrew 2019 observability driven development
Cloud Native App Security
Ad

Recently uploaded (20)

PDF
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
PDF
Abrasive, erosive and cavitation wear.pdf
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
PDF
August -2025_Top10 Read_Articles_ijait.pdf
PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PPTX
Module 8- Technological and Communication Skills.pptx
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PDF
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PPTX
CyberSecurity Mobile and Wireless Devices
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PDF
Visual Aids for Exploratory Data Analysis.pdf
PPT
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
PDF
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
PDF
Improvement effect of pyrolyzed agro-food biochar on the properties of.pdf
PDF
Soil Improvement Techniques Note - Rabbi
PPTX
introduction to high performance computing
PDF
ChapteR012372321DFGDSFGDFGDFSGDFGDFGDFGSDFGDFGFD
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
Abrasive, erosive and cavitation wear.pdf
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
August -2025_Top10 Read_Articles_ijait.pdf
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
Module 8- Technological and Communication Skills.pptx
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
CyberSecurity Mobile and Wireless Devices
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
Visual Aids for Exploratory Data Analysis.pdf
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
Improvement effect of pyrolyzed agro-food biochar on the properties of.pdf
Soil Improvement Techniques Note - Rabbi
introduction to high performance computing
ChapteR012372321DFGDSFGDFGDFSGDFGDFGDFGSDFGDFGFD

How to build a reliable checkout experience