SlideShare a Scribd company logo
Tales of Modernizing Trello’s
web stack
VINCENT KOK | ENGINEERING MANAGER | ATLASSIAN | @VINCENTKOK
Trello
Engineering Manager at
Trello
About me
@vincentkok
Feel free to reach out
Dutch
You’ve probably already
heard that ;)
React
Solid industry standard and
the default within Atlassian.
TypeScript
The winner in the typed JS
space.
Key technologies
DISCLAIMER!
I’M AN ENGINEERING
MANAGER AND MOSTLY
BACKEND DEV :)
REACT SPRING
FRAMEWORK
Why ? Tales from
the past
Tales from
the present
Tales from
the future
Agenda
The reason for modernizing
https://flic.kr/p/aayTHr
TRELLO: WAS BUILT ON TOP
OF THE LATEST TECHNOLOGY
Backbone
First release 2010, 1 year old.
Some tech decisions in 2011
Propriety build system
Did what it needed todo, no
other great alternatives.
CoffeeScript
First appeared in 2009, two
years old.
After 9 years this tech is aging
https://flic.kr/p/aAca95
Growing number of contributors
Invest in the
future
Viable long term tech
stack.
Talent
We want to keep our
talent engaged and
explaining React is a
better sell when
hiring.
Dev speed
Maintaining the
ability to ship and
having the right dev
experience is
important.
Performance
Who doesn’t want to
have a snappy UX?
Drivers for a new tech stack
Simply a shift in where
performance is easier and
harder.
DANIEL ANNESLEY - ATLASSIAN ENGINEER
~200k LOC
A non-trivial amount of code.
26 routes
However, a lot of detail inside.
Trello codebase
Trello is realtime
Tales from the past
https://flic.kr/p/7qGxb1
Joel would tell people early on you gotta
shoot gamma rays at Trello, mutate it
and figure out what works and doesn’t,
it’s ok if we shut something down.
MICHAEL PRYOR
Tales of modernizing trello's web stack
Upgrading the Trello Front-End
https://flic.kr/p/8MrDrs
3
Attempts
Attempt 1: Go Dark
https://flic.kr/p/tJbJf5
Clean
architecture
No concessions.
Focus
No distraction for the
team.
No feedback
Will be hard to ship
for a long time.
Feature parity
Other teams will
move forward.
Go Dark: Pros and Cons
II
Attempt 2: Incremental
https://flic.kr/p/48V2XX
No Big-Bang
Significantly reduced
risk and something to
aim for.
Early feedback
Get feedback on
quality and
milestones.
Solve two
problems
Re-write and mixing
old and new tech.
Added
complexity
How to make sure
we end up with this
big mess?
Incremental: Pros and Cons
?
How to implement the transition incrementally?
6 options!
Criteria
Industry Standard
Make sure on boarding is simple, limit
the amount of proprietary
frameworks.
Ship fast and often
We want early feedback on the work
we’re doing.
DFTC
Customers should not be aware of
this.
Dev Experience
Working on the Trello Front-End is the
best experience possible.
A CLEAR WINNER:
PAGE LEVEL APPROACH
Step 1: Re-write the Header
Step 2: Route by route
/:username/cards
/b/:boardId
/b/:boardId/c/cardId
…
Just a simple matter of
programming
https://flic.kr/p/5Y5QPG
WRONG
Accidental patterns
We didn’t have a process in place to
establish patter, code was getting messy
very quickly.
Low velocity
Team velocity wasn’t picking up, way
behind our estimates.
Why were we failing?
https://memegenerator.net/instance/59809489/why-suffering-guy-2-but-why
Shaky foundation
The code we wrote earlier
was becoming stale and not
how we wanted to move
forward.
Technical reasons
Pure architecture is
and end-state
Focus on a reasonable state
and iterate.
Establishing patterns
is hard
React seems simple but there
are many ways doing the
same thing, take time to build
them out.
PICK ONLY ONE GOAL, THAT’S
IT
YOU WILL
UNDERESTIMATE
Don’t do rewrites
Tales about the present
https://flic.kr/p/8QULy5
BACK TO ONE GOAL
ENABLE 2 OR MORE TEAMS
TO USE NEW TECH TO WRITE
FEATURES
Remember these?
Attempt 3: Leaves and Nodes
https://flic.kr/p/aJ8Sx
Tales of modernizing trello's web stack
One key component added
GraphQL
Going beyond REST, build for
the future.
React
Solid industry standard and
the default within Atlassian.
TypeScript
The winner in the typed JS
space.
Tales of modernizing trello's web stack
Batteries
included
Render API
Mix-in in React components
into the “old” code base.
State management
State is managed via
GraphQL, component don’t
know anything about the
Backbone models.
Required API’s
<GammaComponentWrapper/>
Tales of modernizing trello's web stack
Tales of modernizing trello's web stack
No GraphQL
Server
support
Front-End GraphQL only
Enablement is key
https://flic.kr/p/6xZAmc
Pit of success
Feature Team
Continue to re-write some of
the key elements.
Front-End Platform
team
Focus on enablement.
Split up our team
Onboarding and
engagement
Make it as easy to get started
and create shared ownership.
Front-End platform team
Enable and Enforce
Provide guardrails and scale
out patterns via automation.
Provide batteries
Multiply the engineering
team by providing them tools
and API’s to ship features.
Establishing patterns
Pause at one
way doors
Pause at hard to revert
decisions, make them very
deliberate.
No abstraction
over wrong one
Do not abstract things
away, there is nothing
wrong with duplicating
some code.
Optimize for
change
You will learn and this will
make you change how you do
things.
Eligible
ENGAMENT MODEL
Consider
limitation
Establish
patterns
ENGAGE
EMBED ENGINEERBuild out feature
Technical
design
Team
proficient
Share learnings
Weekly meeting with all tech leads to
discuss patterns, components,
problems and learnings.
Create space to
discuss direction
and direct shared
ownership
FRONT-END FORUM
2
Onboarding
Measure
Tales from the future
https://flic.kr/p/rbEVPW
API
API in place to allow team to
focus on features.
Continue to build the pit of success
Tools
Enable and enforce, continue
to automate as much as
possible.
Scale
We want to have
autonomous teams, the high
touch model does not scale
Cleanup
https://flic.kr/p/nXpuSh
What should you take home?
https://flic.kr/p/ocwc2h
Key takeaways
You will underestimate
You will find an enormous amount of
depth in existing features, be careful
with re-writes.
Ideal architecture is an end-
state
Start with a reasonable state and
iterate from there.
Set one goal
Do not conflate two goals as it will
make it hard to make the right
decisions.
New technology is hard
Establishing new patterns will take
time to learn, start small and expand
when you’re ready.
Thank you!
VINCENT KOK | ENGINEERING MANAGER | ATLASSIAN | @VINCENTKOK

