Modern JavaScript in Practice
Like Duolingo, but for Modern JavaScript in Practice. Tomo turns the whole topic into a game you play five minutes a day, until it actually sticks.
For the part of you with thirty open tabs that never became anything.
A short one: 9 levels across 2 sections, about 18 minutes end to end, roughly 4 days at five minutes a day. It moves through Building Interactive Components and Architecture and Performance. It assumes you already know the basics.
Free forever · No credit card · iPhone & Android

Key ideas in Modern JavaScript in Practice
- Events bubble up from the child to the parent container automatically
- Data attributes store configuration or state directly in the HTML markup
- The event.target property identifies the specific element that was clicked
- The dataset object maps data attributes to camelCase Javascript properties
- A single listener on the parent handles elements added to the DOM later
- Javascript reads these values to sync UI state with application logic
- Applying event delegation to handle dynamic list items
- Accessing state stored in data attributes via the dataset API
- The .content property holds the template's document fragment
- importNode or cloneNode creates a live instance of the dormant markup
- Templates do not render or load resources until they are cloned
- The sequence for instantiating a template tag
- Scroll events fire constantly and can cause significant layout jank
- Intersection Observer triggers a callback only when thresholds are crossed
- The browser optimizes visibility checks outside of the main execution loop
- Understanding the performance benefit of Intersection Observer
You've tried the other tabs
Thirty open tabs. Four facts you actually kept.
You watched. You nodded. By Sunday it was gone.
One answer, then back to scrolling.
Eight weeks. You meant to finish. You didn't.
Tomo gives Modern JavaScript in Practice the Duolingo treatment: levels, streaks, and quick quizzes that test what you just learned. That game loop is what the tabs above never had, so it's the one you actually finish.
Here's what playing it feels like
A real question from this course. Take your best guess.
Where is the most common place to store custom UI state or configuration values using data attributes?
Get it right to open this lesson and 8 more in the app.
Where Modern JavaScript in Practice takes you
Move beyond basic syntax to build high-performance, interactive web components. Learn the professional patterns used to manage state, handle asynchronous data, and manipulate the DOM with precision.
- 1
Building Interactive Components
- Dynamic UI with Modern DOM Patterns
- Resilient Asynchronous Workflows
- 2
Architecture and Performance
- State Management and Logic Flow
2 sections · 3 units · 9 levels. Built to play, not to enroll.
You pick the voice
Modern JavaScript in Practice is taught in the The Bestie style: your friend who just gets it. Want a different feel? In the app you can spin up the same topic in any of Tomo's teaching styles. Same facts, totally different vibe.
More Technology on Tomo
JavaScript Logic for Web and Mobile
Bridge the gap between basic syntax and professional application architecture. Master the logic patterns required to build responsive, high-performance apps that work seamlessly across every device.
Modern Front-End Architecture
Move beyond basic HTML and CSS to build scalable, high-performance web applications. Learn to architect components, manage complex state, and optimize the user experience like a professional engineer.
ServiceNow: Building Better Workflows
Move beyond basic data entry and start designing intelligent, automated solutions. Learn to balance client-side responsiveness with robust server-side logic to create a seamless enterprise experience.
Unreal Engine: Professional Workflows
Move beyond basic tutorials to build scalable, high-performance games. Master the architectural patterns, visual systems, and optimization tricks used by professional developers.
JavaScript Context and Object-Oriented Patterns
Master the most misunderstood keyword in JavaScript. Learn to control execution context, architect robust class hierarchies, and navigate the nuances of prototype-based inheritance.
AI Native Engineering
Build professional software from scratch using AI agents, even if you've never written a line of code. Learn to think like an architect and use the machine as your master craftsman.
Start Modern JavaScript in Practice today.
Download Tomo, search Modern JavaScript in Practice, and play your first lesson in under a minute.