"prismapp product demo and behind the scenes" by fauzan emmerling (prism)
TRANSCRIPT
Fauzan EmmerlingVP Engineering
• What is Prism
• Our Architecture
• Our Challenges
• Our Team
• Our Culture
• The Future
Agenda
Prism in a Nutshell
• “The Coral Experiment”
• 14% Conversion Rate
• Chat to buy works!
• A conversion booster tool
• Increase conversion by socially engaging with your customers
• Convert chat/sales agent into a super agent
• Currently live at tees.co.id and polkabeauty.com
What is Prism
Prism - Architecture
Split into 6 core domains:
• Access & Auth
• User
• Chat
• Product
• Checkout
• Analytics
Our Architecture
• Micro-services• Multiple languages
• Python• Go• Java• Scala• JavaScript• Ruby
• Multiple frameworks• Tornado• Flask• Gin• Play• Express
• Multiple storage engines• MariaDB• Cassandra• Elastic Search• Redis
• Containerized• Docker• Rancher
Our Architecture
And how we deal with ..Prism - Challenges
• Logging• Centralized via Logentries• Log from stdout and stderr
• Implement collection agent
• Debugging• Logentries
• Request ID to enable point to point consistency
• Monitoring• New relic• Internal metrics
• Data collection• Collection agent
• Highly scalable API
• Latency• Identify and remove bottlenecks• Effective routing
• Improve execution time
• Scalability• Vertical scalability• Docker and rancher
Our Challenges
Why rancher?
Our Challenges
Our Challenges
With rancher we can:• Easily add container and have it added to load balancers• Easily add host• Abstract data centers• Ensure zero downtime deployment• Adjust to the required scale in seconds• Have happier devs and ops
Our Challenges
Quality AssuranceTo ensure quality we do these steps of quality checking:
1. Unit test by developers
2. Integration test by developers
3. On PR Review all unit and integration test should pass
4. PR should get approval from more than 50% assigned reviewers
5. UI/instrumentation test
6. Load testing
7. Manual regression testing8. Smoke test after production deployment
Our Challenges
Prism - Team
• 20+ engineers• Web frontend, Android, iOS,
Backend, Data, DevOps• Junior to Lead level• 3 cities - Jakarta, Bandung, Jogja• Mostly in Jogja and Bandung
Our Team
Well..managing team across cities is
..Exciting!
• Over-communicate• Technically Strong• Weekly brownbag• Bi-weekly pinkbag• 1 hackweek per quarter - your ideas matter• Being active in community• Sports together (futsal, badminton, swimming)• Team dinner• BBQ Party• PS4 together• CS:GO together - Standup everyday at 4PM
Our Culture
Prism - How we see the future
Everything should be composable• Adaptive business process based on merchant• Merchant can self manage• Chat flows can be composed by merchants• Think of it as lego building blocks
The Future
Everything composable
The Future
The Future
Everything composable
Everything standardized
Introducing ACTA• Stands for Actor - Action - Object - Meta• A humane way of representing Activities within a socially themed
application• All components speak the same way• Easily composed by engineers and non-engineers
The Future
{ "actor": { "id": "2fe614af-266b-4773-a066-3b518763380b", "kind": "person" }, "action": "flight-search-with-budget", "object": { "id": "IDR-1000000", "kind": "currency-number" }, "meta": { "currency": "IDR", "number": 15000000, "origin": { "latitude": 40.730610, "longitude": -73.935242 }, "passengers": { "adults": 1, "children": 0, "infants": 0 } }}
The Future
ACTA example:
Everything data driven• Personalized experience• Smart triggers• Smart customization• Smart recommendation• NLP• Anything machine learning, you name it
The Future
Humanizing e-Commerce, let’s just call it Commerce.
Our Goal
Yes, we're hiring
https://www.prismapp.io/careers