More Related Content

PDF
Summer "Tuning" in Jira and DevSecOps
PDF
Future of Your Atlassian Platform - Data Center and Cloud Migration
PDF
Bridging the Gap: Team Collaboration with Backbone – Issue Sync for JIRA
PDF
Team 21 Recap and ScriptRunner in the Cloud
PDF
AUG NYC Presentation Feb 13 Event
PDF
ACE NYC November 2021 Slideshare Deck
PDF
Architecting Atlassian for Healthcare and FDA Compliance
PPTX
Unlock DevOps success with Atlassian - www.bdq.cloud
Summer "Tuning" in Jira and DevSecOps
Future of Your Atlassian Platform - Data Center and Cloud Migration
Bridging the Gap: Team Collaboration with Backbone – Issue Sync for JIRA
Team 21 Recap and ScriptRunner in the Cloud
AUG NYC Presentation Feb 13 Event
ACE NYC November 2021 Slideshare Deck
Architecting Atlassian for Healthcare and FDA Compliance
Unlock DevOps success with Atlassian - www.bdq.cloud

What's hot (17)

PDF
Mission Possible: How VMware's Private Cloud Migrated to Jira Service Desk
PDF
Improve Customer Service with Automated Sales and Order Lifecycle Processes U...
PPTX
DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018
PDF
Ultimate Dogfooding: Behind the Scenes of Building the New Jira
PDF
Focus, Governance, and Innovation: How LinkedIn Scaled to 3M Jira Issues and ...
PDF
How to Develop, Track, and Release Like a Boss Using Atlassian Tools
PPTX
Cloud-Native Workshop New York- Pivotal
PPTX
DevOpsGroup Cloud Adoption Frameworks - agile south coast
PDF
The Coming Tsunami in Microservices: Operating Microservices at Scale
PDF
Jira & Ansible: Streamlining Jira Server Administration for the Enterprise
PDF
The Top 5 Skills Enterprise Admins Need to Know
PDF
Business value pipeline with atlassian products
PDF
How Atlassian Manages Risk and Compliance with Jira Software and Confluence
PDF
The Big Migration: How Cerner Moved From Confluence 3.5 to 5.8
PDF
Going Right! Software Delivery with Atlassian Solution
PDF
JIRA Keynote Summit 2014
PPTX
Stephane Lapointe: L’expérience DEVTEST
Mission Possible: How VMware's Private Cloud Migrated to Jira Service Desk
Improve Customer Service with Automated Sales and Order Lifecycle Processes U...
DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018
Ultimate Dogfooding: Behind the Scenes of Building the New Jira
Focus, Governance, and Innovation: How LinkedIn Scaled to 3M Jira Issues and ...
How to Develop, Track, and Release Like a Boss Using Atlassian Tools
Cloud-Native Workshop New York- Pivotal
DevOpsGroup Cloud Adoption Frameworks - agile south coast
The Coming Tsunami in Microservices: Operating Microservices at Scale
Jira & Ansible: Streamlining Jira Server Administration for the Enterprise
The Top 5 Skills Enterprise Admins Need to Know
Business value pipeline with atlassian products
How Atlassian Manages Risk and Compliance with Jira Software and Confluence
The Big Migration: How Cerner Moved From Confluence 3.5 to 5.8
Going Right! Software Delivery with Atlassian Solution
JIRA Keynote Summit 2014
Stephane Lapointe: L’expérience DEVTEST
Ad

