SlideShare a Scribd company logo
1 of 89
Download to read offline
Michael Yagudaev
Prototyping Like It’s 2022
About Michael
• Indie Hacker @ conceptual.so (emojination.io), Skylab and
picturethat.io

• Full-stack Developer

• Previous Life: UserTesting, Ollie Order, Consultant, PM,
Founder, UX Designer, Corporate Employee

• Web dev since 2001, professionally 2010

• O
ffl
ine: snowboarding 🏂, cycling 🚴

• 2022 Obsession: #BuildInPublic, marketing, YC Startup
School
Outline
• Generating Ideas

• Exploring solutions

• Dividing the work

• Iterating and getting feedback
Where do we find ideas 💡?
Product Market Fit
Audience First
• 1. Find a group of people you want to help
• 2. Find where they hangout
• 3. Talk to them to
fi
nd an interesting problem
• 4. Solve the problem
• e.g. Talking to gamers about streaming and solving

the problem of live streaming on multiple platforms
Problem First
• 1. Brainstorm problems you encountered
• 2. Pick an interesting recurring problem
• 3. Solve the problem
• e.g. Basecamp solved their own problem 

of managing projects and clients
Solution First
• 1. Pick a new solution space: Web 3.0, AR/VR, AI,

new device/feature/API, etc
• 2. Brainstorm problems you can solve
• 3. Pick a problem that interests you
• 4. Find the audience (ideally you are part of it)
• 5. Build a solution
• e.g. Markus Frind created POF to experiment with

ASP.NET and pad his resume.
Why are you doing this?
• Learning?
• Make money?
• Get a promotion?
• Satisfy existing users?
• Satisfy new users?
• Intellectual curiosity?
• Fun?
• Good grade?
• Get a job?
• Simulated work
experience?
Exploring the Solutions Space
• Take a look at similar products
• Search GitHub for libraries and API that can help
• Take a look at demo projects on github or templates to get
you started
Example: PictureThat
• Explorered demos on Awesome ARKit
• One of them was ARBrush
PictureThat
• Paper Sketches
PictureThat
• Showed sketches to my mentor
• Challenged me to build it
• Built it in one afternoon
• July 14, 2017 - Tweet 

• Launched mid-Sep, 2017 on AppStore
Build something people want
• 50% marketing/traction
• 50% product
Clickable Mock up?
• Figma / Framer
• + Useful for quickly getting everyone on the same page
• + Easier to do longer-term planning around
• - Learning curve to design tool
• - Users can’t use it to solve their problem, thus super
fi
cial
feedback
• - Easy to
fi
t too many features that can take years of
development
Do you want to buy this?
Example: Emojination
• Problem
fi
rst
• Creating interesting job ads and 

