Share
ConTejas Code
Dan Shappir: How to Maximize Web Performance
Links
- Codecrafters (sponsor): https://tej.as/codecrafters
- Improving Wix Performance: https://www.smashingmagazine.com/2021/11/improving-performance-wix-websites-case-study/
- Dan on X: https://x.com/danshappir
- Tejas on X: https://x.com/tejaskumar_
Summary
In this episode, Dan Shappir discusses his journey in web performance, starting from gaming networks before the web. He explains the web vs. internet distinction, offline-first web apps, and remote access solutions. Dan's role at Next Insurance as a performance tech lead is highlighted. The talk covers improving browser performance, server-side rendering at Wix, modern CSS, CDNs, backend issues, and encapsulation impacts. Dan and Tejas discuss the BF cache's workings, browser compatibility, and telemetry impacts. Tips for staying updated in tech are shared, emphasizing passion and teaching. The episode concludes with support for Gaza and the Speculation Rules API.
Takeaways
1. Avoid overloading the browser with excessive JavaScript, CSS, and HTML.
2. Keep things small and lean to improve performance.
3. Implement server-side rendering, use modern CSS, and leverage caching with CDNs to enhance performance.
4. To stay relevant in the tech industry, follow your passion, accept that you can't know everything, and focus on understanding core concepts rather than chasing every new technology.
5. The BF cache (back-forward cache) allows browsers to store a memory snapshot of a web page when the user navigates away, enabling instant retrieval when the user returns.
Chapters
00:00 Introduction and Honoring the Situation
01:17 Dan's Background and Early Career
07:46 Dan's Journey into Web Performance
15:09 Offline-First Web Application
25:34 Joining Wix and Improving Performance
34:09 Transition to Next Insurance
45:46 The Beauty of Constraints
59:13 Using CSS for Layout
01:04:12 Backend Performance Issues
01:20:30 BF Cache
01:25:32 Performance Strategies
01:31:25 Advice for Staying Relevant in Tech
01:42:42 Speculation Rules API
01:43:14 Resource Hints: Prefetch and Preload
01:48:12 Script Tags and JSON Representation
01:51:39 Closing Remarks and Homework
More episodes
View all episodes
Ivan Burazin, co-founder Daytona: How to Accelerate Developer Onboarding by 56%
01:42:06|Links- Codecrafters (Partner): https://tej.as/codecrafters- Daytona: https://daytona.io- Ivan on X: https://x.com/ivanburazin- Tejas on X: https://x.com/tejaskumar_SummaryIn this conversation, Ivan Burazin discusses the journey of building Daytona, a cloud-based development environment, and the challenges faced along the way. We explore the origins of Daytona, its technical infrastructure, the value it provides to developers and enterprises, and the decision-making process behind building the product instead of selling it. The discussion also touches on the importance of security, the open-source community, and the quest for product-market fit in the tech industry. Chapters00:00:00 Ivan Burazin00:05:45 Introduction to Daytona and Shift Conference00:08:06 The Origins of Daytona: A Developer's Journey00:14:46 Understanding Daytona's Technical Framework00:23:06 The Value Proposition of Daytona00:27:53 The Developer Experience: Seamless Integration00:33:19 Open Source vs. Enterprise: The Daytona Model00:37:59 Security Features and Enterprise Needs00:43:56 Finding Product-Market Fit and Ideal Customer Profile00:51:25 The Decision to Build vs. Sell: A Personal Reflection00:56:22 Navigating Risks and Building Confidence01:02:14 The Loneliness of the Founder Journey01:05:48 Open Source Strategy and Community Building01:14:14 AI's Role in Development and Learning01:26:02 Living Standards for Founders: Lessons LearnedJulia Flament-Wallin: How to Build Maps of the World with AI
01:30:06|Links- Codecrafters (sponsor): https://tej.as/codecrafters- Julia's Talk: https://youtu.be/IFn2hMt480M?si=x0-2M2IBOASwaicz- TomTom: https://tomtom.com- Julia on LinkedIn: https://www.linkedin.com/in/juliawallin/- Tejas on X: https://x.com/tejaskumar_SummaryIn this podcast episode, we discuss the evolving landscape of AI engineering, data science, and data engineering. Julia and I explore the definitions and distinctions between these roles, delve into the intricacies of clustering and classification, and examine the role of MLOps in deploying machine learning models. Julia shares insights into her work at TomTom, highlighting the company's transition from hardware to software and the innovative data collection techniques they employ, including LiDAR technology and OpenStreetMap.Chapters00:00:00 Introduction00:11:46 Data Science and Data Engineering00:21:01 Role at TomTom and Road Furniture Features Detection00:34:18 Importance of Speed Limits and Fusion Algorithm00:43:19 Defining HD Maps and Their Importance00:54:16 Exploring Prototyping and Real-Time Updates01:03:02 Importance of Smaller Models01:19:30 Future of Mapping and AI in Transportation01:29:14 Lessons for Early Career ProfessionalsMax Stoiber: How to build startups that get acquired (and cache GraphQL well)
01:41:04|Links- Codecrafters (sponsor): https://www.codecrafters.io/- Stellate: https://stellate.co/- Max on X: https://x.com/mxstbr- Tejas on X: https://x.com/tejasqSummaryMax Stoiber, co-founder and CEO of Stellate, discusses his journey from creating popular open-source projects like React and Styled Components to building a company that provides GraphQL edge caching and CDN services. He shares his motivation for open-sourcing his projects and the benefits of sharing and connecting with others in the developer community. Max also explains the evolution of Stellate and how they identified the market need for GraphQL edge caching. He emphasizes the importance of understanding the market and customer pain points through structured interviews and categorization of feedback. Chapters00:00:00 Introduction00:08:16 Stellate and Spectrum00:16:50 Building Stellate with Edge Caching00:26:12 Focus on Business Problems in DevTools World00:34:37 Effective Outbound Marketing00:44:32 Innovations and Market Expansion00:53:11 Open Sourcing Entire Products01:01:52 GraphQL Queries and Caching Logic01:10:00 Technical Background and Problem Solving01:18:00 Finding the Right Co-Founder01:26:00 Challenges of Building a Startup01:34:02 Preparing for challenges in company buildingAlexander Lichter: How to Get the Most out of Vue.js and Nuxt
01:49:35|Links- Codecrafters (sponsor): https://tej.as- Alex: https://www.lichter.io/- Alex on YouTube: https://www.youtube.com/@TheAlexLichter- Alex on X: https://x.com/TheAlexLichterSummaryThis episode discusses a conversation with Alexander Lichter, a web engineering consultant and member of the Vue.js and Nuxt community. He shares his journey into content creation, including his YouTube channel and the DejaVue podcast, which he started to fill a gap in advanced Vue.js educational content.The discussion explores why Vue gained popularity, particularly among developers from non-JavaScript backgrounds, and examines Vue's technical architecture, including the transition from Options API to Composition API. Lichter also explains Vue's balanced approach between React's flexibility and Angular's strict structure, making it particularly accessible for developers coming from traditional web development backgrounds.Chapters00:00:00 Introduction00:13:20 Reasons for Choosing Vue.js and Comparison with React00:23:23 Introduction to Setup Function and Async Operations00:32:38 Limitation of Reactive with Scalar Types00:44:42 Vue.js maintaining its position through innovation00:52:56 Focus on Ecosystem and Community Impact01:02:30 Introduction to React and useState01:10:33 Introduction to Nuxt Config Directory01:19:22 Vue Directives and V-Model01:27:28 Migration Guide and Breaking Changes in Nuxt 401:41:05 Data Fetching and Composition API in Vue01:49:14 Cover and Review RequestAymen Ben Amor: How to Organize Developer Conferences
01:28:43|Links- Codecrafters (partner): https://tej.as/codecrafters- React Africa: https://react-africa.com/- React Paris: https://react.paris/- Aymen on X: https://x.com/aymen_ben_amor- Tejas on X: https://x.com/tejaskumar_SummaryAymen Ben Amor, founder of BeJS Conferences, shares his journey of starting and organizing successful tech conferences. He discusses the origin of BeJS Conferences and the inspiration he drew from attending his first conference. Aymen emphasizes the importance of creating a community and fostering connections among attendees. He also highlights the challenges of marketing and selling conference tickets, particularly in the post-COVID era. Aymen's commitment to diversity is evident in his efforts to ensure a balanced speaker lineup and provide opportunities for first-time speakers. He shares his vision of expanding conferences to underrepresented regions and cultures. Aymen's dedication to creating a memorable experience for speakers is reflected in the personalized gifts and activities he organizes. Chapters00:00:00 Introduction00:04:15 Founding BeJS00:13:39 The Speaker Experience00:19:57 Conferences in the Middle East00:27:28 Solving Diversity & Inclusion00:34:07 Repeated Speakers and New Opportunities00:41:55 Marketing: The Biggest Challenge00:50:09 How to be Confident on Conference Day00:57:55 Interesting Technology Aymen is Using01:05:13 Learning at Conferences01:12:45 Rethinking Conference Format01:18:33 Inspiration from other Conferences (GitNation)01:23:16 React Brussels01:27:42 ConclusionMatt Pocock: How to Maximize Success with TypeScript and Career
01:42:23|Links- Codecrafters (sponsor): https://tej.as/Codecrafters- Total TypeScript: https://www.totaltypescript.com/- Matt on X: https://x.com/mattpocockuk- Tejas on X: https://x.com/tejasqIn this conversation, Matt Pocock and I discuss the fundamentals of TypeScript and its benefits. We explore the concept of types in JavaScript and how TypeScript enhances the development process by providing a shorter feedback loop. The conversation dives into the topic of complex types in TypeScript and the challenges we explore. Additionally, Matt reflects on his journey from being self-employed to working full-time and then back to being self-employed. He discusses the intensity and drive he brought to his work, the importance of finding a direct link between effort and reward, and the satisfaction of seeing results. Matt shares his experience of working on XState and growing his presence in the tech community through teaching and creating content. He also talks about the wave of success he experienced and how it has now shifted, leading him to consider broadening his horizons. Matt and I discuss the role of hustle culture, the balance between work and personal life, and the drive for mastery.Chapters 00:00:00 Intro00:07:56 What are types?00:16:56 TypeScript and ESLint00:22:49 Misunderstood TypeScript Fundamentals00:31:35 Type-generated Documentation00:38:34 Most Complex Types00:47:42 When to use `any`00:54:30 ts-expect-error or ts-ignore01:01:32 Future TypeScript Wishes01:06:30 Matt's professional journey and rise01:14:09 Hustle Culture01:34:05 Imposter Syndrome01:39:53 ConclusionTC39: How signals work, adding signals to the JavaScript programming language
01:48:27|Links- Codecrafters (sponsor): https://tej.as/codecrafters- TC39 Signals Proposal: https://github.com/tc39/proposal-signalsSummaryIn this conversation, Kristen Maevyn, and Daniel Ehrenberg discuss reactivity and its importance in JavaScript. They explore the concept of reactivity, its role in keeping applications deterministic, and the challenges of achieving consistency in modern rendering frameworks. They also compare signals to observables and explain why signals are being considered as a language-level feature. The conversation touches on the API for signals, the use of classes in JavaScript, and the benefits of functional programming. Signals are an evolution of the long-standing problem of managing state in JavaScript applications. They provide a solution to the issues with classes and functions by combining the benefits of both. Signals allow for encapsulation, testing in isolation, and pure functions while still being able to handle state. Chapters00:00:00 Intro00:09:57 What are signals?00:26:37 Classes and the `new` keyword00:41:31 State Management and Signals00:49:25 Push-based vs. Pull-based Reactivity01:04:43 Language-level vs. Framework-level Signals01:14:27 Server-side Signals01:25:06 Self-referencing Signals01:36:29 Audience Q&A01:47:07 ConclusionPaul Klein IV: How to Build Browsers for AI Agents
01:33:25|Links- Codecrafters (sponsor): https://tej.as/codecrafters- React Africa (partner): https://react-africa.com/- Browserbase: https://browserbase.com/- Browserbase Series A Announcement: https://www.kleinerperkins.com/perspectives/browserbase-AI-seriesa/- Paul on X: https://x.com/pk_ivSummaryIn this conversation, we talk to Paul Klein IV, the founder of BrowserBase. We discuss the concept of browser-based software and its potential to automate tasks on the web. Paul explains that the future of software is one where it does the work for us, and Browserbase is designed to power this future by providing a programmable web browser for AI applications. We also touch on the challenges of running browser automation frameworks in production and how Browserbase solves these challenges. Paul introduces Stagehand, an open-source SDK that helps developers automate web workflows, and emphasizes the importance of ethical use of browser automation tools. Customers are building various applications on Browserbase, including web scraping, testing, AI agents, B2B software, and professional services. The company has experienced rapid growth, with thousands of hours of browser sessions per week. To handle the scale, Browserbase had to make architectural changes, such as moving from Postgres to ClickHouse for better performance. They also had to address challenges like connection management, resource allocation, and debugging customer issues. The founder believes they have achieved product-market fit based on strong customer retention and repeatable growth strategies. Browserbase is a technical product, so the number one priority for hiring is that candidates are technical and understand what Browserbase does. The team is currently focused on growing the top of the funnel and the sales edge side. They have specific roles for growth engineers and customer-focused engineers. The company recently raised a Series A round of $27M, with the goal of becoming a category-defining infrastructure company. The pricing model for Browserbase includes a hobby plan, a startup plan, and a scale plan. The company offers 10 free sessions for users to try out the product.Chapters00:00:00 Paul Klein IV00:04:41 Why Browserbase?00:11:57 What is Browserbase?00:19:09 Stagehand: the open source SDK00:35:30 How People are Using Browserbase00:49:17 Creating web APIs where there are none00:59:40 Product-Market Fit01:06:16 AI Engineering at Browserbase01:08:42 Remote Work vs. Onsite01:13:36 Browserbase's Series A Round01:20:02 AI Fatigue01:28:11 Advice for Founders01:32:10 ConclusionKelly Vaughn: How to Navigate Career Transitions and Build Meaningful Relationships
01:38:18|Links- Codecrafters (sponsor): https://tej.as/codecrafters- React Brussels: https://react.brussels- React Africa: https://react-africa.com- Kelly on X: https://x.com/kvlly- Spot AI: https://spot.ai- Tejas on X: https://x.com/tejaskumarSummaryKelly Vaughn, Director of Engineering at Spot AI, shares her unique career journey from self-taught coder to entrepreneur and now corporate leader. She discusses running a Shopify agency, co-founding a venture-backed startup, and transitioning to her current role. Key points include:- The challenges of running an agency and managing employee livelihoods- Insights on bootstrapping vs. venture funding for startups- The importance of genuine relationships and networking in career growth- Adapting to different company stages and cultures- Navigating the transition from entrepreneur to corporate employee- The value of diverse backgrounds in tech leadership rolesKelly emphasizes the importance of self-reflection, embracing change, and learning from failures throughout one's career journey.Chapters00:00:00 Intro00:05:08 Spot AI: Video Intelligence00:12:46 Dealing with Rapid Growth00:17:05 Getting into Tech00:22:25 TapRoom Consultancy/Shopify00:32:35 Running a Consultancy00:39:09 Venture Capital or no?00:40:08 Shutting Down Consultancy00:41:11 Attention, Effort, Mistakes as a Path to Growth00:47:26 The Pressure of Running a Business00:52:05 How to find a job: networking01:01:02 Being taken advantage of01:04:59 How Kelly got her audience01:08:31 Big audience problems01:12:01 Therapist and Engineering Leadership01:18:18 Boundaries01:26:06 Advice for Founders