Similar to Tales of modernizing trello's web stack (20)

PDF
Codemotion Berlin 2015 recap
PPTX
How HubSpot Builds its Engineering Culture (While Maintaining Speed)
PDF
Simplified DevOps Bliss -with OpenAI API
PDF
Scaling Autonomy in a FinTech Unicorn - WeAreDevelopers 2019
PDF
Wrangling Large Scale Frontend Web Applications
PDF
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
PDF
GitLab Frontend and VueJS at GitLab
PDF
Progressive Web Apps 101 - NationJS
PDF
React Native for Business Solutions: Building Scalable Apps for Success
PPTX
WebVisions: ISITE Design and CCLI on Platformication
PPTX
Cloud foundry, Lessons Learned at The Home Depot
PPTX
Enhancing Software Engineering Practices at Our Startup.pptx
PDF
QCon SF 2022: The Secret to Finding Impactful Projects to Land a Staff-Plus E...
PDF
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
PDF
Gustavo Delgado - Qué esperan de tí como desarrollador remoto
PDF
Enabling Lean at Enterprise Scale: Lean Engineering in Action
PDF
"React applications Failures", Nikita Galkin
PPTX
HotelQuickly Product & Engineering
PDF
Lean Engineering: How to make Engineering a full Lean UX partner
PDF
Get your mobile app in production in 3 months: Native and Reactive Mobile Apps
Codemotion Berlin 2015 recap
How HubSpot Builds its Engineering Culture (While Maintaining Speed)
Simplified DevOps Bliss -with OpenAI API
Scaling Autonomy in a FinTech Unicorn - WeAreDevelopers 2019
Wrangling Large Scale Frontend Web Applications
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
GitLab Frontend and VueJS at GitLab
Progressive Web Apps 101 - NationJS
React Native for Business Solutions: Building Scalable Apps for Success
WebVisions: ISITE Design and CCLI on Platformication
Cloud foundry, Lessons Learned at The Home Depot
Enhancing Software Engineering Practices at Our Startup.pptx
QCon SF 2022: The Secret to Finding Impactful Projects to Land a Staff-Plus E...
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
Gustavo Delgado - Qué esperan de tí como desarrollador remoto
Enabling Lean at Enterprise Scale: Lean Engineering in Action
"React applications Failures", Nikita Galkin
HotelQuickly Product & Engineering
Lean Engineering: How to make Engineering a full Lean UX partner
Get your mobile app in production in 3 months: Native and Reactive Mobile Apps
Ad

More from Vincent Kok (14)

PDF
Why you're failing your remote workers - DWSC18
PDF
Microservices 5 things i wish i'd known java with the best 2018
PDF
Dev opstalks 2018 releasing the monolith on a daily basis
PDF
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
PDF
Microservices 5 Things I Wish I'd Known - JFall 2017
PDF
Need to-know patterns building microservices - java one
PDF
Microservices 5 things i wish i'd known code motion
PDF
Releasing the monolith on a daily basis - CodeMash
PDF
Confluence of Broken Windows JavaOne 2016
PDF
Connecting Connect with Spring Boot
PDF
Microservices 5 things i wish i'd known - The MeetUp edition
PDF
Microservices 5 things i wish i'd known
PDF
Irina Winterreis 2011
PPT
Irina Winterreis 2011
Why you're failing your remote workers - DWSC18
Microservices 5 things i wish i'd known java with the best 2018
Dev opstalks 2018 releasing the monolith on a daily basis
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Microservices 5 Things I Wish I'd Known - JFall 2017
Need to-know patterns building microservices - java one
Microservices 5 things i wish i'd known code motion
Releasing the monolith on a daily basis - CodeMash
Confluence of Broken Windows JavaOne 2016
Connecting Connect with Spring Boot
Microservices 5 things i wish i'd known - The MeetUp edition
Microservices 5 things i wish i'd known
Irina Winterreis 2011
Irina Winterreis 2011

Recently uploaded (20)

PPTX
Transform Your Business with a Software ERP System
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
L1 - Introduction to python Backend.pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
history of c programming in notes for students .pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
System and Network Administration Chapter 2
PPTX
Introduction to Artificial Intelligence
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Computer Software and OS of computer science of grade 11.pptx
Transform Your Business with a Software ERP System
PTS Company Brochure 2025 (1).pdf.......
Digital Systems & Binary Numbers (comprehensive )
Design an Analysis of Algorithms I-SECS-1021-03
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Design an Analysis of Algorithms II-SECS-1021-03
L1 - Introduction to python Backend.pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
history of c programming in notes for students .pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
System and Network Administration Chapter 2
Introduction to Artificial Intelligence
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Softaken Excel to vCard Converter Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Understanding Forklifts - TECH EHS Solution
wealthsignaloriginal-com-DS-text-... (1).pdf
How to Migrate SBCGlobal Email to Yahoo Easily
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Computer Software and OS of computer science of grade 11.pptx

Tales of modernizing trello's web stack