SlideShare a Scribd company logo
1 of 41
Download to read offline
Reusable AI in
LogoGrab
Open mobile
web scanner
Grab logo,
anywhere
Access content,
anytime
1. 2. 3.
What LogoGrab Does
What LogoGrab Does
Augmented Reality (AR) made simple
Scalability
Largest AR campaign in history
How LogoGrab does it
Developed world class tech
Team from top universities
As we grow…
Leverage reuse
New functionalities
Faster onboarding
Why Modularity
No silver bullet for AI
Why Modularity
No silver bullet for AI
Non-stop Experimentation
Why Modularity
No silver bullet for AI
Non-stop Experimentation with…
Why Modularity
AI code comes from universities
Why Modularity
AI code comes from universities
Tiny teams on isolated project
Why Modularity
AI code comes from universities
Tiny teams on isolated project
Little focus on reusability
Why Modularity
AI code comes from universities
Tiny teams on isolated project
Little focus on reusability
Why Modularity
Reusable AI
Inspired by functional programming
Reusable AI
Inspired by functional programming
Reusable AI
Inspired by functional programming
Interoperability between AI methods
Reusable AI
Inspired by functional programming
Interoperability between AI methods
Reusable bricks
Reusable AI
o = f(p, i)
What you want
to do
Reusable AI
o = f(p, i)
How you want 

to do it
What you want
to do
Reusable AI
o = f(p, i)
What you want 

to do it on
How you want 

to do it
What you want
to do
Reusable AI
o = f(p, i)
What you want 

to do it on
How you want 

to do it
What you want
to do
Our Original Stack
User
Our Original Stack
User Interface
Our Original Stack
User Interface Backend
Our New Stack
User Interface
Our New Stack
User Interface
Platform
Developer
Bricks
Factory
Our New Stack
User Interface Dev Ops
Platform
Developer
Master
Builders
Bricks
Factory
Advantages
Composition
Advantages
Composition
Lazy Evaluation
Advantages
Composition
Lazy Evaluation
Caching
Advantages
Composition
Lazy Evaluation
Caching
Encapsulation
Advantages
Composition
Lazy Evaluation
Caching
Encapsulation
Performance
Composition
Utilise Python’s keyword arguments
Use dictionaries as input and output
o = g(pg, f(pf, i))
Composition
Utilise Python’s keyword arguments
Use dictionaries as input and output
o = g(pg, f(pf, i))
New what to do How you want
to do it
Composition
Utilise Python’s keyword arguments
Use dictionaries as input and output
o = g(pg, f(pf, i))
New what to do How you want
to do it
Output becomes
input
Composition
Utilise Python’s keyword arguments
Use dictionaries as input and output
o = g(pg, f(pf, i))
New what to do How you want
to do it
Output becomes
input
Lazy Evaluation
Python inherently eager
Generators introduce laziness
Process when needed
Lazy Evaluation
Python inherently eager
Generators introduce laziness
Process when needed
Caching
Automatic caching with decorators
o = f(p, i)
o is the same for a given f, p and i
Encapsulation
Hiding complexity away from master builders
Complex piece but works with every other piece
Performance
Best of both worlds
Python interface to C
SWIG
Cython
Demo & QA

More Related Content

Similar to PythonIreland

Similar to PythonIreland (20)

Which is better, Java or Python? And how?
Which is better, Java or Python? And how?Which is better, Java or Python? And how?
Which is better, Java or Python? And how?
 
Pyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdfPyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdf
 
MarsDevs Predicts The Python Trends for 2023
MarsDevs Predicts The Python Trends for 2023MarsDevs Predicts The Python Trends for 2023
MarsDevs Predicts The Python Trends for 2023
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
 
Building a Beer Recommender with Yhat (PAPIs.io - November 2014)
Building a Beer Recommender with Yhat (PAPIs.io - November 2014)Building a Beer Recommender with Yhat (PAPIs.io - November 2014)
Building a Beer Recommender with Yhat (PAPIs.io - November 2014)
 
JDD2014: Introduction to OSGi - Paul Bakker
JDD2014: Introduction to OSGi - Paul BakkerJDD2014: Introduction to OSGi - Paul Bakker
JDD2014: Introduction to OSGi - Paul Bakker
 
Domain Modeling & Full-Stack Web Development F#
Domain Modeling & Full-Stack Web Development F#Domain Modeling & Full-Stack Web Development F#
Domain Modeling & Full-Stack Web Development F#
 
Leaping Forward: Finding The Future of Your API Docs
Leaping Forward: Finding The Future of Your API DocsLeaping Forward: Finding The Future of Your API Docs
Leaping Forward: Finding The Future of Your API Docs
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Introduction to Programming in Go
Introduction to Programming in GoIntroduction to Programming in Go
Introduction to Programming in Go
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Introduction to Python Basics Programming
Introduction to Python Basics ProgrammingIntroduction to Python Basics Programming
Introduction to Python Basics Programming
 
Going open source with small teams
Going open source with small teamsGoing open source with small teams
Going open source with small teams
 
Applied Data Science: Building a Beer Recommender | Data Science MD - Oct 2014
Applied Data Science: Building a Beer Recommender | Data Science MD - Oct 2014Applied Data Science: Building a Beer Recommender | Data Science MD - Oct 2014
Applied Data Science: Building a Beer Recommender | Data Science MD - Oct 2014
 
The Ring programming language version 1.7 book - Part 89 of 196
The Ring programming language version 1.7 book - Part 89 of 196The Ring programming language version 1.7 book - Part 89 of 196
The Ring programming language version 1.7 book - Part 89 of 196
 
Building AI-powered Apps on AWS
Building AI-powered Apps on AWSBuilding AI-powered Apps on AWS
Building AI-powered Apps on AWS
 
Global Azure 2020 - Developing a Speech to Text component
Global Azure 2020 - Developing a Speech to Text componentGlobal Azure 2020 - Developing a Speech to Text component
Global Azure 2020 - Developing a Speech to Text component
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
What is Python?
What is Python?What is Python?
What is Python?
 
python training.docx
python training.docxpython training.docx
python training.docx
 

PythonIreland