announcements
• Inspired by headers.me
• Weekend project React + Next.js +
LocalStorage on Vercel
Why Prototype?
• Faster Feedback loop
• Get it to the hands of real users right away
• Shouldn’t take more than a few days or weeks.
Early Stage Startup - Ollie
• B2B Wholesale Platform for Alcohol
• V1: Spree Commerce - Jan, 2019, created a marketplace to make it easier for buyers. No one wanted that.
• V2: From scratch - March, 2019, 3 sr. devs (one played designer role)
• React, Graphql, Typescript, Apollo, Rails, Postgres, Elastic-Search, Our own Design System
• MVP: June, 2019, 3 sr. devs + 2 contractors
• Sales Litre becomes part of Ollie - October, 2019
• PHP, Angular, RESTful API
• V3: June, 2020 Rewrite
• Rails, Stimulus Re
fl
ex/Hotwire, Postgres, TailwindCSS
• 10 engineers, Jan 2021
• Sold July, 2021 NextGlass
Late Stage Startup -
UserTesting
• On-Demand usability testing enabling faster feedback cycles
• V1: 2007 VB
• V2: ~2010 Rewrite in Rails, Restful API, Angular.js
• V3: Graphql, Angular, Typescript, Apollo, Rails, MySQL,
Elastic-Search, Our own Design System
• Ongoing splitting into Microservices
• 200+ engineers,
fi
led IPO 2021
Skylab
• Started Oct 2018
• Python, Rails, React, React Native, AWS
• V1: 2018 Python ML
• V2: 2019 Rails + Python
• V3: 2020 React + Rails + Python
• Engineering: 8 Engineers, 2 Teams — ML and Product
What do you need?
• Fearless execution
• Relentless common sense
Dividing the work
• 1-person-army
• Frontend vs backend
• Full-stack by area
• Pair Full-stack on an area
• Clear the kanban board weekly
• if someone
fi
nishes their tasks, help other teammates with
theirs
Leadership
• Product owner and project manager roles
• Spend no more than 50% of the time on coding/design
tasks
Iterate, Iterate, then Iterate
again
• Your product will be 💩 day 1
• Accept it and iterate relentlessly.
• Ask people what it is 💩 for them
• One day it will be 🐛 => 🦋
• Video about design iterations: Youtube Video
Easier to revise
• Pick a good starting point
• Simple
• Addresses many of the requirements
• Saves you time
• Helps you focus on your unique value prop
Weekly Cadence
• Talk to users
• Write code
• Each week write an update and deploy code
Start with the UI
• Always start with the UI
• Users sees and interacts with it
• API is a UI for developers, if that’s your target user focus
on that
• Use a UI Kit or UI Starter Kit
UI Kits
• Find a UI kit both you and your users like
• https://chakra-ui.com/
• https://nativebase.io/
• https://divjoy.com/
• https://ant.design/
• https://mui.com/
• https://getbootstrap.com/
Try Pro/Templates UIs
• Plenty of great Free templates
• Consider buying pro, by pooling resources
• e.g. $20/person
• learn how authors write their code
• Hustle: email the author, tell them your poor students.
• Discount of free
Don’t overthink it
• Find what works for you
• Keep it simple
• Code duplication is a feature, not a bug
• Once you
fi
gure out the product based on feedback
• You can eliminate some duplication
Talking to Users
• Start talking to them day 0
• Figure out what they currently use and how they use it
• Let them try your product
• Capture their thoughts and feedback
• Do this every week and their feedback to guide you
Conceptual.so
• “AI” generated marketing images
• 4-week YC startup school build sprint
• Goal was to go beyond emojis (emojination.io)
• Talked to 21 people, 15 signups
• Focused on text => image after talking to people
• Still need more traditional graphics capabilities like Canva
and Figma offer
Analyzing User Interviews:
Super Human
https://review.
fi
rstround.com/how-superhuman-built-an-engine-to-
fi
nd-product-market-
fi
t
What they love What is missing
Possible Web Architectures Map
Possible Web Architectures Map
1. No/Low Code
1. No-Code/Low-Code Architecture
• Tools we can con
fi
gure to solve our problems

• Categories:

• 1. General Purpose hosted: Airtable, Bubble, GlideApps, Google Forms, NetSuite

• 2. General Purpose self-hosted: Wordpress, ActiveAdmin, Strapi

• 3. Website builders: SquareSpace, Web
fl
ow

• 4. Specialized hosted: ForestAdmin, Twilio Studio, Algolia

• 5. Specialized self-hosted: SugarCRM, Metabase, Odoo, SalesForce

• 6. Integration: Automate.io, Zapier, ifttt, segment.io

• 7. Web scraping: webscraper.io, ScrapeHero, ScrapeStorm
1. No-Code/Low-Code Architecture
• Pros

• Fast to start

• No/little code to write

• Less expensive then writing code

• Continuously improves (receiving updates)

• Uses best practices
1. No-Code/Low-Code Architecture
• Cons

• Learning curve

• Never prefect
fi
t for your use case

• Data silos in di
ff
erent tools

• Vendor lock

• No separate environments, staging/sandbox

• No automated tests

• testing tools like Ghost-inspector, solve that
Possible Web Architectures Map
2. Static-Site
2. Static-Site
• Simple HTML + CSS & JS site, no server-side logic

• Static site generators help on bigger sites: jekyll, hugo, middleman, …

• JAMStack is newer addition

• Javascript, Apis and Markup

• Gatsby.js, Netlify, Next.js*, etc

• Web apis exist for: login, shopping cart, cms, etc.





* more capable
2. Static-Site
• Pros

• Simple

• Uses web standards

• Easy to build

• Maximum
fl
exibility on look & feel

• Low cost hosting

• Lightweight bundles delivered to end-user
2. Static-Site
• Cons

• No direct access to dynamic data

• Data silos between 3rd-party apis

• Client-side only code, security challenges for APIs

• Requires integrating many 3rd-party services

• SEO needs to be considered (in contrast to e.g. Wordpress)
Possible Web Architectures Map
3. Frameworkless
3. Frameworkless
• Idea: minimize use of 3rd party deps

• Use language features and targeted libraries

• e.g. using raw node http server, express, sinatra,
fl
ask, next.js*

• can take approach on both client & server side
3. Frameworkless
• Pros

• Shallow learning curve

• Minimal & fast system

• Less things to go wrong

• Cons

• Integration burden is upon you

• More custom code required

