
Talking with the Million.js team including Aiden Bai and Tobiloba Adedeji
Published:
The hosts talk with the Million.js team about performance optimizations for React, the challenges of open-source funding, and building a community.
Episode Description
The hosts talk with the Million.js team about performance optimizations for React, the challenges of open-source funding, and building a community.
Episode Summary
This conversation delves into the origins, motivations, and potential impact of Million.js, a library that aims to supercharge React’s rendering performance. The hosts and guests discuss technical topics such as virtual DOM replacements, specialized components for high data throughput, and how Million.js addresses bottlenecks in large, dynamic interfaces. They also explore the challenges of open-source funding, sharing insights into what it takes to sustain a project through community support and sponsorship. Alongside these core themes, the episode features perspectives on building an inclusive and engaged developer community, touching on documentation, developer relations, and real-world case studies. Midway through, the founder of Dimension.dev drops by to explain how his team is unifying various development tools into a single platform, adding another layer to the broader discussion about innovation in the JavaScript ecosystem. Throughout the conversation, the guests’ passion and ingenuity shine through, highlighting the vibrant community forming around performance-focused solutions and collaborative, forward-thinking approaches in tech.
Chapters
00:00 – Introduction and Show Kickoff
In this opening segment, the hosts set the stage for the episode by welcoming listeners to JavaScript Jam and explaining why they have scheduled a special start time. They introduce the premise of weekly live discussions, emphasizing that participation is encouraged for all skill levels—whether beginner or advanced in web development. The conversation moves on to highlight the excitement around today’s guests from the Million.js team. The hosts give a quick rundown of the show’s interactive format, inviting audience members to come up on stage, ask questions, and offer opinions. This segment establishes a welcoming, collaborative tone, underscoring the community-driven spirit that fuels JavaScript Jam each week and providing new listeners with an overview of what to expect.
04:00 – Meet the Hosts and Initial Banter
During these minutes, co-hosts Scott and Anthony formally introduce themselves, sharing their respective roles at Edgio and their enthusiasm for the day’s topic. They reiterate the open-mic nature of the session, encouraging listeners to raise their hands and join the discussion as it unfolds. The atmosphere is laid-back and friendly, with lighthearted banter that underscores the podcast’s informal but informative style. They tease the arrival of Aiden Bai from the Million.js team, building anticipation for the main discussion. By the end of this chapter, the audience is well-acquainted with the hosts’ personalities and the participatory format, setting the stage for more detailed explorations into React performance.
09:00 – Introducing Million.js and Guest Background
Here, Aiden Bai joins the conversation, providing an overview of Million.js. He explains how Million.js serves as a faster virtual DOM for React, enabling developers to wrap specific components and speed up rendering performance in data-heavy scenarios. Aiden recounts the project’s inspiration, touching on the tension between developer experience and user experience when using mainstream frameworks like React. He offers a glimpse into his personal background as a college student—and previously a high school student—who started hacking on side projects out of curiosity and boredom, ultimately building a tool that addresses real-world performance issues. The co-hosts jump in with clarifying questions about how Million.js fits into the broader React ecosystem, offering listeners immediate insight into the unique value proposition of the library.
14:00 – Technical Deep Dive: How Million.js Works
In this chapter, the discussion delves deeper into the architecture and underlying principles of Million.js. Aiden explains how the library replaces React’s default virtual DOM in specific scenarios by using an optimized block-based rendering approach. Key features, such as the block
function and the specialized For
component, are introduced, highlighting how they reduce overhead and unnecessary re-renders. The conversation also touches on the differences between Million.js and React’s existing optimizations, clarifying where each approach excels. Listeners gain an understanding of how this tool can be slipped into existing React codebases with minimal friction and immediate performance benefits, provided they identify the right use cases—like data tables or live dashboards—to see the most impact.
20:00 – Developer Experience vs. User Experience
Between minutes 20 and 25, the guests and hosts examine the perennial trade-off between a smooth developer experience and a performant user interface. Aiden notes that while React is highly regarded for its developer ergonomics, it may falter on slower devices or in data-intensive applications. The conversation turns philosophical, pondering whether frameworks should strive to be all-encompassing or if specialized tools like Million.js are necessary to fill performance gaps. Real-world anecdotes surface, revealing that bottlenecks often stem not just from the front-end library itself, but also from how data is fetched, handled, or rendered. This chapter underscores the complexity of real-world software, reminding listeners that performance optimization rarely has a one-size-fits-all solution.
25:00 – Handling Open-Source Challenges and Community Building
In this section, Aiden opens up about the emotional and logistical journey of maintaining an open-source project, explaining that engineering is just one facet of the effort. The hosts and audience share perspectives on community management, documentation, and the balancing act of long-term sustainability. Aiden addresses the difficulty of funding open-source work, revealing that even popular or technically innovative projects can struggle to secure financial backing. The conversation widens to include tips on soliciting sponsors, fostering contributor relationships, and avoiding burnout. This segment provides a candid look at the real-world pressures faced by maintainers, along with practical advice on how to build and nurture a thriving developer community.
30:00 – Balancing School, Side Projects, and Professional Work
During minutes 30 to 35, the conversation shifts to Aiden’s personal schedule, illustrating how he balances university studies with the demands of an active open-source library. The hosts reflect on the unique challenges and opportunities faced by young developers who have grown up with easy access to powerful tech tools. Attendees share experiences about discovering programming at a young age, as well as the benefits of hacking on side projects for fun, which sometimes lead to significant breakthroughs. The guests acknowledge that Million.js started as a project born from curiosity and boredom, pointing to the serendipitous ways major innovations can emerge from playful experimentation.
35:00 – Practical Use Cases for Million.js
In this chapter, the hosts and Aiden spotlight practical scenarios where Million.js truly shines. Aiden recounts a real-world success story working with Wyze, a company dealing with smart home camera data, where Million.js significantly sped up their UI. The conversation also touches on other potential high-throughput use cases, like massive data tables or dashboards that undergo frequent state updates. Audience members inquire about advanced patterns such as server components, hydration optimizations, and compatibility with GraphQL libraries. Aiden clarifies that while the library predominantly tackles the client-rendering bottleneck, it can integrate into more complex stacks. This segment leaves listeners with a clearer sense of how to identify and tackle performance pinch points using Million.js.
40:00 – Beyond React: Other Frameworks and Qwik Mentions
From minutes 40 to 45, the discussion broadens to performance strategies across the JavaScript ecosystem. The hosts and guests reference other frameworks like Svelte, Solid, and Qwik, comparing their respective takes on hydration, compiler-level optimizations, and fine-grained reactivity. Aiden acknowledges that while he focuses on making React faster through Million.js, exploring how alternative frameworks handle performance can yield valuable insights for cross-pollination. He encourages developers to look at the architectural underpinnings of various tools—like how Svelte compiles away the virtual DOM or how Qwik handles resumability—and to borrow best practices. This chapter underscores a shared goal of improving web user experiences, regardless of the chosen framework.
45:00 – Community Q&A: Real-World Integrations
During this interval, audience members jump up to ask questions about best practices, real-world adoption, and the unique “block” syntax. One listener describes integrating Million.js into a freelance project for a restaurant website, illustrating both the benefits and potential pitfalls of performance optimization in smaller-scale scenarios. Another participant is curious about using GraphQL solutions like React Query or URQL alongside Million.js. Aiden confirms that these integrations are often straightforward, so long as developers recognize that bottlenecks aren’t always in the view layer. By the end of this Q&A, listeners walk away with a more nuanced sense of how Million.js can slot into diverse project architectures and team contexts.
50:00 – Sneak Peeks and Future Plans
Here, the conversation turns to the future roadmap for Million.js. Aiden outlines ideas for dev tools that could automatically detect performance bottlenecks and suggest where block
or For
components might be most beneficial. The discussion touches on the possibility of evolving Million.js beyond a single library into a more comprehensive performance “stack,” including strategies around data fetching and server interactions. Aiden also hints at how server components (RSC) in React might impact or influence Million.js’s design going forward. This chunk ends with a sense of excitement about the library’s ongoing evolution, leaving listeners with the notion that major updates and expansions are on the horizon.
55:00 – Funding, Sponsorships, and Sustainability
Between minutes 55 and 60, open-source sustainability takes center stage again. Aiden and others share advice on how to approach potential sponsors, including large companies that stand to benefit from improved React performance. They discuss how to demonstrate value, craft compelling pitches, and ensure that financial backers see a clear return on investment. The conversation then branches into how open-source maintainers can provide perks for sponsors, such as early access or behind-the-scenes insights. The hosts offer examples of successful open-source funding models, emphasizing that balancing community goodwill with commercial viability is often delicate. By the end, the complexities of long-term funding and open governance become even clearer.
60:00 – Dimension.dev Founder Joins the Discussion
Around the one-hour mark, the founder of Dimension.dev, Tejas, appears, adding a new layer to the conversation. He explains Dimension.dev’s vision of unifying chat, deployments, issues, and project management into a single collaborative environment for development teams. Attendees are intrigued by how such a platform might integrate with tools like Million.js, fostering an ecosystem of high-performance front ends and streamlined developer workflows. Tejas shares his own journey—starting to code during lockdown, securing investments, and building a team of engineers. The synergy between open-source performance solutions and next-generation collaboration tools sparks excitement, illustrating how various projects can align to make development more efficient and community-driven.
65:00 – Building in Public: Networking and Visibility
Between minutes 65 and 70, attention shifts to the concept of “building in public.” Tejas and Aiden detail how tweeting progress updates, live-streaming coding sessions, or writing transparent roadmaps can attract both contributors and sponsors. The discussion also covers how community interactions can act as a feedback loop, revealing pain points or feature requests early. The group acknowledges the importance of forging partnerships with other open-source projects and developer platforms, whether for marketing, cross-promotion, or simply exchanging ideas. This segment underscores that building a strong network—online and offline—often plays an outsized role in a project’s long-term sustainability, especially for up-and-coming tools.
70:00 – Young Entrepreneurs in Tech
In this section, spanning minutes 70 to 75, the panel marvels at the emerging generation of teenage entrepreneurs and open-source maintainers. Both Aiden and Tejas represent a wave of young talent that has grown up with unlimited online resources, making them fearless about tackling complex technical challenges. They recount personal stories: Aiden’s early side projects leading to Million.js, and Tejas’s ventures culminating in Dimension.dev. The hosts and audience members reflect on how access to modern developer tools and supportive communities can accelerate learning. This conversation closes with mutual encouragement for other young people to dive into open source, build ambitious projects, and seek mentorship to amplify their impact.
75:00 – Wrap-Up, Contact Info, and Parting Thoughts
As the episode nears its conclusion, the hosts invite final questions and provide a recap of the major topics: React performance tuning, open-source funding strategies, the synergy between new platforms like Dimension.dev and libraries such as Million.js, and the broader potential of building in public. Aiden and Toby share their Twitter handles, Discord links, and GitHub pages, encouraging listeners to test Million.js, join the community, and offer feedback. Tejas extends a welcome for Dimension.dev’s waitlist, emphasizing how developers can benefit from a unified workspace. The hosts thank everyone for attending—especially the audience members who contributed—and remind listeners about the weekly schedule of JavaScript Jam. By [80:06], the episode ends on an enthusiastic note, pledging to continue the conversation in upcoming sessions.