INFUSING
INTELLIGENCE
TO REACT
APPS
SAHAN SERASINGHE
SOFTWARE ENGINEER
Slide 2
Slide 2 text
ABOUT ME
Sahan Serasinghe
👨💻 Software Engineer | GitHub
📣 twitter.com/@_SahanSera
✍ sahansera.dev
{
https://github.com/sahansera/rgs-2022-demo
Slide 3
Slide 3 text
AGENDA
§ The “search” problem
§ Key building blocks
§ Putting things together
§ What’s out there?
§ Reference Architecture
§ Implementation
§ Recap
§ Further improvements
https://github.com/sahansera/rgs-2022-demo
TYPICAL REACT
WEB APP
https://github.com/sahansera/rgs-2022-demo
Slide 6
Slide 6 text
https://github.com/sahansera/rgs-2022-demo
Slide 7
Slide 7 text
https://github.com/sahansera/rgs-2022-demo
Slide 8
Slide 8 text
THE PROBLEMS
How can you ingest data from many sources?
How do you make them searchable?
How do you give a great user experience by enriching with additional
context?
https://github.com/sahansera/rgs-2022-demo
Slide 9
Slide 9 text
KEY BUILDING BLOCKS
Data source Search Index Indexer AI enricher
https://github.com/sahansera/rgs-2022-demo
Slide 10
Slide 10 text
https://github.com/sahansera/rgs-2022-demo
Slide 11
Slide 11 text
PUTTING THINGS TOGETHER
React App
Search Index
Indexer
AI enricher
Data source
https://github.com/sahansera/rgs-2022-demo
Slide 12
Slide 12 text
WHAT’S OUT
THERE?
https://github.com/sahansera/rgs-2022-demo
Slide 13
Slide 13 text
MANY OPTIONS
• Azure Cognitive Search
• AWS Kendra
• Algolia
• Google Cloud Search
• Elasticsearch
https://github.com/sahansera/rgs-2022-demo
CODING TIME
https://github.com/sahansera/rgs-2022-demo
Slide 18
Slide 18 text
RECAP
React frontend and
with backend
Pushed data to a
data store
Created a pipeline
to ingest data
Added AI enrichment
to the data
https://github.com/sahansera/rgs-2022-demo
FURTHER IMPROVEMENTS
• Support unstructured data (eg: images, PDFs etc.)
• Translations
• Custom AI enrichers
• Post recommendations
https://github.com/sahansera/rgs-2022-demo
Slide 21
Slide 21 text
THANK YOU
https://github.com/sahansera/rgs-2022-demo
IMAGE CREDITS
• Photo by Lorenzo Herrera on Unsplash
• Photo by Marius Niveri on Unsplash
• Stock images provided by PowerPoint
https://github.com/sahansera/rgs-2022-demo