• Limited community support (depending on language)
Possible Web Architectures Map
4. MVC Web Architecture
4. MVC Web-Architecture
• Model-View-Controller one
fi
rst design patterns

• Divides presentation and business logic concerns

• HTML over the wire, i.e. server renders html (view layer)

• Popular frameworks: Rails, Django, Sails.js, Play Framework, ASP.net Core,
Phonix, Laravel, …

• Refreshing data requires page reloads

• Send updates via HTML Forms
4. MVC Web-Architecture
• Pros

• Simple mental model

• Mature tech with good community support

• Rapid development cycle

• Fast initial load time

• Simpler for SEO

• Caching support: http caching, fragment caching, etc

• Well integrated components*
4. MVC Web-Architecture
• Cons

• Certain UX pattern not possible without custom JS

• Page redirects can make for awkward UX

• Larger subsequent network requests

• Network latency will make app feel sluggish (especially on mobile)
Possible Web Architectures Map
5. Reactive Server Architecture
5. Reactive Server Architecture
• Builds upon MVC Architecture

• Adds a
fi
ner grained reactive-loop

• HTML response is di
ff
ed and changes applied

• Uses web socket connection to minimize latency

• Libraries: Stimulus Re
fl
ex, Hotwire/Turbodrive, Live View, Blazor Server,
Socketpuppet, LiveWire
5. Reactive Server Architecture
• Pros

• No need for dedicated API layer

• Business logic stays on server

• Simple mental model, building upon existing one

• Cons

• Network latency

• UI state kept on server

• New and still early

• (rails) poor isolation of component state
Possible Web Architectures Map
6. Client/Server Architecture (SPA)
UserTesting Direction
• V3: Scaling engineering & product
• Graphql, Angular, Apollo, Microservice/Microfrontends,
Ruby/Rails, Go, other languages
• 200+ engineers and growing
• Slowly going away from Monolith
6. Client/Server Architecture (SPA)
• Client: in-charge of UI rendering

• Server: in-charge of data fetching + business rules

• Build explicit interface for communication

• REST

• Graphql

• RPC

• SOAP

• Transport medium: HTTP or Websockets
6. Client/Server Architecture (SPA)
• Pros

• Decouples UI from Data

• Max
fl
exibility on client

• Simple to understand

• Cons

• Requires dedicated API

• Requires syncing state 

• Duplication of logic — potential mis-match
Ollie in June, 2020
Ollie Direction
• V3: Simpli
fi
cation - June, 2020
• Tailwind, Stimulus Re
fl
ex, Rails, Database search, Our
own design system
• January, 2021 - fully replaced SPA with Reactive-Server
Architecture
Ollie in June, 2020
UserTesting in March, 2021
Skylab in Oct, 2021
Possible Web Architectures Map
7. Microservices Architecture
7. Microservices Architecture
• Breakdown backend monolith

• Each piece is an isolated process, either on the same or separate node

• Communication is done via Sockets, HTTP or event bus

• Protocols can be REST, gRPC, ProtocolBu
ff
, graphql

• Origin from Service Oriented Architecture (2000-2010)

• Serverless architecture is part of it
7. Microservices Architecture
• Pros

• Independent deployability & scalability

• Simpler & independent code bases

• Can use many di
ff
erent languages

• Easier to assign teams with clear boundaries

• Cons

• Hard to test entire system

• Hard to change boundaries

• Tracing errors across system becomes more di
ffi
cult

• Compounding latency when services call each other

• DevOps complexity
Possible Web Architectures Map
8. Micro Frontends
8. Micro Frontends
• Breakdown frontend monolith

• Container application manages mounting/unmounting of UIs

• Pulled down at runtime
8. Micro Frontends
• Pros

• Independent deployability UI + backend

• Incremental upgrades

• Simple independent code bases

• Autonomous cross-functional teams

• Cons

• Increase download size

• Inconsistency in UI between teams

• Devops complexity

• Environmental di
ff
erences between prod and dev
Possible Web Architectures Map
9. Exotic Architectures
9. Exotic Architectures
• Newer tech useful in speci
fi
c situations

• List

• CQRS/Event Sourcing

• GraphDBs - e.g. Neo4J

• Block-chain / Web3.0
Conclusion
Keep calm and iterate
One more thing…
• Participate in the community as you are
learning

• Post your wins/struggle, get inspired by
friends

• Twitter #100DaysOfCode or
#LearnInPublic

• Huge help when looking for a job

• Twitter is for Devs, Linkedin for hiring
managers
References
• https://martinfowler.com/articles/microservices.html

• https://martinfowler.com/articles/micro-frontends.html

• Clean Code - Robert Martin

