AT A GLANCE

7:30 am Workshops Start
8:30 am Sponsor Expo
9:30 am Stage Talks
11:20 am Topic Tables
2:00 pm Sponsor Expo
3:00 pm Program Schedule Ends

7:30 - 9:30am
Workshops
Swizec Teller: Add auth & Monetization to your Jamstack App. | React Training: Make Your React Components more composable with the ‘Compound Components’ Pattern. | And many more to be announced soon!

8:30 - 9:55am
Sponsor Expo
Come learn from and hang out with the engineers at our sponsor companies!

10:00 am
Welcome & Introduction
Anjana Vakil

Anjana Vakil

Observable
Anjana suffers from a debilitating case of curiosity, which led her from philosophy to English teaching to computational linguistics to software development. She can often be found coding in San Francisco; that is, when she's not speaking at events around the world to share the joy of programming and advocate for a more diverse and inclusive tech industry. Ask her about the Recurse Center, Outreachy, and Mozilla TechSpeakers!
Settle in for the welcome address by our Master of Ceremonies, Anjana Vakil

10:10 am
Keynote
Guillermo Rauch

Guillermo Rauch

Vercel
Guillermo Rauch is the founder of Vercel, co-creator of Now and Next.js, and former CTO and co-founder of LearnBoost and Cloudup, acquired by Wordpress.com in 2013. His background and expertise is in the realtime web. He's the creator of socket.io, one of the most popular JavaScript projects on GitHub, with implementations in many different programming languages and frameworks (currently running the realtime backend of high profile apps like Microsoft Office online). He created the first MongoDB ORM for Node.JS, MongooseJS. Before that he was a core developer of the MooTools JavaScript framework. He's the author of 'Smashing Node.JS' published by Wiley in 2012, best-selling book about Node.JS on Amazon in multiple programming categories. He's spoken at dozens of conferences all around the world about JavaScript and the realtime web, such as O'Reilly OSCON, QCon and NDC. Originally from Argentina, he dropped out of high school and moved to the US to pursue his passions in the San Francisco startup world. He's passionate about open source as an education medium. He's a former mentor of an Open Source Engineering class organized and pioneered by Stanford, with students from Harvard, MIT, Carnegie Mellon, UPenn, Columbia and others.

10:30 am
JavaScript Visualized: Understanding how the V8 engine works
Lydia Hallie

Lydia Hallie

Independent
Lydia Hallie is a full-time software engineering consultant and educator that primarily works with JavaScript, React, Node, GraphQL, and serverless technologies. She also spends her time mentoring and doing in-person training sessions.
JavaScript is cool (don't @ me), but how can a machine actually understand the code you've written? As JavaScript devs, we usually don't have to deal with compilers ourselves. In this talk, I’ll use visualizations to show you how the JavaScript engine handles our human-friendly code, and compiles it to code that machines understand.

10:35 am
Add authentication to your React app in 5 minutes with useAuth
Swizec Teller

Swizec Teller

Tia
Swizec is a prolific engineer, instructor, blogger, streamer, conference speaker, and author. He's published many books and courses including React for DataViz, React + D3v4, Data Visualization with D3.js, the work-in-progress Serverless Handbook, and others. He maintains a Rails app pulling 20 requests per second, a serverless system doing a million requests per day, and wishes his side projects were just as popular.
Authentication is one of the fiddliest features to add to your single page app. You have to deal with JWT tokens, implement a server, keep track of users and permissions, deal with OAuth if you want social logins and that's just the backend. The client app then has to keep track of state, propagate it through your component tree, enable logging in and out, implement a form, and it's just a mess. So I built useAuth that handles all that for you. Use it as a React Hook anywhere and it handles the rest. 5min to set up ✌️

10:50 am
Testing Async Components Using React Testing Library
Alex Krolick

Alex Krolick

Box
Alex is a React Testing Library maintainer and software engineer at Box, Inc.
Learn how to test async code in React applications using React Testing Library! This talk will show you how to test async code such as networks calls, timers, and Promises in React components, and will show you how to use the new 'act' function from React DOM test-utils to be sure your tests (and app!) work with the new React features like Suspense and Concurrent Mode. Bonus: you'll learn when and why to write higher-level end-to-end tests with tools like Cypress.

11:05 am
Quantifying the health of a React Codebase
Bryan Manuele

Bryan Manuele

Flexport
Bryan is an open source aficionado and a Software Engineer at Flexport.
Learn how to leverage metrics to gain insight into the health of your React code base. This talk will cover how Flexport uses static analysis to gain insight on how internal components and APIs are being used, the decisions and insights these metrics can drive, and how you can implement these metrics on your own React code base. By the end of this talk, you will learn how you can write your own custom abstract syntax tree (AST) parsers to gain insight into your own React codebase, and learn about the successes we've had at Flexport using this system.

11:20 am - 12:55 pm
Topic Tables
JJ Kasper: Next.js | Matt McClure: Web Media | Brian LeRoux: Serverless | Ryan Burgess: Engineering Management | and many more!

1:00 pm
Escaping flatland: a romance of data science in the browser.
Jana Beck

Jana Beck

Stitch Fix
Jana took the long road to web development with a significant delay as a Ph.D. candidate in linguistics doing a lot of scientific computing in Python. Today she works as a front end engineer supporting data scientists at Stitch Fix. When she's not coding or sleeping, there's a high probability that Jana is sweating in a dance studio or a gym.
React’s top-down data flow has always been a particularly good fit for building data visualizations. In this talk, we’ll look at using React in combination with some web standard technologies—Web Workers and OffscreenCanvas—to do dimensionality reduction in the browser. Dimensionality reduction—and in particular here, UMAP—is a data science technique that is often used to facilitate visual exploration of high-dimensional datasets, but until recently it’s been too computationally expensive to do live and on demand in the browser. We’ll show how to wrap a JavaScript implementation of UMAP into a DX-friendly custom React hook, and we’ll dive deep into the specific features of Web Workers that aid in making it possible to perform tasks typically reserved for cloud computing jobs in the browser, albeit on smaller samples from data sets. These features include transferable objects, which allow for efficient, zero-copy passing of computed results back to the browser from the Worker and OffscreenCanvas, a bleeding edge browser feature that can let us even perform the visual rendering of the UMAP result without leaving the Worker.

1:30 pm
Type-safe, Full-stack React
Shawn Swyx Wang

Shawn Swyx Wang

AWS
Swyx is an Infinite Builder and Senior Developer Advocate at AWS. He's the author of the Coding Career Handbook. In his free time he helps people Learn in Public at Egghead.io.
With TypeScript and GraphQL, React developers now can add strong typing to their front-end- and back-end-facing code. Both improve user experience (preventing runtime errors) and developer experience (documenting interfaces and warning early). The problem has always been a substantial amount of tooling needed to set this up. In 2020, the tooling landscape has dramatically improved. Let's live code a React + TS + GraphQL app to show it!

2:00 - 3:00 pm
Sponsor Expo
Come learn from and hang out with the engineers at our sponsor companies!

3:00 pm
End of Day 1
That's the end of the official program schedule! Feel free to stick around to mingle & network with other attendees!

Don't wait
Get yours before they're gone.

Buy Tickets...before they're all gone!