SpotHero - Payments DevTalks (#1)
Key Takeaways
SpotHero integrates Google Pay into their Android application using Python, Django, and Kotlin
Full Transcript
[Music] hello be welcome to our very first chat about payments specially baked for developers my name is jose and i'm a developer relations engineer at google pay today with us we have eric brook who is the vice president of engineering at sport hero hello eric and thank you so much for joining us today hey jose thank you for having me today i think a great way to start would be to learn a bit more about spot hero and what you do so could you tell us in your own words what sport hero is about and what's your vision towards urban mobility and sustainable transportation so our goal is to make parking easier in fact just making it easier for customers to get everywhere and that's really what we focus on is making sure that you can park easily well regardless of your trip whether it be like getting a monthly or like going to an event or going on a shopping trip that's our goal make it easier so moving a bit more towards the technical domain what would you say at a high level is the tech stack that you are using at spot hero yeah so our journey started on a python django monolith and bit by bit we've grown beyond that so for an example we need search to be really performant and fast um and so we moved it to golang to really improve its performance and responsiveness like many people we have multiple stacks you have an android stack you have an ios stack and you have a data science stack i'm not going to go cover all of them but android obviously we're using kotlin xml and it's something that we're very proud of as one of our channels for customers there is a pretty diverse set of technologies also pretty modern as well and it's great to see a good amount of open source in there as well it would be interesting to hear more about the model pipeline that you have concretely what purpose are you giving to those statistical or mathematical models especially if there's any of those which is payments related one of them is dynamic pricing so a lot of people when they think of car parking they think of like oh look there's a wall has a list of prices or a list of rates as we call them and that's the kind of it in actual fact it's very very complex most garages have about 100 different rates and to coordinate that um manually is incredible amount of work so one of the things we're doing working with operators those that own car parks and manage them is to make a system more dynamic something we're kind of used to from the airline industry or even hotels so dynamic pricing is very important to us and we released it about a year ago and we're working with key operators to really make this smart when it comes to building a product like spot hero what were some key technical challenges that you faced during that process the industry itself was very cash based so that was probably one of our biggest challenges is helping the industry move to more of a digital payments perspective but broadly some of the most complex areas um the number one would probably integrations we work with about 35 different companies that have different hardware and different software and these parks companies are the ones that build the gates the ticket machines and all the other varieties and of course they all work in very different ways so integrations with the parks equipment is actually probably the number one number two i mentioned a little bit earlier is search is being performant on search giving people the right information um is probably kind of like our second challenge and then the third challenge is um it is technical but it's something that startups often see and that is shared understanding about what work we're doing when you start with a monolith uf don't end up you often end up with multiple layers of different types of work so one of the things that we're focused on very much now is using something like domain driven design to really understand and break up the work that we have to do this makes it easier for product it makes it easier for engineers and then they don't kind of think i have to look at 64 different things to understand what the side effects are so domain driven design is something that we're definitely investing at the moment i think that in a world where mobile phones are carrying so many utilities that we use on a daily basis it feels that payments could be an important piece of that puzzle they're essential um without them we don't really have a business like because we don't really work in cash we work in digital payments so understanding how digital payments work how are they trusted by consumers which ones do consumers prefer to use are really important to have as part of our understanding google and other companies have made this much much easier with things like google pay which are actually fairly easy to hook up with and how are you playing with the fragmentation of the multiple options that you have today like if you go to some services some website websites or applications i think for a good reason today there there's a a sizeable amount of options uh which is hard to handle sometimes for the user because you may have like six or seven of those how are you dealing with that and maybe thinking about choosing the two three top best options for for payments for any given customer yeah you're right um it's very important to choose the right ones and make sure the customer has the right choices because we want that to be simple for the customer we also want to be following the trends in terms of which ones are they already invested in as customers um so we pay attention to how can i'm sorry customers move through the market what do they trust and what do they prefer to pay with um the other thought process is how easy are the sdks to work with from an engineering perspective that's really important because we don't want to reinvent the wheel we want to be able to hook this in make it really simple be able to trust it and audit it when necessary and precisely in that regard what was your experience integrating google pay in your android application really simple actually um so i thought it was one liner code but i checked and it's actually five lines of code um and basically yeah and we're pulling together like the stripe params um because we use stripe as our payment processor for spot hero and then we're passing that information directly to the google sdk um actually getting up and running was really simple the thing that we probably took a little bit more time was testing it and believing it it was this simple so testing and staging um was something that we had took a little time to figure out um but it was well worth the investment uh you said that uh making payments work in pre-production environments was uh less straightforward what advice would you have for other developers maybe facing similar challenges i think that one of the beautiful things about technology sector at the moment is that everybody shares what they learn so there's a lot of blogs out there a couple things to really think about though is making sure you have good testing around your payment system if you can make it automated that's great saves engineers time it saves tests engineers time as well the other things you need to think about is when you do test it in production making sure you have a credit card that you can use for that purpose and always having a test account that you can do for that purpose um payments is important and also keeping our customers our drivers um safe is really important to us so test it understand it make sure that you're not setting up your customers for failure i like the note on automated testing i think it's it's not it's not said enough that it actually saves time no matter how it looks like at the beginning i've heard that you integrated google pay a while back so i'm sure that uh you were able to collect a good amount of information uh metrics um insights about how it really did and how it developed do you have some more quantitative information on how that played out and i think if we could talk about both new users and existing users i think that would be that would be a great perspective to bring yeah so we introduced it um in october 2017. and um as i said it was a fairly simple process and we actually worked with google to figure out a promotion to get people to see um how that would work so we motivated them for promotion where we are now is about 33 of all our android users use google pay today um and we see that trend going up as more and more people trust their kind of like their wallets and their finances to mobile phones that's great to hear actually now looking into the future how would you like to see the digital payments ecosystem adapt and evolved to this first change in surroundings and environment that we face today yeah i think i'm from a business perspective one of the things we really appreciate is being able to audit payments in an easy fashion one of the pieces of work that comes up later not when you're starting out in a small startup but when you get to kind of like hundreds of thousands and millions of kind of like transactions you've also got to think about pci compliance so how use and protecting credit card information even if you're not necessarily using it who are you passing it off to who's doing that work so being able to audit it is something that's really really helpful for businesses as they grow um it also saves us doing the work another good thing that's really helpful in that in terms of going forward we all have to work on building trust and making sure that all of the payment systems are fully transparent to the customer and they understand what any extra fees are about so the more transparent we are the more people will trust us and we have to do that not just as payment processors as a company but also like companies like spot hero doing the right by the customers now we believe that there is great knowledge behind each project each team working on on you know real applications real services real products so we'd like to ask you about a well-kept secret or a tip or a recipe that you use and practice at spot hero that you think every developer should know about yeah i think a lot of tech companies are very similar because we learn and share from each other whether you hear transparency autonomy um making sure we have blameless retros making sure you have the opportunity to work with cutting-edge technology a lot of us do that i think from a spot here perspective one of the things we deeply care about is we don't view you as a resource or cog in a wheel or a hamster and a ball we view you as a human and so when we think about our decision making about where people move what is their career growth we're not just thinking about your ability to write code or even your ability to collaborate as an engineer we're thinking about you what do you like when you go home how are you surviving the environment whatever that be so thinking about the wider perspective of this human we really care about and i think that's something that as a tech industry we should pay a lot of attention to yeah i was about to comment on that but i think you said it best so i think the uh the the one thing that i could say is thank you so much for sharing that bit of time and your knowledge with us and with our viewers and i really wish you all the best for any existing and new adventures ahead so thank you thank you eric for being with us yeah it's great to be here today jose and that was uh eric brook from spot hero thank you to you all for watching and i'll see you next time you
Original Description
Welcome to the very first chat about Payments for developers. Join Jose Ugia, Developer Relations Engineer on the Google Pay team as he chats with Chief Technology Officer of SpotHero, Eric Brooke. Eric discusses the benefits and challenges of integrating digital payments in SpotHero’s Android application, their experience with Google Pay, and other helpful tips for developers like you.
0:00 - Introduction
0:26 - SpotHero, our guest today
1:01 - SpotHero’s tech stack
1:54 - Dynamic pricing strategies
2:51 - Technical challenges of building a product like SpotHero
5:03 - Making payments as simple as possible for your customers
6:10 - What was your experience integrating Google Pay on Android?
6:53 - Testing payments in pre-production environments
7:19 - Using test cards with Google Pay → https://goo.gle/android-testing
7:56 - The impact of Google Pay for the SpotHero Android application
8:57 - How would you like to see digital payments evolve in the future?
10:07 - #ourGuestAdvice
Follow on Twitter → https://twitter.com/googlepaydevs
Google Pay for Android → https://g.co/pay/test-cards
Access Google Pay Business Console to get your Merchant ID → https://goo.gle/business-console
Subscribe to Google Developers → https://goo.gle/developers
#GooglePay #Developers #GooglePayAPI
Products Mentioned: Google Pay
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Google for Developers · Google for Developers · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Developer Journey - Sunnyvale DSC Summit ‘19
Google for Developers
How Google is working with students - Sunnyvale DSC Summit ‘19
Google for Developers
Starting your career in the Cloud - Sunnyvale DSC Summit ‘19
Google for Developers
The Solution Challenge - Sunnyvale DSC Summit ‘19
Google for Developers
Firebase - Sunnyvale DSC Summit ‘19
Google for Developers
Cloud Hero - Sunnyvale DSC Summit ‘19
Google for Developers
Panel discussion - Sunnyvale DSC Summit ‘19
Google for Developers
The art of negotiation - Sunnyvale DSC Summit ‘19
Google for Developers
Courage to care, solve and share - Sunnyvale DSC Summit ‘19
Google for Developers
Version 9 of Angular, Glass Enterprise Edition 2, path to DX deprecation, & more!
Google for Developers
[DEPRECATING] Introducing a new series (Assistant for Developers Pro Tips)
Google for Developers
Detecting memory bugs with HWASan, Bazel 2.1, Next ‘20 session guide, & more!
Google for Developers
Why Podcast.app chose a .app domain name
Google for Developers
Machine Learning Bootcamp Jakarta 2019
Google for Developers
Android Studio 3.6, Android 11 Developer Preview, Kubeflow 1.0, & more!
Google for Developers
[DEPRECATING] Importance of community (Assistant on Air)
Google for Developers
Why the Flutter team switched from .io to a .dev domain name
Google for Developers
3 website-building tips from .dev creators
Google for Developers
Why NimbleDroid chose a .app domain name
Google for Developers
Android Platform Codelab, Bazel 2.2, Maps Android Utility Library v1.0, & more!
Google for Developers
Google for Games Developer Summit: A free, digital experience for game developers
Google for Developers
Inspecting Home Graph (Assistant for Developers Pro Tips)
Google for Developers
Google for Games Developer Summit Keynote
Google for Developers
Stadia Games & Entertainment presents: Keys to a great game pitch (Google Games Dev Summit)
Google for Developers
Empowering game developers with Stadia R&D (Google Games Dev Summit)
Google for Developers
Supercharging discoverability with Stadia (Google Games Dev Summit)
Google for Developers
Stadia Games & Entertainment presents: Creating for content creators (Google Games Dev Summit)
Google for Developers
Bringing Destiny to Stadia: A postmortem (Google Games Dev Summit)
Google for Developers
Live Captioning in Google Slides
Google for Developers
[DEPRECATING] User engagement for the Google Assistant
Google for Developers
TensorFlow Dev Summit ‘20, Google for Games Dev Summit, Cloud AI Platform Pipelines, & much more!
Google for Developers
Top 5 from the TensorFlow Dev Summit 2020
Google for Developers
Developer Student Clubs 2019 Turkey Leads Summit
Google for Developers
Building simpler payment experiences | Google Pay Plugin for Magento 2
Google for Developers
Become A Developer Student Club Lead
Google for Developers
Firebase Kotlin Extensions, ARM apps on the Android Emulator, Angular v9.1, & more!
Google for Developers
Test suite for Smart Home (Assistant for Developers Pro Tips)
Google for Developers
Google Play updates, Bazel 3.0, Business Console for Google Pay, & more!
Google for Developers
How to use error logs (Assistant for Developers Pro Tips)
Google for Developers
Contact Center AI, Android Studio 4.1 Canary 5, TensorFlow QAT API, & more!
Google for Developers
WebView DevTools, Kotlin meets gRPC, Flutter CodePen support, & more! (Episode 200)
Google for Developers
Offline handling for Smart Home (Assistant for Developers Pro Tips)
Google for Developers
Android 11 Dev Preview 3, Google Fonts for Flutter, Shielded VM, & more!
Google for Developers
Machine Learning Foundations: Ep #1 - What is ML?
Google for Developers
Flutter web support updates, BigQuery materialized views, Cloud Spanner emulator, & more!
Google for Developers
Computer vision by building a neural network with TensorFlow | Machine Learning Foundations
Google for Developers
Machine Learning Foundations: Ep #3 - Convolutions and pooling
Google for Developers
Android 11 Beta plans, Flutter 1.17, Dart 2.8, & much more!
Google for Developers
Machine Learning Foundations: Ep #4 - Coding with Convolutional Neural Networks
Google for Developers
Google Developers ML Summit
Google for Developers
Real-world image classification using convolutional neural networks | Machine Learning Foundations
Google for Developers
Adobe XD support for Flutter, Architecture Framework, temporary closures with Places API, & more!
Google for Developers
Machine Learning Foundations: Ep #6 - Convolutional cats and dogs
Google for Developers
Machine Learning Foundations: Ep #7 - Image augmentation and overfitting
Google for Developers
Announcing Firebase Live, Flutter Day, Java 11 on Google Cloud Functions, & more!
Google for Developers
Machine Learning Foundations: Ep #8 - Tokenization for Natural Language Processing
Google for Developers
Android 11 Beta, Google Play Asset Delivery, Firebase Crashlytics SDK, & much more!
Google for Developers
Natural Language Processing: Using sequencing APIs in TensorFlow | Machine Learning Foundations
Google for Developers
Build a sarcasm classifier using NLP and TensorFlow | Machine Learning Foundations
Google for Developers
AR Realism with the ARCore Depth API
Google for Developers
Related Reads
Chapters (12)
Introduction
0:26
SpotHero, our guest today
1:01
SpotHero’s tech stack
1:54
Dynamic pricing strategies
2:51
Technical challenges of building a product like SpotHero
5:03
Making payments as simple as possible for your customers
6:10
What was your experience integrating Google Pay on Android?
6:53
Testing payments in pre-production environments
7:19
Using test cards with Google Pay → https://goo.gle/android-testing
7:56
The impact of Google Pay for the SpotHero Android application
8:57
How would you like to see digital payments evolve in the future?
10:07
#ourGuestAdvice
🎓
Tutor Explanation
DeepCamp AI