• Clean Architecture - Robert Martin

• https://www.wired.com/2015/09/whatsapp-serves-900-million-users-50-
engineers/

• https://review.
fi
rstround.com/how-instagram-co-founder-mike-krieger-took-
its-engineering-org-from-0-to-300-people
Questions?
Twitter/Linkedin: @yagudaev
Website: yagudaev.com

More Related Content

What's hot

What Makes for a Successful Migration to SharePoint Online
What Makes for a Successful Migration to SharePoint OnlineWhat Makes for a Successful Migration to SharePoint Online
What Makes for a Successful Migration to SharePoint OnlineAndrea Mondello
 
LinkedIn Data Infrastructure (QCon London 2012)
LinkedIn Data Infrastructure (QCon London 2012)LinkedIn Data Infrastructure (QCon London 2012)
LinkedIn Data Infrastructure (QCon London 2012)Sid Anand
 
Schema less table & dynamic schema
Schema less table & dynamic schemaSchema less table & dynamic schema
Schema less table & dynamic schemaDavide Mauri
 
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...ITProceed
 
SharePoint Tips and Tricks to avoid migration headaches
SharePoint Tips and Tricks to avoid migration headachesSharePoint Tips and Tricks to avoid migration headaches
SharePoint Tips and Tricks to avoid migration headachesMike Maadarani
 
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsSPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsJill Hannemann
 
Mastering SharePoint Migration Planning
Mastering SharePoint Migration PlanningMastering SharePoint Migration Planning
Mastering SharePoint Migration PlanningChristian Buckley
 
Data ingestion using NiFi - Quick Overview
Data ingestion using NiFi - Quick OverviewData ingestion using NiFi - Quick Overview
Data ingestion using NiFi - Quick OverviewDurga Gadiraju
 
Mastering SharePoint Migration Planning
Mastering SharePoint Migration PlanningMastering SharePoint Migration Planning
Mastering SharePoint Migration PlanningChristian Buckley
 
One101 double the trouble double the fun_ migrating to one_drive and sharepoi...
One101 double the trouble double the fun_ migrating to one_drive and sharepoi...One101 double the trouble double the fun_ migrating to one_drive and sharepoi...
One101 double the trouble double the fun_ migrating to one_drive and sharepoi...Craig Jahnke
 
11 Strategic Considerations for SharePoint Migrations
11 Strategic Considerations for SharePoint Migrations11 Strategic Considerations for SharePoint Migrations
11 Strategic Considerations for SharePoint MigrationsChristian Buckley
 
Metadata & Interoperability: Free Tools
Metadata & Interoperability: Free ToolsMetadata & Interoperability: Free Tools
Metadata & Interoperability: Free ToolsMike Jennings
 
Iris Multi-Class Classifier with Azure ML
Iris Multi-Class Classifier with Azure MLIris Multi-Class Classifier with Azure ML
Iris Multi-Class Classifier with Azure MLDavide Mauri
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsBrian Caauwe
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday SeasonG3 Communications
 
Summit 2011 infra_dbms
Summit 2011 infra_dbmsSummit 2011 infra_dbms
Summit 2011 infra_dbmsPini Cohen
 
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper OosterveldO365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper OosterveldNCCOMMS
 
How Atrium Health Implemented and Governs Office 365
How Atrium Health Implemented and Governs Office 365How Atrium Health Implemented and Governs Office 365
How Atrium Health Implemented and Governs Office 365Kelly Jones
 

What's hot (20)

What Makes for a Successful Migration to SharePoint Online
What Makes for a Successful Migration to SharePoint OnlineWhat Makes for a Successful Migration to SharePoint Online
What Makes for a Successful Migration to SharePoint Online
 
LinkedIn Data Infrastructure (QCon London 2012)
LinkedIn Data Infrastructure (QCon London 2012)LinkedIn Data Infrastructure (QCon London 2012)
LinkedIn Data Infrastructure (QCon London 2012)
 
Schema less table & dynamic schema
Schema less table & dynamic schemaSchema less table & dynamic schema
Schema less table & dynamic schema
 
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
 
SharePoint Tips and Tricks to avoid migration headaches
SharePoint Tips and Tricks to avoid migration headachesSharePoint Tips and Tricks to avoid migration headaches
SharePoint Tips and Tricks to avoid migration headaches
 
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsSPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
 
A Mashup with Backbone
A Mashup with BackboneA Mashup with Backbone
A Mashup with Backbone
 
Mastering SharePoint Migration Planning
Mastering SharePoint Migration PlanningMastering SharePoint Migration Planning
Mastering SharePoint Migration Planning
 
Data ingestion using NiFi - Quick Overview
Data ingestion using NiFi - Quick OverviewData ingestion using NiFi - Quick Overview
Data ingestion using NiFi - Quick Overview
 
Mastering SharePoint Migration Planning
Mastering SharePoint Migration PlanningMastering SharePoint Migration Planning
Mastering SharePoint Migration Planning
 
One101 double the trouble double the fun_ migrating to one_drive and sharepoi...
One101 double the trouble double the fun_ migrating to one_drive and sharepoi...One101 double the trouble double the fun_ migrating to one_drive and sharepoi...
One101 double the trouble double the fun_ migrating to one_drive and sharepoi...
 
DITA Interoperability
DITA InteroperabilityDITA Interoperability
DITA Interoperability
 
11 Strategic Considerations for SharePoint Migrations
11 Strategic Considerations for SharePoint Migrations11 Strategic Considerations for SharePoint Migrations
11 Strategic Considerations for SharePoint Migrations
 
Metadata & Interoperability: Free Tools
Metadata & Interoperability: Free ToolsMetadata & Interoperability: Free Tools
Metadata & Interoperability: Free Tools
 
Iris Multi-Class Classifier with Azure ML
Iris Multi-Class Classifier with Azure MLIris Multi-Class Classifier with Azure ML
Iris Multi-Class Classifier with Azure ML
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint Migrations
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
 
Summit 2011 infra_dbms
Summit 2011 infra_dbmsSummit 2011 infra_dbms
Summit 2011 infra_dbms
 
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper OosterveldO365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
 
How Atrium Health Implemented and Governs Office 365
How Atrium Health Implemented and Governs Office 365How Atrium Health Implemented and Governs Office 365
How Atrium Health Implemented and Governs Office 365
 

Similar to Prototyping Like It's 2022: Michael Yagudaev Shares Tips for Rapid Prototyping

Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
Untangling spring week2
Untangling spring week2Untangling spring week2
Untangling spring week2Derek Jacoby
 
360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010David Ortinau
 
Bridging the gap between UX and development – A Storybook
Bridging the gap between UX and development – A StorybookBridging the gap between UX and development – A Storybook
Bridging the gap between UX and development – A StorybookMarko Letic
 
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...DevClub_lv
 
Connecting Intelligent Content with Micropublishing and Beyond
Connecting Intelligent Content with Micropublishing and BeyondConnecting Intelligent Content with Micropublishing and Beyond
Connecting Intelligent Content with Micropublishing and BeyondDon Day
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftChristian Heilmann
 
Development Processes and Tooling
Development Processes and ToolingDevelopment Processes and Tooling
Development Processes and ToolingBora Bilgin
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)Oursky
 
Greenfield Java 2013
Greenfield Java 2013Greenfield Java 2013
Greenfield Java 2013Will Iverson
 
HTML Prototyping - IxDA Presentation
HTML Prototyping - IxDA PresentationHTML Prototyping - IxDA Presentation
HTML Prototyping - IxDA PresentationRobert Bastian
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014Steven Andrews
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesAndy_Gaskell
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
How to write a web framework
How to write a web frameworkHow to write a web framework
How to write a web frameworkNgoc Dao
 
Building Large Mobile Apps
Building Large Mobile AppsBuilding Large Mobile Apps
Building Large Mobile AppsAdam Magaña
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 

Similar to Prototyping Like It's 2022: Michael Yagudaev Shares Tips for Rapid Prototyping (20)

Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
Jumpstart Your Web App
Jumpstart Your Web AppJumpstart Your Web App
Jumpstart Your Web App
 
Untangling spring week2
Untangling spring week2Untangling spring week2
Untangling spring week2
 
360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010
 
Bridging the gap between UX and development – A Storybook
Bridging the gap between UX and development – A StorybookBridging the gap between UX and development – A Storybook
Bridging the gap between UX and development – A Storybook
 
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
 
Connecting Intelligent Content with Micropublishing and Beyond
Connecting Intelligent Content with Micropublishing and BeyondConnecting Intelligent Content with Micropublishing and Beyond
Connecting Intelligent Content with Micropublishing and Beyond
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and Microsoft
 
Platform Selection
Platform SelectionPlatform Selection
Platform Selection
 
Development Processes and Tooling
Development Processes and ToolingDevelopment Processes and Tooling
Development Processes and Tooling
 
Last Call Media Drupal 8 Case Study
Last Call Media Drupal 8 Case StudyLast Call Media Drupal 8 Case Study
Last Call Media Drupal 8 Case Study
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
 
Greenfield Java 2013
Greenfield Java 2013Greenfield Java 2013
Greenfield Java 2013
 
HTML Prototyping - IxDA Presentation
HTML Prototyping - IxDA PresentationHTML Prototyping - IxDA Presentation
HTML Prototyping - IxDA Presentation
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
How to write a web framework
How to write a web frameworkHow to write a web framework
How to write a web framework
 
Building Large Mobile Apps
Building Large Mobile AppsBuilding Large Mobile Apps
Building Large Mobile Apps
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 

Recently uploaded

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

Prototyping Like It's 2022: Michael Yagudaev Shares Tips for Rapid Prototyping

  • 2. About Michael • Indie Hacker @ conceptual.so (emojination.io), Skylab and picturethat.io • Full-stack Developer • Previous Life: UserTesting, Ollie Order, Consultant, PM, Founder, UX Designer, Corporate Employee • Web dev since 2001, professionally 2010 • O ffl ine: snowboarding 🏂, cycling 🚴 • 2022 Obsession: #BuildInPublic, marketing, YC Startup School
  • 3.
  • 4. Outline • Generating Ideas • Exploring solutions • Dividing the work • Iterating and getting feedback
  • 5. Where do we find ideas 💡? Product Market Fit
  • 6. Audience First • 1. Find a group of people you want to help • 2. Find where they hangout • 3. Talk to them to fi nd an interesting problem • 4. Solve the problem • e.g. Talking to gamers about streaming and solving
 the problem of live streaming on multiple platforms
  • 7. Problem First • 1. Brainstorm problems you encountered • 2. Pick an interesting recurring problem • 3. Solve the problem • e.g. Basecamp solved their own problem 
 of managing projects and clients
  • 8. Solution First • 1. Pick a new solution space: Web 3.0, AR/VR, AI,
 new device/feature/API, etc • 2. Brainstorm problems you can solve • 3. Pick a problem that interests you • 4. Find the audience (ideally you are part of it) • 5. Build a solution • e.g. Markus Frind created POF to experiment with
 ASP.NET and pad his resume.
  • 9. Why are you doing this? • Learning? • Make money? • Get a promotion? • Satisfy existing users? • Satisfy new users? • Intellectual curiosity? • Fun? • Good grade? • Get a job? • Simulated work experience?
  • 10. Exploring the Solutions Space • Take a look at similar products • Search GitHub for libraries and API that can help • Take a look at demo projects on github or templates to get you started
  • 11. Example: PictureThat • Explorered demos on Awesome ARKit • One of them was ARBrush
  • 13. PictureThat • Showed sketches to my mentor • Challenged me to build it • Built it in one afternoon • July 14, 2017 - Tweet • Launched mid-Sep, 2017 on AppStore
  • 14. Build something people want • 50% marketing/traction • 50% product
  • 15. Clickable Mock up? • Figma / Framer • + Useful for quickly getting everyone on the same page • + Easier to do longer-term planning around • - Learning curve to design tool • - Users can’t use it to solve their problem, thus super fi cial feedback • - Easy to fi t too many features that can take years of development
  • 16. Do you want to buy this?
  • 17. Example: Emojination • Problem fi rst • Creating interesting job ads and 
 announcements • Inspired by headers.me • Weekend project React + Next.js + LocalStorage on Vercel
  • 18. Why Prototype? • Faster Feedback loop • Get it to the hands of real users right away • Shouldn’t take more than a few days or weeks.
  • 19. Early Stage Startup - Ollie • B2B Wholesale Platform for Alcohol • V1: Spree Commerce - Jan, 2019, created a marketplace to make it easier for buyers. No one wanted that. • V2: From scratch - March, 2019, 3 sr. devs (one played designer role) • React, Graphql, Typescript, Apollo, Rails, Postgres, Elastic-Search, Our own Design System • MVP: June, 2019, 3 sr. devs + 2 contractors • Sales Litre becomes part of Ollie - October, 2019 • PHP, Angular, RESTful API • V3: June, 2020 Rewrite • Rails, Stimulus Re fl ex/Hotwire, Postgres, TailwindCSS • 10 engineers, Jan 2021 • Sold July, 2021 NextGlass
  • 20. Late Stage Startup - UserTesting • On-Demand usability testing enabling faster feedback cycles • V1: 2007 VB • V2: ~2010 Rewrite in Rails, Restful API, Angular.js • V3: Graphql, Angular, Typescript, Apollo, Rails, MySQL, Elastic-Search, Our own Design System • Ongoing splitting into Microservices • 200+ engineers, fi led IPO 2021
  • 21. Skylab • Started Oct 2018 • Python, Rails, React, React Native, AWS • V1: 2018 Python ML • V2: 2019 Rails + Python • V3: 2020 React + Rails + Python • Engineering: 8 Engineers, 2 Teams — ML and Product
  • 22. What do you need? • Fearless execution • Relentless common sense
  • 23. Dividing the work • 1-person-army • Frontend vs backend • Full-stack by area • Pair Full-stack on an area • Clear the kanban board weekly • if someone fi nishes their tasks, help other teammates with theirs
  • 24. Leadership • Product owner and project manager roles • Spend no more than 50% of the time on coding/design tasks
  • 25. Iterate, Iterate, then Iterate again • Your product will be 💩 day 1 • Accept it and iterate relentlessly. • Ask people what it is 💩 for them • One day it will be 🐛 => 🦋 • Video about design iterations: Youtube Video
  • 26. Easier to revise • Pick a good starting point • Simple • Addresses many of the requirements • Saves you time • Helps you focus on your unique value prop
  • 27. Weekly Cadence • Talk to users • Write code • Each week write an update and deploy code
  • 28. Start with the UI • Always start with the UI • Users sees and interacts with it • API is a UI for developers, if that’s your target user focus on that • Use a UI Kit or UI Starter Kit
  • 29. UI Kits • Find a UI kit both you and your users like • https://chakra-ui.com/ • https://nativebase.io/ • https://divjoy.com/ • https://ant.design/ • https://mui.com/ • https://getbootstrap.com/
  • 30. Try Pro/Templates UIs • Plenty of great Free templates • Consider buying pro, by pooling resources • e.g. $20/person • learn how authors write their code • Hustle: email the author, tell them your poor students. • Discount of free
  • 31. Don’t overthink it • Find what works for you • Keep it simple • Code duplication is a feature, not a bug • Once you fi gure out the product based on feedback • You can eliminate some duplication
  • 32. Talking to Users • Start talking to them day 0 • Figure out what they currently use and how they use it • Let them try your product • Capture their thoughts and feedback • Do this every week and their feedback to guide you
  • 33. Conceptual.so • “AI” generated marketing images • 4-week YC startup school build sprint • Goal was to go beyond emojis (emojination.io) • Talked to 21 people, 15 signups • Focused on text => image after talking to people • Still need more traditional graphics capabilities like Canva and Figma offer
  • 34.
  • 35. Analyzing User Interviews: Super Human https://review. fi rstround.com/how-superhuman-built-an-engine-to- fi nd-product-market- fi t What they love What is missing
  • 39. 1. No-Code/Low-Code Architecture • Tools we can con fi gure to solve our problems • Categories: • 1. General Purpose hosted: Airtable, Bubble, GlideApps, Google Forms, NetSuite • 2. General Purpose self-hosted: Wordpress, ActiveAdmin, Strapi • 3. Website builders: SquareSpace, Web fl ow • 4. Specialized hosted: ForestAdmin, Twilio Studio, Algolia • 5. Specialized self-hosted: SugarCRM, Metabase, Odoo, SalesForce • 6. Integration: Automate.io, Zapier, ifttt, segment.io • 7. Web scraping: webscraper.io, ScrapeHero, ScrapeStorm
  • 40. 1. No-Code/Low-Code Architecture • Pros • Fast to start • No/little code to write • Less expensive then writing code • Continuously improves (receiving updates) • Uses best practices
  • 41. 1. No-Code/Low-Code Architecture • Cons • Learning curve • Never prefect fi t for your use case • Data silos in di ff erent tools • Vendor lock • No separate environments, staging/sandbox • No automated tests • testing tools like Ghost-inspector, solve that
  • 44. 2. Static-Site • Simple HTML + CSS & JS site, no server-side logic • Static site generators help on bigger sites: jekyll, hugo, middleman, … • JAMStack is newer addition • Javascript, Apis and Markup • Gatsby.js, Netlify, Next.js*, etc • Web apis exist for: login, shopping cart, cms, etc.
 
 
 * more capable
  • 45. 2. Static-Site • Pros • Simple • Uses web standards • Easy to build • Maximum fl exibility on look & feel • Low cost hosting • Lightweight bundles delivered to end-user
  • 46. 2. Static-Site • Cons • No direct access to dynamic data • Data silos between 3rd-party apis • Client-side only code, security challenges for APIs • Requires integrating many 3rd-party services • SEO needs to be considered (in contrast to e.g. Wordpress)
  • 49. 3. Frameworkless • Idea: minimize use of 3rd party deps • Use language features and targeted libraries • e.g. using raw node http server, express, sinatra, fl ask, next.js* • can take approach on both client & server side
  • 50. 3. Frameworkless • Pros • Shallow learning curve • Minimal & fast system • Less things to go wrong • Cons • Integration burden is upon you • More custom code required • Limited community support (depending on language)
  • 52. 4. MVC Web Architecture
  • 53.
  • 54. 4. MVC Web-Architecture • Model-View-Controller one fi rst design patterns • Divides presentation and business logic concerns • HTML over the wire, i.e. server renders html (view layer) • Popular frameworks: Rails, Django, Sails.js, Play Framework, ASP.net Core, Phonix, Laravel, … • Refreshing data requires page reloads • Send updates via HTML Forms
  • 55. 4. MVC Web-Architecture • Pros • Simple mental model • Mature tech with good community support • Rapid development cycle • Fast initial load time • Simpler for SEO • Caching support: http caching, fragment caching, etc • Well integrated components*
  • 56. 4. MVC Web-Architecture • Cons • Certain UX pattern not possible without custom JS • Page redirects can make for awkward UX • Larger subsequent network requests • Network latency will make app feel sluggish (especially on mobile)
  • 58. 5. Reactive Server Architecture
  • 59.
  • 60. 5. Reactive Server Architecture • Builds upon MVC Architecture • Adds a fi ner grained reactive-loop • HTML response is di ff ed and changes applied • Uses web socket connection to minimize latency • Libraries: Stimulus Re fl ex, Hotwire/Turbodrive, Live View, Blazor Server, Socketpuppet, LiveWire
  • 61. 5. Reactive Server Architecture • Pros • No need for dedicated API layer • Business logic stays on server • Simple mental model, building upon existing one • Cons • Network latency • UI state kept on server • New and still early • (rails) poor isolation of component state
  • 64. UserTesting Direction • V3: Scaling engineering & product • Graphql, Angular, Apollo, Microservice/Microfrontends, Ruby/Rails, Go, other languages • 200+ engineers and growing • Slowly going away from Monolith
  • 65.
  • 66. 6. Client/Server Architecture (SPA) • Client: in-charge of UI rendering • Server: in-charge of data fetching + business rules • Build explicit interface for communication • REST • Graphql • RPC • SOAP • Transport medium: HTTP or Websockets
  • 67. 6. Client/Server Architecture (SPA) • Pros • Decouples UI from Data • Max fl exibility on client • Simple to understand • Cons • Requires dedicated API • Requires syncing state • Duplication of logic — potential mis-match
  • 69. Ollie Direction • V3: Simpli fi cation - June, 2020 • Tailwind, Stimulus Re fl ex, Rails, Database search, Our own design system • January, 2021 - fully replaced SPA with Reactive-Server Architecture
  • 75.
  • 76. 7. Microservices Architecture • Breakdown backend monolith • Each piece is an isolated process, either on the same or separate node • Communication is done via Sockets, HTTP or event bus • Protocols can be REST, gRPC, ProtocolBu ff , graphql • Origin from Service Oriented Architecture (2000-2010) • Serverless architecture is part of it
  • 77. 7. Microservices Architecture • Pros • Independent deployability & scalability • Simpler & independent code bases • Can use many di ff erent languages • Easier to assign teams with clear boundaries • Cons • Hard to test entire system • Hard to change boundaries • Tracing errors across system becomes more di ffi cult • Compounding latency when services call each other • DevOps complexity
  • 80.
  • 81. 8. Micro Frontends • Breakdown frontend monolith • Container application manages mounting/unmounting of UIs • Pulled down at runtime
  • 82. 8. Micro Frontends • Pros • Independent deployability UI + backend • Incremental upgrades • Simple independent code bases • Autonomous cross-functional teams • Cons • Increase download size • Inconsistency in UI between teams • Devops complexity • Environmental di ff erences between prod and dev
  • 85. 9. Exotic Architectures • Newer tech useful in speci fi c situations • List • CQRS/Event Sourcing • GraphDBs - e.g. Neo4J • Block-chain / Web3.0
  • 87. One more thing… • Participate in the community as you are learning • Post your wins/struggle, get inspired by friends • Twitter #100DaysOfCode or #LearnInPublic • Huge help when looking for a job • Twitter is for Devs, Linkedin for hiring managers
  • 88. References • https://martinfowler.com/articles/microservices.html • https://martinfowler.com/articles/micro-frontends.html • Clean Code - Robert Martin • Clean Architecture - Robert Martin • https://www.wired.com/2015/09/whatsapp-serves-900-million-users-50- engineers/ • https://review. fi rstround.com/how-instagram-co-founder-mike-krieger-took- its-engineering-org-from-0-to-300-people