diff --git a/.github/ISSUE_TEMPLATE/website-issue.md b/.github/ISSUE_TEMPLATE/website-issue.md index ec583e6..e8a7fbe 100644 --- a/.github/ISSUE_TEMPLATE/website-issue.md +++ b/.github/ISSUE_TEMPLATE/website-issue.md @@ -5,4 +5,3 @@ title: '' labels: '' assignees: '' --- - diff --git a/.github/workflows/begin-deploy.yml b/.github/workflows/begin-deploy.yml index da17f7c..25b62c4 100644 --- a/.github/workflows/begin-deploy.yml +++ b/.github/workflows/begin-deploy.yml @@ -1,7 +1,7 @@ name: Node CI # Push tests pushes; PR tests merges -on: [ push, pull_request ] +on: [push, pull_request] defaults: run: diff --git a/README.md b/README.md index a8375a8..93f1859 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Platform and Services -This website is built on [Enhance](https://enhance.dev) and deploys to [Begin](https://begin.com). +This website is built on [Enhance](https://enhance.dev) and deploys to [Begin](https://begin.com). It currently depends on the following external services: @@ -10,13 +10,13 @@ It currently depends on the following external services: ## Enhance Structure -Enhance is an opinionated HTML web framework that renders pages on the server and supports [progressive enhancement](https://enhance.dev/docs/learn/why-enhance) on the client for SPA-like experiences. +Enhance is an opinionated HTML web framework that renders pages on the server and supports [progressive enhancement](https://enhance.dev/docs/learn/why-enhance) on the client for SPA-like experiences. -An Enhace app has two top-level directories: `app` and `public`. +An Enhace app has two top-level directories: `app` and `public`. ### The `app` Directory -The `app` directory contains all the code for our application, in addition to Markdown files that power many of the static webpages. +The `app` directory contains all the code for our application, in addition to Markdown files that power many of the static webpages. Disclaimer: Enhance is a new and rapidly changing web framework. We will do our best to keep this README up to date, but please reference the Enhance docs as the source of truth. @@ -29,13 +29,13 @@ Here's a brief rundown of each subdirectory and its purpose: ### The `public` Directory -This contains static files (images, css, etc). +This contains static files (images, css, etc). Enhance makes all of these files available via the special `/_public/` path off the root. In addition, this project has turned on fingerprinting, so when you deploy a file to the cloud (i.e. `/images/logo.png`), its filename is re-written with a unique hash attached (i.e. `/images/logo-abc123.png`) and when you reference this file in your markup (using just `/images/logo.png`), Enhance will re-write the response to the client on-the-fly to reference the filename with the attached hash. ## App Design -For the most part, file-based routing makes it pretty clear what paths are supported by our app. For instance, the existence of `pages/speakers.mjs` tells you that the app supports a `/speakers` web page. +For the most part, file-based routing makes it pretty clear what paths are supported by our app. For instance, the existence of `pages/speakers.mjs` tells you that the app supports a `/speakers` web page. Pages that require data to render are paired with an identically names JS file in the `api` directory. At the moment, all of the data is being stored as static JS data in the API files, but this may change in the future. @@ -46,7 +46,6 @@ There are two files named `$stub.mjs` that live in the `api` and `pages` directo If there is no Markdown file that matches the path, a 404 error will be returned. - ## Install - clone this repo diff --git a/app/data/conf-2023.json b/app/data/conf-2023.json index 3047ec7..2487ec9 100644 --- a/app/data/conf-2023.json +++ b/app/data/conf-2023.json @@ -208,50 +208,50 @@ ], "workshops": [ { - "id": "managing-data-in-a-react-application-aug-7", - "title": "Managing Data in a React Application (Aug 7)", - "abstract": "Fast user experiences are a requirement, and the developer tools for managing data handling have never been better! In this hands-on workshop, Eve Porcello will take a look at some of the preeminent patterns for building amazing user experiences with React. She'll also explore the latest features of React Server Components and how they can be leveraged with modern frameworks.\n\nTopics include: Data Loading Overview and Historical Tour, Understanding Streams, Suspense, React Server Components , GraphQL (Relay Fragments and Apollo Client), Exploring Next.js, Remix, and other frameworks", - "short": "In this hands-on workshop, Eve Porcello will take a look at some of the preeminent patterns for building amazing user experiences with React. She'll also explore the latest features of React Server Components and how they can be leveraged with modern frameworks", - "topics": ["react.js", "next.js", "remix", "react server components"], - "speaker": { - "id": "eve-porcello", - "name": "Eve Porcello", - "twitter": "EvePorcello", - "company": "Moon Highway", - "photo": "eve-porcello.jpg", - "pronouns": "she/her", - "location": "Bend, OR" - } - }, - { - "id": "introduction-to-typescript-aug-9", - "title": "Introduction to TypeScript (Aug 9)", - "abstract": "Join Josh Goldberg in understanding the foundations of TypeScript! He'll cover how its type system works, how it lets you model user code, and -best of all- the benefits it can give you as a developer. And he'll show some great IDE tips & tricks enabled by TypeScript. ⚑", - "topics": ["typescript"], - "speaker": { - "id": "josh-goldberg", - "name": "Josh Goldberg", - "twitter": "JoshuaKGoldberg", - "company": "typescript-eslint", - "photo": "josh-goldberg.jpg", - "location": "Philadelphia, PA" - } - }, - { - "id": "building-ai-apps-aug-10", - "title": "Building AI Apps (Aug 10)", - "short": "Join Brook Riggio In this hands-on workshop on building AI app! Learn about how to integrate generative AI capabilities into new or existing projects, within your own UI, fully utilizing your own domain knowledge. Whether you want to launch your own AI-powered product, or incorporate cutting-edge functionality into your existing offerings, this workshop will give you the practical details and a vision of what's even possible to inspire your next generation of applications.", - "abstract": "The power of Large Language Models (LLMs) is reshaping what our apps are capable of, πŸ€– and how we build them. Get hands-on experience in this workshop, where you will build 2 distinct apps that leverage AI's strengths... and we'll see how to use AI tools to help us code more effectively!\n\nWe will leverage open source and best-of-breed options to:\n\n- Create an interactive customer service chat agent for your website, equipped to respond with your deep domain knowledge to boost conversions.\n- Deploy open models to AWS, for even more control over the data flow, and system prompts. 🌩\n\nWhether you're looking to launch πŸš€ a new AI-driven product or elevate your current offerings, this workshop equips you with both practical experience and a vision for the future to inspire your next generation of applications. πŸ—", - "topics": ["AI"], - "speaker": { - "id": "brook-riggio", - "name": "Brook Riggio", - "linkedin": "brookr", - "company": "Code Fellows", - "photo": "brook-riggio.jpg", - "location": "Seattle, WA" - } + "id": "managing-data-in-a-react-application-aug-7", + "title": "Managing Data in a React Application (Aug 7)", + "abstract": "Fast user experiences are a requirement, and the developer tools for managing data handling have never been better! In this hands-on workshop, Eve Porcello will take a look at some of the preeminent patterns for building amazing user experiences with React. She'll also explore the latest features of React Server Components and how they can be leveraged with modern frameworks.\n\nTopics include: Data Loading Overview and Historical Tour, Understanding Streams, Suspense, React Server Components , GraphQL (Relay Fragments and Apollo Client), Exploring Next.js, Remix, and other frameworks", + "short": "In this hands-on workshop, Eve Porcello will take a look at some of the preeminent patterns for building amazing user experiences with React. She'll also explore the latest features of React Server Components and how they can be leveraged with modern frameworks", + "topics": ["react.js", "next.js", "remix", "react server components"], + "speaker": { + "id": "eve-porcello", + "name": "Eve Porcello", + "twitter": "EvePorcello", + "company": "Moon Highway", + "photo": "eve-porcello.jpg", + "pronouns": "she/her", + "location": "Bend, OR" + } + }, + { + "id": "introduction-to-typescript-aug-9", + "title": "Introduction to TypeScript (Aug 9)", + "abstract": "Join Josh Goldberg in understanding the foundations of TypeScript! He'll cover how its type system works, how it lets you model user code, and -best of all- the benefits it can give you as a developer. And he'll show some great IDE tips & tricks enabled by TypeScript. ⚑", + "topics": ["typescript"], + "speaker": { + "id": "josh-goldberg", + "name": "Josh Goldberg", + "twitter": "JoshuaKGoldberg", + "company": "typescript-eslint", + "photo": "josh-goldberg.jpg", + "location": "Philadelphia, PA" } + }, + { + "id": "building-ai-apps-aug-10", + "title": "Building AI Apps (Aug 10)", + "short": "Join Brook Riggio In this hands-on workshop on building AI app! Learn about how to integrate generative AI capabilities into new or existing projects, within your own UI, fully utilizing your own domain knowledge. Whether you want to launch your own AI-powered product, or incorporate cutting-edge functionality into your existing offerings, this workshop will give you the practical details and a vision of what's even possible to inspire your next generation of applications.", + "abstract": "The power of Large Language Models (LLMs) is reshaping what our apps are capable of, πŸ€– and how we build them. Get hands-on experience in this workshop, where you will build 2 distinct apps that leverage AI's strengths... and we'll see how to use AI tools to help us code more effectively!\n\nWe will leverage open source and best-of-breed options to:\n\n- Create an interactive customer service chat agent for your website, equipped to respond with your deep domain knowledge to boost conversions.\n- Deploy open models to AWS, for even more control over the data flow, and system prompts. 🌩\n\nWhether you're looking to launch πŸš€ a new AI-driven product or elevate your current offerings, this workshop equips you with both practical experience and a vision for the future to inspire your next generation of applications. πŸ—", + "topics": ["AI"], + "speaker": { + "id": "brook-riggio", + "name": "Brook Riggio", + "linkedin": "brookr", + "company": "Code Fellows", + "photo": "brook-riggio.jpg", + "location": "Seattle, WA" + } + } ], "organizers": [ { diff --git a/app/data/events.json b/app/data/events.json index 8d731c8..0d89474 100644 --- a/app/data/events.json +++ b/app/data/events.json @@ -1,378 +1,280 @@ [ - { - "id": "may-2022", - "link": "https://ti.to/event-loop/seattlejs-may-2022", - "title": "SeattleJS May 2022", - "date": "2022-05-11", - "sponsors": [ - "collective-seattle" - ], - "talks": [ - "amber-hoak-may-2022" - ] - }, - { - "id": "june-2022", - "link": "https://ti.to/event-loop/seattlejs-june-2022", - "title": "SeattleJS June 2022", - "date": "2022-06-08", - "sponsors": [ - "collective-seattle" - ], - "talks": [ - "jamund-ferguson-june-2022" - ] - }, - { - "id": "july-2022", - "link": "https://ti.to/event-loop/seattlejs-july-2022", - "title": "SeattleJS July 2022", - "date": "2022-07-13", - "sponsors": [ - "collective-seattle" - ], - "talks": [] - }, - { - "id": "august-2022", - "link": "https://ti.to/event-loop/seattlejs-august-2022", - "title": "SeattleJS August 2022", - "date": "2022-08-10", - "sponsors": [ - "collective-seattle" - ], - "talks": [] - }, - { - "id": "september-2022", - "link": "https://ti.to/event-loop/seattlejs-september-2022", - "title": "SeattleJS September 2022", - "date": "2022-09-14", - "sponsors": [ - "collective-seattle" - ], - "talks": [] - }, - { - "id": "october-2022", - "link": "https://ti.to/event-loop/seattlejs-october-2022", - "title": "SeattleJS October 2022", - "date": "2022-10-12", - "sponsors": [ - "svb" - ], - "talks": [ - "rachel-lee-nabors-october-2022" - ] - }, - { - "id": "november-2022", - "link": "https://ti.to/event-loop/seattlejs-november-2022", - "title": "SeattleJS November 2022", - "date": "2022-11-09", - "sponsors": [ - "collective-seattle" - ], - "talks": [ - "matthew-bauer-november-2022", - "brian-gershon-november-2022" - ] - }, - { - "id": "december-2022", - "link": "https://ti.to/event-loop/seattlejs-december-2022", - "title": "SeattleJS December 2022 - Holiday Party Edition", - "date": "2022-12-14", - "sponsors": [ - "collective-seattle" - ], - "talks": [] - }, - { - "id": "january-2023", - "link": "https://ti.to/event-loop/seattlejs-january-2023", - "title": "SeattleJS January 2023", - "date": "2023-01-11", - "sponsors": [ - "aws-skills-center-seattle" - ], - "talks": [ - "calvin-kipperman-january-2023", - "josh-scotland-january-2023", - "tim-obrien-january-2023" - ], - "description": "Join us and celebrate a great start to 2023 with your fellow web devs!\n\nTHANK YOU to the folks at AWS Skills Center Seattle for sponsoring this month! ❀️\n\nTickets are $5 and go up to $10 the day of, so don't delay!" - }, - { - "id": "february-2023", - "link": "https://ti.to/event-loop/seattlejs-february-2023", - "title": "SeattleJS February 2023", - "date": "2023-02-08", - "sponsors": [ - "collective-seattle", - "remix" - ], - "talks": [ - "brian-tran-february-2023", - "lupe-canaviri-maydana-februrary-2023", - "jacob-ebey-february-2023" - ], - "description": "Join us and celebrate a great start to 2023 with your fellow web devs!\n\nTickets are $5 and go up to $10 the day of, so don't delay!" - }, - { - "id": "march-2023", - "link": "https://ti.to/event-loop/seattlejs-march-2023", - "title": "SeattleJS March 2023", - "date": "2023-03-08", - "sponsors": [ - "appwrite" - ], - "talks": [ - "aaroh-mankad-march-2023", - "mason-lynass-march-2023", - "chris-griffing-march-2023" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" - }, - { - "id": "april-2023", - "link": "https://ti.to/event-loop/seattlejs-april-2023", - "title": "SeattleJS April 2023", - "date": "2023-04-12", - "sponsors": [ - "amplication" - ], - "talks": [ - "michael-solati-april-2023", - "philip-swan-april-2023", - "catherine-johnson-april-2023" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" - }, - { - "id": "may-2023", - "link": "https://ti.to/event-loop/seattlejs-may-2023", - "title": "SeattleJS May 2023", - "date": "2023-05-10", - "sponsors": [], - "talks": [ - "spenser-solys-may-2023", - "tiger-oakes-may-2023" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" - }, - { - "id": "june-2023", - "link": "https://ti.to/event-loop/seattlejs-june-2023", - "title": "SeattleJS June 2023", - "date": "2023-06-14", - "sponsors": [ - "courier" - ], - "talks": [ - "cristina-rodriguez-june-2023", - "aiden-bai-june-2023", - "dm-liao-june-2023" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" - }, - { - "id": "july-2023", - "link": "https://ti.to/event-loop/seattlejs-july-2023", - "title": "SeattleJS July 2023", - "date": "2023-07-12", - "sponsors": [ - "twilio" - ], - "talks": [ - "chris-griffing-july-2023", - "michael-fitzgerald-july-2023", - "geoff-rich-july-2023" - ], - "description": "" - }, - { - "id": "september-2023", - "link": "https://ti.to/event-loop/seattlejs-september-2023", - "title": "SeattleJS September 2023", - "date": "2023-09-13", - "sponsors": [ - "runme.dev" - ], - "talks": [ - "jan-miksovsky-september-2023", - "peli-de-halleux-september-2023", - "ben-lower-september-2023" - ], - "description": "" - }, - { - "id": "october-2023", - "link": "https://ti.to/event-loop/seattlejs-october-2023", - "title": "SeattleJS October 2023", - "date": "2023-10-11", - "sponsors": [ - "courier" - ], - "talks": [ - "caleb-diehl-october-2023", - "alan-gonzalez-october-2023" - ], - "description": "Thanks to [Gearhouse](https://joingearhouse.com) for hosting us this month. We will be at their Capitol Hill location for October.\n\n πŸ“ [800 E Thomas St, Seattle, WA 98102](https://maps.app.goo.gl/LRVEp4yudBrHHRue7)\n\n Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" - }, - { - "id": "november-2023", - "link": "https://ti.to/event-loop/seattlejs-november-2023", - "title": "SeattleJS November 2023", - "date": "2023-11-08", - "sponsors": [ - "polaris" - ], - "talks": [ - "mike-ryan-november-2023", - "doug-wade-november-2023" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" - }, - { - "id": "holiday-party-2023", - "link": "https://ti.to/event-loop/seattlejs-holiday-party-2023", - "title": "SeattleJS Holiday Party 2023", - "date": "2023-12-13", - "sponsors": [ - "seekout" - ], - "talks": [], - "description": "Join us for our annual SeattleJS Holiday Party! Come hang out with your fellow web developers and celebrate the holidays in style at The Collective. Consider bringing a plus one, the more the merrier!\n Tickets are $5 and go up to $10 the day of, so don't delay!" - }, - { - "id": "january-2024", - "link": "https://ti.to/event-loop/seattlejs-january-2024", - "title": "SeattleJS January 2024", - "date": "2024-01-10", - "sponsors": [], - "talks": [], - "description": "Join your fellow web devs for an evening of networking and fun!\n\nπŸ“… Wednesday, January 10\n\nπŸ•  5:30pm - 8pm\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" - }, - { - "id": "february-2024", - "link": "https://ti.to/event-loop/seattlejs-february-2024", - "title": "SeattleJS February 2024", - "date": "2024-02-14", - "sponsors": [ - "datastax" - ], - "talks": [ - "dm-liao-february-2024", - "fx-wood-february-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" - }, - { - "id": "march-2024", - "link": "https://ti.to/event-loop/seattlejs-march-2024", - "title": "SeattleJS March 2024", - "date": "2024-03-13", - "sponsors": [ - "fireproof" - ], - "talks": [ - "shruti-kapoor-march-2024", - "eric-jensen-march-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" - }, - { - "id": "april-2024", - "link": "https://ti.to/event-loop/seattlejs-april-2024", - "title": "SeattleJS April 2024", - "date": "2024-04-10", - "sponsors": [], - "talks": [ - "herrington-darkholme-april-2024", - "john-pham-april-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below. Drink tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" - }, - { - "id": "may-2024", - "link": "https://ti.to/event-loop/seattlejs-may-2024", - "title": "SeattleJS May 2024", - "date": "2024-05-08", - "sponsors": [ - "sentry" - ], - "talks": [ - "allan-deutsch-may-2024", - "sarah-guthals-phd-may-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below. Drink tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" - }, - { - "id": "july-2024", - "link": "https://lu.ma/0ouxs9r2", - "title": "SeattleJS July 2024", - "date": "2024-07-10", - "sponsors": [], - "talks": [ - "chris-griffing-july-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Silicon Valley Bank this time, NOT our previous location!\n\n" - }, - { - "id": "august-2024", - "link": "https://lu.ma/510fwjo4", - "title": "SeattleJS August 2024", - "date": "2024-08-14", - "sponsors": [], - "talks": [ - "ben-van-citters-august-2024", - "allan-deutsch-august-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Silicon Valley Bank this month!\n\n" - }, - { - "id": "september-2024", - "title": "SeattleJS September 2024", - "date": "2024-09-11", - "sponsors": [], - "talks": [ - "nicholas-patti-september-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Startup Hall on UW campus this month!\n\n" - }, - { - "id": "october-2024", - "title": "SeattleJS October 2024", - "date": "2024-10-09", - "sponsors": [], - "talks": [ - "erik-marks-october-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Silicon Valley Bank this month!\n\n" - }, - { - "id": "november-2024", - "title": "SeattleJS November 2024", - "date": "2024-11-13", - "sponsors": [], - "talks": [ - "cat-johnson-november-2024", - "stacy-davis1-november-2024" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Startup Hall on UW campus this month!\n\n" - }, - { - "id": "january-2025", - "link": "https://lu.ma/s4s4mqxy", - "title": "SeattleJS January 2025", - "date": "2025-01-08", - "sponsors": [], - "talks": [ - "justin-castilla-january-2025", - "peli-de-halleux-january-2025", - "andrew-enyeart-january-2025" - ], - "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Just The Tap in Belltown this month!\n\n" - } -] \ No newline at end of file + { + "id": "may-2022", + "link": "https://ti.to/event-loop/seattlejs-may-2022", + "title": "SeattleJS May 2022", + "date": "2022-05-11", + "sponsors": ["collective-seattle"], + "talks": ["amber-hoak-may-2022"] + }, + { + "id": "june-2022", + "link": "https://ti.to/event-loop/seattlejs-june-2022", + "title": "SeattleJS June 2022", + "date": "2022-06-08", + "sponsors": ["collective-seattle"], + "talks": ["jamund-ferguson-june-2022"] + }, + { + "id": "july-2022", + "link": "https://ti.to/event-loop/seattlejs-july-2022", + "title": "SeattleJS July 2022", + "date": "2022-07-13", + "sponsors": ["collective-seattle"], + "talks": [] + }, + { + "id": "august-2022", + "link": "https://ti.to/event-loop/seattlejs-august-2022", + "title": "SeattleJS August 2022", + "date": "2022-08-10", + "sponsors": ["collective-seattle"], + "talks": [] + }, + { + "id": "september-2022", + "link": "https://ti.to/event-loop/seattlejs-september-2022", + "title": "SeattleJS September 2022", + "date": "2022-09-14", + "sponsors": ["collective-seattle"], + "talks": [] + }, + { + "id": "october-2022", + "link": "https://ti.to/event-loop/seattlejs-october-2022", + "title": "SeattleJS October 2022", + "date": "2022-10-12", + "sponsors": ["svb"], + "talks": ["rachel-lee-nabors-october-2022"] + }, + { + "id": "november-2022", + "link": "https://ti.to/event-loop/seattlejs-november-2022", + "title": "SeattleJS November 2022", + "date": "2022-11-09", + "sponsors": ["collective-seattle"], + "talks": ["matthew-bauer-november-2022", "brian-gershon-november-2022"] + }, + { + "id": "december-2022", + "link": "https://ti.to/event-loop/seattlejs-december-2022", + "title": "SeattleJS December 2022 - Holiday Party Edition", + "date": "2022-12-14", + "sponsors": ["collective-seattle"], + "talks": [] + }, + { + "id": "january-2023", + "link": "https://ti.to/event-loop/seattlejs-january-2023", + "title": "SeattleJS January 2023", + "date": "2023-01-11", + "sponsors": ["aws-skills-center-seattle"], + "talks": [ + "calvin-kipperman-january-2023", + "josh-scotland-january-2023", + "tim-obrien-january-2023" + ], + "description": "Join us and celebrate a great start to 2023 with your fellow web devs!\n\nTHANK YOU to the folks at AWS Skills Center Seattle for sponsoring this month! ❀️\n\nTickets are $5 and go up to $10 the day of, so don't delay!" + }, + { + "id": "february-2023", + "link": "https://ti.to/event-loop/seattlejs-february-2023", + "title": "SeattleJS February 2023", + "date": "2023-02-08", + "sponsors": ["collective-seattle", "remix"], + "talks": [ + "brian-tran-february-2023", + "lupe-canaviri-maydana-februrary-2023", + "jacob-ebey-february-2023" + ], + "description": "Join us and celebrate a great start to 2023 with your fellow web devs!\n\nTickets are $5 and go up to $10 the day of, so don't delay!" + }, + { + "id": "march-2023", + "link": "https://ti.to/event-loop/seattlejs-march-2023", + "title": "SeattleJS March 2023", + "date": "2023-03-08", + "sponsors": ["appwrite"], + "talks": [ + "aaroh-mankad-march-2023", + "mason-lynass-march-2023", + "chris-griffing-march-2023" + ], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" + }, + { + "id": "april-2023", + "link": "https://ti.to/event-loop/seattlejs-april-2023", + "title": "SeattleJS April 2023", + "date": "2023-04-12", + "sponsors": ["amplication"], + "talks": [ + "michael-solati-april-2023", + "philip-swan-april-2023", + "catherine-johnson-april-2023" + ], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" + }, + { + "id": "may-2023", + "link": "https://ti.to/event-loop/seattlejs-may-2023", + "title": "SeattleJS May 2023", + "date": "2023-05-10", + "sponsors": [], + "talks": ["spenser-solys-may-2023", "tiger-oakes-may-2023"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" + }, + { + "id": "june-2023", + "link": "https://ti.to/event-loop/seattlejs-june-2023", + "title": "SeattleJS June 2023", + "date": "2023-06-14", + "sponsors": ["courier"], + "talks": [ + "cristina-rodriguez-june-2023", + "aiden-bai-june-2023", + "dm-liao-june-2023" + ], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" + }, + { + "id": "july-2023", + "link": "https://ti.to/event-loop/seattlejs-july-2023", + "title": "SeattleJS July 2023", + "date": "2023-07-12", + "sponsors": ["twilio"], + "talks": [ + "chris-griffing-july-2023", + "michael-fitzgerald-july-2023", + "geoff-rich-july-2023" + ], + "description": "" + }, + { + "id": "september-2023", + "link": "https://ti.to/event-loop/seattlejs-september-2023", + "title": "SeattleJS September 2023", + "date": "2023-09-13", + "sponsors": ["runme.dev"], + "talks": [ + "jan-miksovsky-september-2023", + "peli-de-halleux-september-2023", + "ben-lower-september-2023" + ], + "description": "" + }, + { + "id": "october-2023", + "link": "https://ti.to/event-loop/seattlejs-october-2023", + "title": "SeattleJS October 2023", + "date": "2023-10-11", + "sponsors": ["courier"], + "talks": ["caleb-diehl-october-2023", "alan-gonzalez-october-2023"], + "description": "Thanks to [Gearhouse](https://joingearhouse.com) for hosting us this month. We will be at their Capitol Hill location for October.\n\n πŸ“ [800 E Thomas St, Seattle, WA 98102](https://maps.app.goo.gl/LRVEp4yudBrHHRue7)\n\n Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!" + }, + { + "id": "november-2023", + "link": "https://ti.to/event-loop/seattlejs-november-2023", + "title": "SeattleJS November 2023", + "date": "2023-11-08", + "sponsors": ["polaris"], + "talks": ["mike-ryan-november-2023", "doug-wade-november-2023"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" + }, + { + "id": "holiday-party-2023", + "link": "https://ti.to/event-loop/seattlejs-holiday-party-2023", + "title": "SeattleJS Holiday Party 2023", + "date": "2023-12-13", + "sponsors": ["seekout"], + "talks": [], + "description": "Join us for our annual SeattleJS Holiday Party! Come hang out with your fellow web developers and celebrate the holidays in style at The Collective. Consider bringing a plus one, the more the merrier!\n Tickets are $5 and go up to $10 the day of, so don't delay!" + }, + { + "id": "january-2024", + "link": "https://ti.to/event-loop/seattlejs-january-2024", + "title": "SeattleJS January 2024", + "date": "2024-01-10", + "sponsors": [], + "talks": [], + "description": "Join your fellow web devs for an evening of networking and fun!\n\nπŸ“… Wednesday, January 10\n\nπŸ•  5:30pm - 8pm\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" + }, + { + "id": "february-2024", + "link": "https://ti.to/event-loop/seattlejs-february-2024", + "title": "SeattleJS February 2024", + "date": "2024-02-14", + "sponsors": ["datastax"], + "talks": ["dm-liao-february-2024", "fx-wood-february-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" + }, + { + "id": "march-2024", + "link": "https://ti.to/event-loop/seattlejs-march-2024", + "title": "SeattleJS March 2024", + "date": "2024-03-13", + "sponsors": ["fireproof"], + "talks": ["shruti-kapoor-march-2024", "eric-jensen-march-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" + }, + { + "id": "april-2024", + "link": "https://ti.to/event-loop/seattlejs-april-2024", + "title": "SeattleJS April 2024", + "date": "2024-04-10", + "sponsors": [], + "talks": ["herrington-darkholme-april-2024", "john-pham-april-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below. Drink tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" + }, + { + "id": "may-2024", + "link": "https://ti.to/event-loop/seattlejs-may-2024", + "title": "SeattleJS May 2024", + "date": "2024-05-08", + "sponsors": ["sentry"], + "talks": ["allan-deutsch-may-2024", "sarah-guthals-phd-may-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below. Drink tickets are only $5 but go up to $10 the day of, so don't delay!\n\nπŸ“ [The Collective Seattle, 400 Dexter Ave N, Seattle, WA 98109](https://maps.app.goo.gl/iFCSeqBsv7gFKEQ78)" + }, + { + "id": "july-2024", + "link": "https://lu.ma/0ouxs9r2", + "title": "SeattleJS July 2024", + "date": "2024-07-10", + "sponsors": [], + "talks": ["chris-griffing-july-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Silicon Valley Bank this time, NOT our previous location!\n\n" + }, + { + "id": "august-2024", + "link": "https://lu.ma/510fwjo4", + "title": "SeattleJS August 2024", + "date": "2024-08-14", + "sponsors": [], + "talks": ["ben-van-citters-august-2024", "allan-deutsch-august-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Silicon Valley Bank this month!\n\n" + }, + { + "id": "september-2024", + "title": "SeattleJS September 2024", + "date": "2024-09-11", + "sponsors": [], + "talks": ["nicholas-patti-september-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Startup Hall on UW campus this month!\n\n" + }, + { + "id": "october-2024", + "title": "SeattleJS October 2024", + "date": "2024-10-09", + "sponsors": [], + "talks": ["erik-marks-october-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Silicon Valley Bank this month!\n\n" + }, + { + "id": "november-2024", + "title": "SeattleJS November 2024", + "date": "2024-11-13", + "sponsors": [], + "talks": ["cat-johnson-november-2024", "stacy-davis1-november-2024"], + "description": "Join your fellow web devs for an evening of talks, networking and fun! Register ahead of time at the link below.\n\nNOTE: We are at Startup Hall on UW campus this month!\n\n" + } +] diff --git a/app/data/speakers.json b/app/data/speakers.json index 78ce047..fe847d4 100644 --- a/app/data/speakers.json +++ b/app/data/speakers.json @@ -1,367 +1,351 @@ [ - { - "id": "amber-hoak", - "name": "Amber Hoak", - "company": "Microsoft Research", - "twitter": "amber_hoak", - "photo": "amber-hoak.jpg" - }, - { - "id": "jamund-ferguson", - "name": "Jamund Ferguson", - "company": "PayPal", - "twitter": "xjamundx", - "photo": "jamund-ferguson.jpg" - }, - { - "id": "rachel-lee-nabors", - "name": "Rachel Lee Nabors", - "company": "AWS Amplify", - "twitter": "rachelnabors", - "photo": "rachel-lee-nabors.jpg" - }, - { - "id": "matthew-bauer", - "name": "Matthew Bauer", - "company": "WebPinata", - "twitter": "LotusBladeStorm", - "photo": "matthew-bauer.jpg" - }, - { - "id": "brian-gershon", - "name": "Brian Gershon", - "company": "Freelance", - "twitter": "brianfive", - "photo": "brian-gershon.jpg" - }, - { - "id": "calvin-kipperman", - "name": "Calvin Kipperman", - "company": "Lyft", - "twitter": "emnudge", - "photo": "calvin-kipperman.jpg" - }, - { - "id": "tim-obrien", - "name": "Tim O\"Brien", - "company": "Wagner Custom Skis", - "twitter": "tobrien", - "photo": "tim-obrien.jpg" - }, - { - "id": "josh-scotland", - "name": "Josh Scotland", - "company": "Startup", - "photo": "josh-scotland.jpg" - }, - { - "id": "brian-tran", - "name": "Brian Tran", - "company": "REMAX", - "photo": "brian-tran.jpg", - "twitter": "_briantran_" - }, - { - "id": "lupe-canaviri-maydana", - "name": "Lupe Canaviri Maydana", - "company": "Microsoft", - "photo": "lupe-canaviri-maydana.png", - "twitter": "luucamay_" - }, - { - "id": "jacob-ebey", - "name": "Jacob Ebey", - "company": "Remix / Shopify", - "photo": "jacob-ebey.jpg", - "twitter": "ebey_jacob" - }, - { - "id": "aaroh-mankad", - "name": "Aaroh Mankad", - "company": "Plaid", - "photo": "aaroh-mankad.jpg", - "twitter": "aarohmankad" - }, - { - "id": "chris-griffing", - "name": "Chris Griffing", - "company": "GitKraken", - "photo": "chris-griffing.jpg", - "twitter": "cmgriffing" - }, - { - "id": "mason-lynass", - "name": "Mason Lynass", - "company": "Freelance", - "photo": "mason-lynass.jpg" - }, - { - "id": "catherine-johnson", - "name": "Catherine Johnson", - "company": "Microsoft", - "photo": "catherine-johnson.jpg", - "twitter": "" - }, - { - "id": "philip-swan", - "name": "Philip Swan", - "company": "The Atlantis Project", - "photo": "philip-swan.png", - "twitter": "tetheredring" - }, - { - "id": "michael-solati", - "name": "Michael Solati", - "company": "Amplication", - "photo": "michael-solati.jpg", - "twitter": "michaelsolati" - }, - { - "id": "spenser-solys", - "name": "Spenser Solys", - "company": "Project Archer", - "photo": "spenser-solys.jpg", - "twitter": "scub3d" - }, - { - "id": "tiger-oakes", - "name": "Tiger Oakes", - "company": "Microsoft", - "photo": "tiger-oakes.jpg", - "twitter": "Not_Woods" - }, - { - "id": "dm-liao", - "name": "DM Liao", - "company": "n/a", - "photo": "dm-liao.jpg", - "url": "https://amorphic.space", - "pronouns": "they/them/theirs" - }, - { - "id": "aiden-bai", - "name": "Aiden Bai", - "company": "Dimension.dev", - "photo": "aiden-bai.jpg", - "twitter": "aidenybai", - "pronouns": "he/him/his", - "url": "https://aidenybai.com" - }, - { - "id": "cristina-rodriguez", - "name": "Cristina Rodriguez", - "company": "Techtonica.org", - "photo": "cristina-rodriguez.jpg", - "twitter": "yosola", - "pronouns": "she/her/ella", - "url": "https://www.linkedin.com/in/crissrodriguez/" - }, - { - "id": "geoff-rich", - "name": "Geoff Rich", - "company": "Ordergroove", - "twitter": "geoffrich_", - "pronouns": "he/him", - "photo": "geoff-rich.jpg" - }, - { - "id": "alan-balasundaram", - "name": "Alan Balasundaram", - "company": "Expert Opinion MD", - "twitter": "", - "pronouns": "he/him", - "photo": "alan-balasundaram.jpg" - }, - { - "id": "michael-fitzgerald", - "name": "Michael Fitzgerald", - "company": "Fresh Consulting", - "twitter": "fitzgerald1337", - "pronouns": "he/him/his", - "photo": "michael-fitzgerald.png" - }, - { - "id": "jan-miksovsky", - "name": "Jan Miksovsky", - "company": "Independent", - "mastadon": "https://fosstodon.org/@JanMiksovsky", - "pronouns": "he/him", - "photo": "jan-miksovsky.jpg" - }, - { - "id": "peli-de-halleux", - "name": "Peli de Halleux", - "company": "Microsoft", - "twitter": "", - "pronouns": "he/him", - "photo": "peli-de-halleux.jpg" - }, - { - "id": "ben-lower", - "name": "ben lower", - "company": "Fixie", - "twitter": "benlower", - "pronouns": "he/him/his", - "photo": "ben-lower.jpg" - }, - { - "id": "caleb-diehl", - "name": "Caleb Diehl", - "company": "The Associated Press", - "twitter": "", - "pronouns": "he/him", - "photo": "caleb-diehl.jpg" - }, - { - "id": "alan-gonzalez", - "name": "Alan Gonzalez", - "company": "DevMatch", - "twitter": "_alanboy", - "pronouns": "he/him", - "photo": "alan-gonzalez.jpg" - }, - { - "id": "mike-ryan", - "name": "Mike Ryan", - "company": "Polaris", - "twitter": "mikeryandev", - "pronouns": "he/him", - "photo": "mike-ryan.jpg" - }, - { - "id": "doug-wade", - "name": "Doug Wade", - "company": "Skilljar", - "twitter": "", - "pronouns": "he/him", - "photo": "doug-wade.jpg" - }, - { - "id": "fx-wood", - "name": "FX Wood", - "company": "Looking for Opportunities", - "twitter": "", - "pronouns": "he/him", - "photo": "fx-wood.jpg" - }, - { - "id": "shruti-kapoor", - "name": "Shruti Kapoor", - "company": "Slack", - "twitter": "shrutikapoor08", - "pronouns": "she/her", - "photo": "shruti-kapoor.jpg" - }, - { - "id": "j-chris-anderson", - "name": "J Chris Anderson", - "company": "Fireproof", - "twitter": "jchris", - "pronouns": "he/him", - "photo": "j-chris-anderson.jpg" - }, - { - "id": "eric-jensen", - "name": "Eric Jensen", - "company": "Fireproof ", - "twitter": "", - "pronouns": "he/him", - "photo": "eric-jensen.jpg" - }, - { - "id": "herrington-darkholme", - "name": "Herrington Darkholme", - "company": "Freelance", - "twitter": "hd_nvim", - "pronouns": "he/him/his", - "photo": "herrington-darkholme.jpg" - }, - { - "id": "john-pham", - "name": "John Pham", - "company": "Vercel", - "twitter": "johnphamous", - "pronouns": "he/him/his", - "photo": "john-pham.jpg" - }, - { - "id": "allan-deutsch", - "name": "Allan Deutsch", - "company": "The Startup", - "twitter": "allandeutsch", - "pronouns": "he/him", - "photo": "allan-deutsch.png" - }, - { - "id": "sarah-guthals-phd", - "name": "Sarah Guthals, PhD", - "company": "Sentry", - "twitter": "drguthals", - "pronouns": "she/her/hers", - "photo": "sarah-guthals-phd.png" - }, - { - "id": "josh-franklin", - "name": "Josh Franklin", - "company": "N/A", - "twitter": "joshfranklin26", - "pronouns": "he/him/his", - "photo": "josh-franklin.jpg" - }, - { - "id": "ben-van-citters", - "name": "Ben Van Citters", - "company": "Algorithms & Beauty", - "twitter": "", - "pronouns": "He/him", - "photo": "ben-van-citters.jpg" - }, - { - "id": "nicholas-patti", - "name": "Nicholas Patti", - "company": "Freelance", - "twitter": "nickspatties", - "pronouns": "he/him/his", - "photo": "nicholas-patti.jpg" - }, - { - "id": "stacy-davis1", - "name": "Stacy Davis", - "company": "Species360", - "twitter": "", - "pronouns": "she/her/hers", - "photo": "stacy-davis1.jpg" - }, - { - "id": "erik-marks", - "name": "Erik Marks", - "company": "Consensys / MetaMask", - "twitter": "rekmarks", - "pronouns": "he/they", - "photo": "erik-marks.jpg" - }, - { - "id": "cat-johnson", - "name": "Cat Johnson", - "company": "Khan Academy", - "twitter": "cat_themachines", - "pronouns": "she/her", - "photo": "cat-johnson.jpg" - }, - { - "id": "justin-castilla", - "name": "Justin Castilla", - "company": "Elastic", - "twitter": "CastillaCodes", - "pronouns": "He/Him/His", - "photo": "justin-castilla.png" - }, - { - "id": "andrew-enyeart", - "name": "Andrew Enyeart", - "company": "22days", - "twitter": "andrew_enyeart", - "pronouns": "he/him", - "photo": "andrew-enyeart.png" - } -] \ No newline at end of file + { + "id": "amber-hoak", + "name": "Amber Hoak", + "company": "Microsoft Research", + "twitter": "amber_hoak", + "photo": "amber-hoak.jpg" + }, + { + "id": "jamund-ferguson", + "name": "Jamund Ferguson", + "company": "PayPal", + "twitter": "xjamundx", + "photo": "jamund-ferguson.jpg" + }, + { + "id": "rachel-lee-nabors", + "name": "Rachel Lee Nabors", + "company": "AWS Amplify", + "twitter": "rachelnabors", + "photo": "rachel-lee-nabors.jpg" + }, + { + "id": "matthew-bauer", + "name": "Matthew Bauer", + "company": "WebPinata", + "twitter": "LotusBladeStorm", + "photo": "matthew-bauer.jpg" + }, + { + "id": "brian-gershon", + "name": "Brian Gershon", + "company": "Freelance", + "twitter": "brianfive", + "photo": "brian-gershon.jpg" + }, + { + "id": "calvin-kipperman", + "name": "Calvin Kipperman", + "company": "Lyft", + "twitter": "emnudge", + "photo": "calvin-kipperman.jpg" + }, + { + "id": "tim-obrien", + "name": "Tim O\"Brien", + "company": "Wagner Custom Skis", + "twitter": "tobrien", + "photo": "tim-obrien.jpg" + }, + { + "id": "josh-scotland", + "name": "Josh Scotland", + "company": "Startup", + "photo": "josh-scotland.jpg" + }, + { + "id": "brian-tran", + "name": "Brian Tran", + "company": "REMAX", + "photo": "brian-tran.jpg", + "twitter": "_briantran_" + }, + { + "id": "lupe-canaviri-maydana", + "name": "Lupe Canaviri Maydana", + "company": "Microsoft", + "photo": "lupe-canaviri-maydana.png", + "twitter": "luucamay_" + }, + { + "id": "jacob-ebey", + "name": "Jacob Ebey", + "company": "Remix / Shopify", + "photo": "jacob-ebey.jpg", + "twitter": "ebey_jacob" + }, + { + "id": "aaroh-mankad", + "name": "Aaroh Mankad", + "company": "Plaid", + "photo": "aaroh-mankad.jpg", + "twitter": "aarohmankad" + }, + { + "id": "chris-griffing", + "name": "Chris Griffing", + "company": "GitKraken", + "photo": "chris-griffing.jpg", + "twitter": "cmgriffing" + }, + { + "id": "mason-lynass", + "name": "Mason Lynass", + "company": "Freelance", + "photo": "mason-lynass.jpg" + }, + { + "id": "catherine-johnson", + "name": "Catherine Johnson", + "company": "Microsoft", + "photo": "catherine-johnson.jpg", + "twitter": "" + }, + { + "id": "philip-swan", + "name": "Philip Swan", + "company": "The Atlantis Project", + "photo": "philip-swan.png", + "twitter": "tetheredring" + }, + { + "id": "michael-solati", + "name": "Michael Solati", + "company": "Amplication", + "photo": "michael-solati.jpg", + "twitter": "michaelsolati" + }, + { + "id": "spenser-solys", + "name": "Spenser Solys", + "company": "Project Archer", + "photo": "spenser-solys.jpg", + "twitter": "scub3d" + }, + { + "id": "tiger-oakes", + "name": "Tiger Oakes", + "company": "Microsoft", + "photo": "tiger-oakes.jpg", + "twitter": "Not_Woods" + }, + { + "id": "dm-liao", + "name": "DM Liao", + "company": "n/a", + "photo": "dm-liao.jpg", + "url": "https://amorphic.space", + "pronouns": "they/them/theirs" + }, + { + "id": "aiden-bai", + "name": "Aiden Bai", + "company": "Dimension.dev", + "photo": "aiden-bai.jpg", + "twitter": "aidenybai", + "pronouns": "he/him/his", + "url": "https://aidenybai.com" + }, + { + "id": "cristina-rodriguez", + "name": "Cristina Rodriguez", + "company": "Techtonica.org", + "photo": "cristina-rodriguez.jpg", + "twitter": "yosola", + "pronouns": "she/her/ella", + "url": "https://www.linkedin.com/in/crissrodriguez/" + }, + { + "id": "geoff-rich", + "name": "Geoff Rich", + "company": "Ordergroove", + "twitter": "geoffrich_", + "pronouns": "he/him", + "photo": "geoff-rich.jpg" + }, + { + "id": "alan-balasundaram", + "name": "Alan Balasundaram", + "company": "Expert Opinion MD", + "twitter": "", + "pronouns": "he/him", + "photo": "alan-balasundaram.jpg" + }, + { + "id": "michael-fitzgerald", + "name": "Michael Fitzgerald", + "company": "Fresh Consulting", + "twitter": "fitzgerald1337", + "pronouns": "he/him/his", + "photo": "michael-fitzgerald.png" + }, + { + "id": "jan-miksovsky", + "name": "Jan Miksovsky", + "company": "Independent", + "mastadon": "https://fosstodon.org/@JanMiksovsky", + "pronouns": "he/him", + "photo": "jan-miksovsky.jpg" + }, + { + "id": "peli-de-halleux", + "name": "Peli de Halleux", + "company": "Microsoft", + "twitter": "", + "pronouns": "he/him", + "photo": "peli-de-halleux.jpg" + }, + { + "id": "ben-lower", + "name": "ben lower", + "company": "Fixie", + "twitter": "benlower", + "pronouns": "he/him/his", + "photo": "ben-lower.jpg" + }, + { + "id": "caleb-diehl", + "name": "Caleb Diehl", + "company": "The Associated Press", + "twitter": "", + "pronouns": "he/him", + "photo": "caleb-diehl.jpg" + }, + { + "id": "alan-gonzalez", + "name": "Alan Gonzalez", + "company": "DevMatch", + "twitter": "_alanboy", + "pronouns": "he/him", + "photo": "alan-gonzalez.jpg" + }, + { + "id": "mike-ryan", + "name": "Mike Ryan", + "company": "Polaris", + "twitter": "mikeryandev", + "pronouns": "he/him", + "photo": "mike-ryan.jpg" + }, + { + "id": "doug-wade", + "name": "Doug Wade", + "company": "Skilljar", + "twitter": "", + "pronouns": "he/him", + "photo": "doug-wade.jpg" + }, + { + "id": "fx-wood", + "name": "FX Wood", + "company": "Looking for Opportunities", + "twitter": "", + "pronouns": "he/him", + "photo": "fx-wood.jpg" + }, + { + "id": "shruti-kapoor", + "name": "Shruti Kapoor", + "company": "Slack", + "twitter": "shrutikapoor08", + "pronouns": "she/her", + "photo": "shruti-kapoor.jpg" + }, + { + "id": "j-chris-anderson", + "name": "J Chris Anderson", + "company": "Fireproof", + "twitter": "jchris", + "pronouns": "he/him", + "photo": "j-chris-anderson.jpg" + }, + { + "id": "eric-jensen", + "name": "Eric Jensen", + "company": "Fireproof ", + "twitter": "", + "pronouns": "he/him", + "photo": "eric-jensen.jpg" + }, + { + "id": "herrington-darkholme", + "name": "Herrington Darkholme", + "company": "Freelance", + "twitter": "hd_nvim", + "pronouns": "he/him/his", + "photo": "herrington-darkholme.jpg" + }, + { + "id": "john-pham", + "name": "John Pham", + "company": "Vercel", + "twitter": "johnphamous", + "pronouns": "he/him/his", + "photo": "john-pham.jpg" + }, + { + "id": "allan-deutsch", + "name": "Allan Deutsch", + "company": "The Startup", + "twitter": "allandeutsch", + "pronouns": "he/him", + "photo": "allan-deutsch.png" + }, + { + "id": "sarah-guthals-phd", + "name": "Sarah Guthals, PhD", + "company": "Sentry", + "twitter": "drguthals", + "pronouns": "she/her/hers", + "photo": "sarah-guthals-phd.png" + }, + { + "id": "josh-franklin", + "name": "Josh Franklin", + "company": "N/A", + "twitter": "joshfranklin26", + "pronouns": "he/him/his", + "photo": "josh-franklin.jpg" + }, + { + "id": "ben-van-citters", + "name": "Ben Van Citters", + "company": "Algorithms & Beauty", + "twitter": "", + "pronouns": "He/him", + "photo": "ben-van-citters.jpg" + }, + { + "id": "nicholas-patti", + "name": "Nicholas Patti", + "company": "Freelance", + "twitter": "nickspatties", + "pronouns": "he/him/his", + "photo": "nicholas-patti.jpg" + }, + { + "id": "stacy-davis1", + "name": "Stacy Davis", + "company": "Species360", + "twitter": "", + "pronouns": "she/her/hers", + "photo": "stacy-davis1.jpg" + }, + { + "id": "erik-marks", + "name": "Erik Marks", + "company": "Consensys / MetaMask", + "twitter": "rekmarks", + "pronouns": "he/they", + "photo": "erik-marks.jpg" + }, + { + "id": "cat-johnson", + "name": "Cat Johnson", + "company": "Khan Academy", + "twitter": "cat_themachines", + "pronouns": "she/her", + "photo": "cat-johnson.jpg" + } +] diff --git a/app/data/sponsors.json b/app/data/sponsors.json index ba7758b..c8fa879 100644 --- a/app/data/sponsors.json +++ b/app/data/sponsors.json @@ -1,108 +1,108 @@ [ - { - "id": "collective-seattle", - "url": "https://www.collectiveseattle.com", - "image": "collective.webp" - }, - { - "id": "svb", - "url": "https://www.svb.com/startup-banking", - "image": "svb.svg" - }, - { - "id": "aws-skills-center-seattle", - "url": "https://aws.amazon.com/training/skills-centers/seattle-skills-center/", - "image": "aws-skills-center-seattle.png" - }, - { - "id": "formidable", - "url": "https://formidable.com", - "image": "formidable.svg" - }, - { - "id": "customer-io", - "url": "https://customer.io/", - "image": "customer-io.svg" - }, - { - "id": "remix", - "url": "https://remix.run/", - "image": "remix.png" - }, - { - "id": "appwrite", - "name": "Appwrite", - "url": "https://appwrite.io", - "image": "appwrite.jpg", - "copy": "Appwrite is a secure open-source backend server provides the core APIs required to build web and mobile applications. Appwrite provides authentication, database, storage, functions, and advanced real-time capabilities." - }, - { - "id": "amplication", - "name": "Amplication", - "url": "https://amplication.com", - "image": "amplication.png", - "copy": "Amplication is an opensource based SaaS backend development solution that empowers professional developers to accelerate the development of Node.js applications. By using Amplication to build repetitive backend services, development teams will yield significant increases in developer productivity, reliability, and consistency of delivering critical applications to production." - }, - { - "id": "twilio", - "name": "Twilio", - "url": "https://www.twilio.com/en-us", - "image": "twilio.png", - "copy": "Twilio is the customer layer for the internet, powering the most engaging interactions companies build for their customers. We provide simple tools that solve hard problems, delivered as a developer-first cloud platform with global reach and no shenanigans pricing." - }, - { - "id": "aws", - "name": "AWS", - "url": "https://docs.amplify.aws/", - "image": "aws.png", - "copy": "" - }, - { - "id": "courier", - "name": "Courier", - "url": "https://courier.com?utm_campaign=devrel-meetups&utm_source=meetups&utm_medium=website", - "image": "courier.png", - "copy": "" - }, - { - "id": "runme.dev", - "name": "Runme", - "url": "https://runme.dev", - "image": "runme.png", - "copy": "" - }, - { - "id": "polaris", - "url": "https://getpolaris.ai", - "copy": "Polaris is an AI-powered site reliability tool that helps you detect incidents in real-time. Its tiny JavaScript SDK lets you instrument key user workflows to create indicators of reliability and latency. Apply thresholds to your indicators to define performance objectives and be alerted when your app begins to experience degradations.", - "image": "polaris.png" - }, - { - "id": "seekout", - "name": "SeekOut", - "url": "https://www.seekout.com/", - "copy": "Grow the talent you have.\nFind the talent you need.\nSeekOut empowers great people and companies to grow togetherβ€”with actionable insights at every step of your talent journey. ", - "image": "seekout.png" - }, - { - "id": "datastax", - "name": "DataStax", - "url": "https://www.datastax.com/", - "copy": "DataStax is your one-stop shop for building on GenAI.", - "image": "datastax.png" - }, - { - "id": "fireproof", - "name": "Fireproof", - "url": "https://fireproof.storage/", - "copy": "Fireproof is an [embedded database for collaborative applications](https://use-fireproof.com/). Install it in your front-end app, or use it in any serverless cloud or edge function. Fireproof’s document API includes live updates, flexible queries, binary attachments, encrypted block replication, and multi-user sync. Fireproof enables developers to ship interactive features faster in any deployment environment.\n\nDeploy your app however you like. Install the Fireproof module into your browser or server app code and sync using remixable open-source adapters. Experience live updates across peers so everyone can collaborate together, with any backend. Render dynamic HTML and interact with APIs from the edge. Connect with the community to add support for more backends.", - "image": "fireproof.png" - }, - { - "id": "sentry", - "name": "Sentry", - "url": "https://sentry.io/welcome/", - "copy": "Sentry is the application monitoring platform for development teams to holistically monitor their code health from the frontend to the backend to see clearer, solve quicker, and learn continuously.", - "image": "sentry.png" - } -] \ No newline at end of file + { + "id": "collective-seattle", + "url": "https://www.collectiveseattle.com", + "image": "collective.webp" + }, + { + "id": "svb", + "url": "https://www.svb.com/startup-banking", + "image": "svb.svg" + }, + { + "id": "aws-skills-center-seattle", + "url": "https://aws.amazon.com/training/skills-centers/seattle-skills-center/", + "image": "aws-skills-center-seattle.png" + }, + { + "id": "formidable", + "url": "https://formidable.com", + "image": "formidable.svg" + }, + { + "id": "customer-io", + "url": "https://customer.io/", + "image": "customer-io.svg" + }, + { + "id": "remix", + "url": "https://remix.run/", + "image": "remix.png" + }, + { + "id": "appwrite", + "name": "Appwrite", + "url": "https://appwrite.io", + "image": "appwrite.jpg", + "copy": "Appwrite is a secure open-source backend server provides the core APIs required to build web and mobile applications. Appwrite provides authentication, database, storage, functions, and advanced real-time capabilities." + }, + { + "id": "amplication", + "name": "Amplication", + "url": "https://amplication.com", + "image": "amplication.png", + "copy": "Amplication is an opensource based SaaS backend development solution that empowers professional developers to accelerate the development of Node.js applications. By using Amplication to build repetitive backend services, development teams will yield significant increases in developer productivity, reliability, and consistency of delivering critical applications to production." + }, + { + "id": "twilio", + "name": "Twilio", + "url": "https://www.twilio.com/en-us", + "image": "twilio.png", + "copy": "Twilio is the customer layer for the internet, powering the most engaging interactions companies build for their customers. We provide simple tools that solve hard problems, delivered as a developer-first cloud platform with global reach and no shenanigans pricing." + }, + { + "id": "aws", + "name": "AWS", + "url": "https://docs.amplify.aws/", + "image": "aws.png", + "copy": "" + }, + { + "id": "courier", + "name": "Courier", + "url": "https://courier.com?utm_campaign=devrel-meetups&utm_source=meetups&utm_medium=website", + "image": "courier.png", + "copy": "" + }, + { + "id": "runme.dev", + "name": "Runme", + "url": "https://runme.dev", + "image": "runme.png", + "copy": "" + }, + { + "id": "polaris", + "url": "https://getpolaris.ai", + "copy": "Polaris is an AI-powered site reliability tool that helps you detect incidents in real-time. Its tiny JavaScript SDK lets you instrument key user workflows to create indicators of reliability and latency. Apply thresholds to your indicators to define performance objectives and be alerted when your app begins to experience degradations.", + "image": "polaris.png" + }, + { + "id": "seekout", + "name": "SeekOut", + "url": "https://www.seekout.com/", + "copy": "Grow the talent you have.\nFind the talent you need.\nSeekOut empowers great people and companies to grow togetherβ€”with actionable insights at every step of your talent journey. ", + "image": "seekout.png" + }, + { + "id": "datastax", + "name": "DataStax", + "url": "https://www.datastax.com/", + "copy": "DataStax is your one-stop shop for building on GenAI.", + "image": "datastax.png" + }, + { + "id": "fireproof", + "name": "Fireproof", + "url": "https://fireproof.storage/", + "copy": "Fireproof is an [embedded database for collaborative applications](https://use-fireproof.com/). Install it in your front-end app, or use it in any serverless cloud or edge function. Fireproof’s document API includes live updates, flexible queries, binary attachments, encrypted block replication, and multi-user sync. Fireproof enables developers to ship interactive features faster in any deployment environment.\n\nDeploy your app however you like. Install the Fireproof module into your browser or server app code and sync using remixable open-source adapters. Experience live updates across peers so everyone can collaborate together, with any backend. Render dynamic HTML and interact with APIs from the edge. Connect with the community to add support for more backends.", + "image": "fireproof.png" + }, + { + "id": "sentry", + "name": "Sentry", + "url": "https://sentry.io/welcome/", + "copy": "Sentry is the application monitoring platform for development teams to holistically monitor their code health from the frontend to the backend to see clearer, solve quicker, and learn continuously.", + "image": "sentry.png" + } +] diff --git a/app/data/talks.json b/app/data/talks.json index 76c09ff..4602c7d 100644 --- a/app/data/talks.json +++ b/app/data/talks.json @@ -1,621 +1,477 @@ [ - { - "id": "amber-hoak-may-2022", - "speaker_id": "amber-hoak", - "event_id": "may-2022", - "title": "Stumbling through ML in JavaScript: the good, the bad, and the computationally intensive", - "abstract": "Does Tensorflow make you tense? Let's unpack how you can get started with ML in the browser, no math required. Learn how to build models on the browser, why we would use client-side ML, and what ML tooling (and lack of tooling) is in the js ecosystem." - }, - { - "id": "jamund-ferguson-june-2022", - "speaker_id": "jamund-ferguson", - "event_id": "june-2022", - "title": "🧟 Web Performance Horror StoriesπŸ§›", - "abstract": "Experience the cringe inducing horror caused by excessively slow web performance. Be shocked to hear about megabytes of CSS going unused, endlessly duplicated polyfills, input fields freezing the main thread for 50ms per keystroke and assorted other terrors. Together we'll dissect these performance poltergeists and vanquish them from our apps forever." - }, - { - "id": "rachel-lee-nabors-october-2022", - "speaker_id": "rachel-lee-nabors", - "event_id": "october-2022", - "title": "The Human API", - "abstract": "The only thing harder than writing scalable, usable code is teaching others how to wield it. As the sum of human knowledge continues to grow, so too do the challenges of teaching each other what we need to know not only to build toward the future but also to contribute to the tools of its construction. If only it were possible to transfer knowledge from one engineer directly into the minds of other engineers, like a human RAID! Rachel Lee Nabors loves building such mechanisms for knowledge transfer, from video guides to documentation to curricula. In this talk, they will discuss what doesn't work, what has worked on projects like React and React Native, and what can work for any other open source project today. Teaching is hard. But there are solid ways to approach knowledge transfer at scale." - }, - { - "id": "matthew-bauer-november-2022", - "speaker_id": "matthew-bauer", - "event_id": "november-2022", - "title": "Two left feet and an earthquake in Vue: Composition API or Options API?", - "abstract": "Vue 3 is controversial. There were many people drawn to vue 2 and not all of them are able to find footing inside Vue 3, despite that being the main version pushed forward. With that being said Evan and the team at Vue have decided to include the options API & composition API as both valid approaches to writing vue applications, but what does that mean for the average user or the user at the end of the bell curve?" - }, - { - "id": "brian-gershon-november-2022", - "speaker_id": "brian-gershon", - "event_id": "november-2022", - "title": "Tales of a Transition to Tailwind CSS", - "abstract": "After some doubts, I gave Tailwind CSS a try and discovered a new love for styling my web applications. I'll discuss some reasons you'll like it, and also introduce component frameworks built on Tailwind." - }, - { - "id": "calvin-kipperman-january-2023", - "speaker_id": "calvin-kipperman", - "event_id": "january-2023", - "title": "React Is Holding Me Hostage", - "abstract": "A love & horror story - why React isn't a good model for building interactive applications and why I'm still a React developer." - }, - { - "id": "tim-obrien-january-2023", - "speaker_id": "tim-obrien", - "event_id": "january-2023", - "title": "Were Your Skis Cut with Javascript?", - "type": "lightning", - "abstract": "Just a quick snapshot of how you can use React and Express and Javascript to manufacture skis. What are the pros and cons of using Javascript to generate CNC files and what's worked and not worked? Looking to show a quick demo and also looking for people interested in contributing." - }, - { - "id": "josh-scotland-january-2023", - "speaker_id": "josh-scotland", - "event_id": "january-2023", - "title": "Supercharge Your Coding With ChatGPT", - "type": "lightning", - "abstract": "Learn how to use ChatGPT, a powerful AI programming tool, to enhance your coding skills and boost your productivity. In this demo, we'll explore the capabilities and limitations of ChatGPT to see firsthand how it might revolutionize your workflow." - }, - { - "id": "brian-tran-february-2023", - "speaker_id": "brian-tran", - "event_id": "february-2023", - "title": "I want my data and I want it now!", - "type": "lightning", - "abstract": "A quick talk about stream processing using NodeJS and some other use cases including displaying the data in real-time over WebSockets and React." - }, - { - "id": "lupe-canaviri-maydana-februrary-2023", - "speaker_id": "lupe-canaviri-maydana", - "event_id": "february-2023", - "title": "Playwright, everyone can write test", - "type": "lightning", - "abstract": "In 5 mins I will show you how to create your first end to end test with Playwright" - }, - { - "id": "jacob-ebey-february-2023", - "speaker_id": "jacob-ebey", - "event_id": "february-2023", - "title": "\"Promises\" over the wire", - "abstract": "Learn how Remix's `defer()` feature utilizes native language features, a single HTTP request and a few react tricks to deliver, what I believe will be, the next big trend in \"full stack frameworks\"." - }, - { - "id": "aaroh-mankad-march-2023", - "speaker_id": "aaroh-mankad", - "event_id": "march-2023", - "title": "Tinkering with Framer Motion", - "type": "lightning", - "abstract": "I've been learning how to use Framer Motion recently, and wanted to walk through how it works, what you can use it for, and go through a couple of the examples from the documentation!" - }, - { - "id": "mason-lynass-march-2023", - "speaker_id": "mason-lynass", - "event_id": "march-2023", - "title": "useSound - a creative, versatile tool to use audio & sound effects in React", - "type": "lightning", - "abstract": "useSound is a custom React hook developed by Josh Comeau, designed to creatively implement audio assets in React applications. I'll talk about installation and setup, differences between useSound and HTMLAudioElement, and quickly showcase a simple musical instrument built in React!" - }, - { - "id": "chris-griffing-march-2023", - "speaker_id": "chris-griffing", - "event_id": "march-2023", - "title": "Porting Boring Avatars using Mitosis", - "abstract": "boringavatars.com is an awesome avatars library, but it's only for React. People have ported it to other frameworks but they are one-offs. I decided to use Mitosis from builder.io to make \"one repo to rule them all\". In this talk, I will go over the process and some of the issues I encountered along the way." - }, - { - "id": "philip-swan-april-2023", - "speaker_id": "philip-swan", - "event_id": "april-2023", - "title": "The Tethered Ring Space Infrastructure Interactive 3D Architecture Model in three.js", - "abstract": "The Tethered Ring a game-changing architecture for making space safe, sustainable, and affordable for everyone - which clearly is not going to happen if we keep on using chemical rockets. An on-line interactive three.js-based JavaScript model captures the engineering, science, and economics behind the technology. Now anyone with internet access can review the code and contribute to the project. Come and be inspired!", - "type": "regular" - }, - { - "id": "catherine-johnson-april-2023", - "speaker_id": "catherine-johnson", - "event_id": "april-2023", - "title": "How to Build Accessible React Components", - "abstract": "Hope you are strapped in for some accessibility! In this session we will breakdown how you can use built-in React tools and web accessibility guidelines to create flexible and accessible components for your website.", - "type": "regular" - }, - { - "id": "michael-solati-april-2023", - "speaker_id": "michael-solati", - "event_id": "april-2023", - "title": "0 to 100 with Lighthouse", - "abstract": "There are a slew of tools to help developers improve their web applications: one of them is Google's Lighthouse. In this session you'll learn about what Lighthouse is, and see how you can use Lighthouse CI as part of your build and testing process.", - "type": "lightning" - }, - { - "id": "spenser-solys-may-2023", - "speaker_id": "spenser-solys", - "event_id": "may-2023", - "title": "Augmented Reality Business Card", - "abstract": "I made a \"business card\" using AFrame + AR.js. Just want to show it off", - "type": "lightning" - }, - { - "id": "tiger-oakes-may-2023", - "speaker_id": "tiger-oakes", - "event_id": "may-2023", - "title": "Hacking an e-reader to show my tea menu", - "abstract": "E-Readers are great and use so little power! I wanted to have a tea menu to show guests and for my own reference. I'll share how to generate an e-book with all your drinks in Deno, as well as rendering a custom cover page with SVG. Wow your friends by turning an old device into a smart home tea menu.", - "type": "lightning" - }, - { - "id": "aiden-bai-june-2023", - "speaker_id": "aiden-bai", - "event_id": "june-2023", - "title": "Virtual DOM: Back in Block", - "abstract": "Is the Virtual DOM pure overhead? In this tech talk, Aiden Bai explores the performance implications of the Virtual DOM in frameworks like React and presents an alternative approach called the \"block virtual DOM.\" Aiden delves into the origins of the Virtual DOM, its purpose in addressing performance issues, and the process of diffing and reconciliation. The talk introduces the Block virtual DOM, which takes a different approach to diffing by using static analysis and dirty checking.", - "topics": [ - "reactjs", - "millionjs", - "nextjs", - "performance", - "rendering", - "javascript", - "typescript" - ], - "type": "lightning" - }, - { - "id": "dm-liao-june-2023", - "speaker_id": "dm-liao", - "event_id": "june-2023", - "title": "Using the web to make interactive fanfiction", - "abstract": "Over the pandemic, people developed a wide variety of hobbies to fill the time, and for me, that was writing a ridiculous amount of fanfiction. One of the most ambitious pieces was an interactive, choice-based and animated story written using Ink and 'set' with Preact and InkJS, and this talk goes through some of the creative and technical decisions I made to get them to play nicely with each other.", - "topics": [ - "preactjs", - "inkjs", - "immutable data", - "text parsing", - "interactive fiction" - ], - "type": "regular" - }, - { - "id": "cristina-rodriguez-june-2023", - "speaker_id": "cristina-rodriguez", - "event_id": "june-2023", - "title": "Overcoming Blank Page Syndrome with your Template", - "abstract": "How many times have you thought of a great idea for a project but were not quite sure how to start coding that project? Using templates can help beginning engineers overcome the overwhelm and fear that can come with starting projects. The goal of this talk is to share with everyone who is self-learning to code that templates and automation are their friends, especially for that tedious work of your initial setup. There is no need to start every project from scratch.", - "topics": [ - "javascript", - "templates", - "projects", - "front-end", - "backend", - "react", - "vite" - ], - "type": "lightning" - }, - { - "id": "geoff-rich-july-2023", - "speaker_id": "geoff-rich", - "event_id": "july-2023", - "title": "Web development, streamlined: an introduction to SvelteKit", - "abstract": "SvelteKit is an exciting new web framework that recently launched version 1.0. It combines the well-loved Svelte JavaScript framework with everything you need to build a modern web app: routing, type-safe data loading, progressively-enhanced forms, a speedy Vite-powered dev experience, and more. In this talk, I’ll give a crash course on SvelteKit and how you can use it to build fast, resilient web apps of all shapes and sizes.", - "topics": [ - "javascript", - " svelte", - " sveltekit " - ], - "type": "regular" - }, - { - "id": "chris-griffing-july-2023", - "speaker_id": "chris-griffing", - "event_id": "july-2023", - "title": "Protecting the Environment (Variables) via AST", - "abstract": "How can we use the AST to detect unused env vars. Geller is a simple tool to do that. Let's dig into how it works and how it crawls the JS/TS AST.", - "topics": [ - "AST", - " CI/CD", - " Dev Tools" - ], - "type": "lightning" - }, - { - "id": "michael-fitzgerald-july-2023", - "speaker_id": "michael-fitzgerald", - "event_id": "july-2023", - "title": "Promise Concurrency in JavaScript", - "abstract": "Exploring ways to optimize resolving promises in JavasScript. A few slides with concepts and execution of code snippets with barebones performance measurement. Presenting to spark further discussion and generate feedback / input from others, not to lecture as the expert on the matter.", - "topics": [ - "javascript", - " promises", - " performance", - " concurrency" - ], - "type": "lightning" - }, - { - "id": "jan-miksovsky-september-2023", - "speaker_id": "jan-miksovsky", - "event_id": "september-2023", - "title": "Graphs All the Way Down", - "abstract": "Distinct APIs for objects, files, sites, and resources obscure the fact that they're all just graphs. I'll introduce a research project leveraging recent JS features and a new coding pattern for graphs to let you quickly transform graphs of anything into a site or other artifact in a natural, expressive way.", - "topics": [ - "front-end development", - "static site generators", - "documentation pipelines" - ], - "type": "regular" - }, - { - "id": "peli-de-halleux-september-2023", - "speaker_id": "peli-de-halleux", - "event_id": "september-2023", - "title": "DeviceScript - TypeScript for Tiny IoT Devices", - "abstract": "Bring your TypeScript skillz to embedded (ESP32, RP2040) using DeviceScript.", - "topics": [ - "embedded", - "typescript" - ], - "type": "regular" - }, - { - "id": "ben-lower-september-2023", - "speaker_id": "ben-lower", - "event_id": "september-2023", - "title": "Giving LLMs Tools and Ability to do Generative UI", - "abstract": "I will show how to enable LLMs to take actions using tools defined using JSX components. Additionally, I will show how to give the LLM the ability to create UI dynamically at runtime to move beyond simple text-based chat experiences.", - "topics": [ - "AI", - "LLM", - "JavaScript", - "React", - "JSX" - ], - "type": "lightning" - }, - { - "id": "caleb-diehl-october-2023", - "speaker_id": "caleb-diehl", - "event_id": "october-2023", - "title": "Tracking Wildfires for The Associated Press with Maplibre and the ESRI API", - "abstract": "Millions of readers rely on the Associated Press's wildfire tracker to get live information about large wildfires across the United States. I am a data visualization developer at the AP and will go over some design, architecture, and data viz decisions we made during a major UI overhaul (which goes live at the end of June). I'll discuss how attendees can build similar interactive maps in React / TypeScript using the same free, open-source mapping libraries and APIs. ", - "topics": [ - "Data visualization", - "interactive mapping" - ], - "type": "lightning" - }, - { - "id": "alan-gonzalez-october-2023", - "speaker_id": "alan-gonzalez", - "event_id": "october-2023", - "title": "A new type of coding interviews", - "abstract": "Technical interviews are either inapplicable leet-code questions or time-consuming take-home projects. This talk presents a new approach that brings the best of both worlds, allowing people to showcase applicable skills. Software Engineering interviews in the browser!", - "topics": [ - "hiring", - "coding interviews", - "leet-code", - "take-homes", - "webassembly" - ], - "type": "lightning" - }, - { - "id": "mike-ryan-november-2023", - "speaker_id": "mike-ryan", - "event_id": "november-2023", - "title": "The User Experience of Site Reliability", - "abstract": "From CPU-pegged servers to misconfigured load balancers, outages in our systems all result in the same thing: degraded user experience. Let's explore strategies for measuring, managing, and improving reliability in our applications from the perspective of end users.", - "topics": [ - "site reliability", - "observability", - "user experience" - ], - "type": "regular" - }, - { - "id": "doug-wade-november-2023", - "speaker_id": "doug-wade", - "event_id": "november-2023", - "title": "Dual publishing JavaScript packages to deno and node", - "abstract": "Learn how take a JavaScript module written for deno and build, test, type check, and publish it for both deno and nodejs using dnt, the Deno to Node Transform build tool", - "topics": [ - "Deno", - "nodejs", - "npm", - "package management" - ], - "type": "regular" - }, - { - "id": "fx-wood-february-2024", - "speaker_id": "fx-wood", - "event_id": "february-2024", - "title": "Why You Should Use A DateTime Library (Maybe)", - "abstract": "There are some interesting complexities when it comes to working with time. Also some fun stuff about timestamps.", - "topics": [ - "luxon", - "datetime", - "DateTimeFormat" - ], - "type": "lightning" - }, - { - "id": "dm-liao-february-2024", - "speaker_id": "dm-liao", - "event_id": "february-2024", - "title": "Using React with the Godot game engine", - "abstract": "Godot is a game engine and editor that is written in C++ and allows you to script games using its custom GDScript language, or C#. So, naturally, I decided that I wanted to make game UI in Javascript using React, and it turns out that that's not that uncommon of an idea! And also not that terrible of an idea! This talk will go through some of the nitty gritty of getting C# and JS to talk to each other, and then creating a custom React renderer to render Godot UI elements.", - "topics": [ - "React", - "Godot", - "game engine" - ], - "type": "regular" - }, - { - "id": "shruti-kapoor-march-2024", - "speaker_id": "shruti-kapoor", - "event_id": "march-2024", - "title": "Building an AI Web App with LangChain and OpenAI", - "abstract": "Learn how to build a web app with LangChain and OpenAI. Build the front-end, back-end and create an AI service that integrates with OpenAI to power a web app. ", - "topics": [ - "front-end", - "back-end", - "AI " - ], - "type": "regular" - }, - { - "id": "j-chris-anderson-march-2024", - "speaker_id": "j-chris-anderson", - "event_id": "march-2024", - "title": "Local-first database application starter kits", - "abstract": "I'm building a browser-database based on what I learned from CouchDB. It empowers front-end devs to ship data-driven features without getting tied to a backend. Later you can connect almost any cloud for multi-user live collaboration.", - "topics": [ - "database", - "react", - "sync", - "crdt", - "local-first" - ], - "type": "regular" - }, - { - "id": "eric-jensen-march-2024", - "speaker_id": "eric-jensen", - "event_id": "march-2024", - "title": "Fireproof: A JavaScript database for web applications", - "abstract": "Fireproof is a pure JS database with zero setup. Build without constraints, plug in and launch in one step. Come learn about the newest way to create web apps!", - "topics": [ - "database", - "sync", - "local-first" - ], - "type": "regular" - }, - { - "id": "herrington-darkholme-april-2024", - "speaker_id": "herrington-darkholme", - "event_id": "april-2024", - "title": "Benchmark Rusty Parsers: demystify native tooling performance in JavaScript", - "abstract": "Native parsers used in JavaScript are not always faster due to extra work across languages. This talk will review several parsers written in JS/Rust and demonstrate the perf characteristics of native programs in NodeJS.\nAvoiding Rust overhead and using multi-core are crucial for performance.\n\nhttps://rs-perf-talk.vercel.app/", - "topics": [ - "javascript", - "napi", - "rust" - ], - "type": "regular" - }, - { - "id": "john-pham-april-2024", - "speaker_id": "john-pham", - "event_id": "april-2024", - "title": "Delightful Design", - "abstract": "In this talk, we'll explore how to craft delightful experiences that enhance user engagement, focusing on performance, accessibility, and impressing the user, as seen in products like Vercel, Linear, and Raycast. You'll learn that anyone, regardless of design expertise, can achieve such delightful design.", - "topics": [ - "design" - ], - "type": "regular" - }, - { - "id": "allan-deutsch-may-2024", - "speaker_id": "allan-deutsch", - "event_id": "may-2024", - "title": "Adding nominal type safety to your TS code using branded types", - "abstract": "Typescript and JavaScript are *structurally* typed - objects of the same shape are assignable. Nominal types can only be assigned to other objects of the same *named type*. Type branding is a technique that brings the safety of nominal typing to typescript.", - "topics": [ - "Typescript", - "type safety", - "validation" - ], - "type": "lightning" - }, - { - "id": "sarah-guthals-phd-may-2024", - "speaker_id": "sarah-guthals-phd", - "event_id": "may-2024", - "title": "Deconstructing Distributed Tracing", - "abstract": "Distributed Tracing is a powerful and modern debugging technique that allows you to track the flow and timing of requests as they navigate through every part of your system. Learn the reason why Distributed Tracing exists and how to leverage it.", - "topics": [ - "performance", - "tracing", - "monitoring" - ], - "type": "regular" - }, - { - "id": "josh-franklin-july-2024", - "speaker_id": "josh-franklin", - "event_id": "july-2024", - "title": "\"Efficiently\" Sharing Data Through URLs", - "abstract": "What is the most efficient way to store data in a URL? Let's deep dive into how URLs work and write some custom encoding algorithms to find out how much data can be stored in them. Knowing this may allow you to replace your database entirely for some use cases.", - "topics": [ - "How URLs work", - "encoding/decoding algorithms", - "when to store data in URLs vs. a backend" - ], - "type": "regular" - }, - { - "id": "chris-griffing-july-2024", - "speaker_id": "chris-griffing", - "event_id": "july-2024", - "title": "A Different Kind of Serverless: A History of WASM and case study for SQLite and Whisper.cpp running purely in the browser with no server-side logic", - "abstract": "You can build applications with a local-first focus. We will cover what WASM is, how it came to be and some of its history, as well as a case study focused on an app I made for myself. In the case study, we dig into how you might use WASM to run Whisper.cpp for Speech-to-text and also use WASM to host a local SQLite database. The only reason we need a network connection at all for this application is to get the initial JS payload and to download the Whisper models from a remote store since they can get quite large.", - "topics": [ - "WASM", - "JS", - "SQLite", - "Speech-to-text" - ], - "type": "regular" - }, - { - "id": "ben-van-citters-august-2024", - "speaker_id": "ben-van-citters", - "event_id": "august-2024", - "title": "Undo/Redo a postmortem", - "abstract": "Some thoughts about distributed undo/redo architecture. I did it and you can too!", - "topics": [ - "JavaScript", - "undo", - "patterns", - "rest", - "crud" - ], - "type": "regular" - }, - { - "id": "allan-deutsch-august-2024", - "speaker_id": "allan-deutsch", - "event_id": "august-2024", - "title": "Classy coding: JavaScript OOP through the ages", - "abstract": "Embark on a journey through the history of JavaScript to learn how a variety of OOP challenges were overcome in the past. We will conclude our journey with clean modern syntax and a deeper understanding of classes, objects, and the chain of changes that helped us get here.", - "topics": [ - "javascript", - "inheritance", - "prototype chains", - "JS runtime", - "classes", - "OOP", - "object-oriented programming" - ], - "type": "lightning" - }, - { - "id": "nicholas-patti-september-2024", - "speaker_id": "nicholas-patti", - "event_id": "september-2024", - "title": "Planning the ultimate Limp Bizkit experience with Playwright", - "abstract": "How can my friend and I get on stage to perform guitar and bass with Limp Bizkit? The answer lies in the data, and Playwright can help us grab it!", - "topics": [ - "Playwright", - "NodeJS", - "data scraping", - "data analysis" - ], - "type": "lightning" - }, - { - "id": "stacy-davis1-october-2024", - "speaker_id": "stacy-davis1", - "event_id": "october-2024", - "title": "Translation: Tokens of Clarity", - "abstract": "How does someone even get started with translating? What are some of the details involved? Join me to learn more about translation and localization in a React app, and insights taken from experience leading a translation initiative.", - "topics": [ - "Translation", - "localization", - "React" - ], - "type": "regular" - }, - { - "id": "erik-marks-october-2024", - "speaker_id": "erik-marks", - "event_id": "october-2024", - "title": "How to use eval() in production (and remain gainfully employed)", - "abstract": "If you know anything about eval(), it's probably that you should avoid using it at all costs. However, what if using eval() could make your JavaScript program more secure? This is what Hardened JavaScript does, and in this talk we will explore how.", - "topics": [ - "JavaScript", - "security", - "extensibility", - "plugins", - "Hardened JavaScript", - "Secure EcmaScript", - "SES" - ], - "type": "lightning" - }, - { - "id": "cat-johnson-november-2024", - "speaker_id": "cat-johnson", - "event_id": "november-2024", - "title": "Nested Interactive Elements: A Nightmare in Accessibility", - "abstract": "There have been numerous remarkable new UX experiences developed over the years. However, few are aware of the challenges involved in building structures with nested interactive elements. We will explore some of these prevalent web UX patterns and delve into the hidden challenges they present. While we may be able to mitigate some of these issues, others serve as horror stories in accessibility.", - "topics": [ - "Accessibility", - "HTML", - "CSS" - ], - "type": "lightning" - }, - { - "id": "stacy-davis1-november-2024", - "speaker_id": "stacy-davis1", - "event_id": "november-2024", - "title": "Translation: Tokens of Clarity", - "abstract": "How does someone even get started with translating? What are some of the details involved? Join me to learn more about translation and localization in a React app, and insights taken from experience leading a translation initiative.", - "topics": [ - "Translation", - "localization", - "React" - ], - "type": "lightning" - }, - { - "id": "justin-castilla-january-2025", - "speaker_id": "justin-castilla", - "event_id": "january-2025", - "title": "Observability now: Open Telemetry is here and we should know about it.", - "abstract": "Observability provides a wrangling of logs, traces, and metrics from your application into an organized analytics engine. We need to understand the basics and opportunities it provides. With open source software, we can get it up and running in no time!", - "topics": [ - "observability", - "data collection", - "analytics", - "performance", - "AI", - "data storage", - "machine learning" - ], - "type": "lightning" - }, - { - "id": "peli-de-halleux-january-2025", - "speaker_id": "peli-de-halleux", - "event_id": "january-2025", - "title": "GenAIScript - Generative AI Scripting", - "abstract": "GenAIScript is a JavaScript-ish environment with convenient tooling for file ingestion, prompt development and structured data extraction. We will be building LLM scripts of all sorts during the talk. https://microsoft.github.io/genaiscript ", - "topics": [ - "genai", - "llm" - ], - "type": "lightning" - }, - { - "id": "andrew-enyeart-january-2025", - "speaker_id": "andrew-enyeart", - "event_id": "january-2025", - "title": "Hard Things & Magical Incantations of Overcoming", - "abstract": "We all face hard things. Wielding simple, powerful phrasesβ€”magical incantations, if you willβ€”can help us take action in the face of discomfort and fear. Learn how to harness identity and habit to tackle your own unique challenges with courage.", - "topics": [ - "job hunting", - "courage", - "mindset", - "identity", - "discomfort", - "personal growth", - "persistence" - ], - "type": "lightning" - } -] \ No newline at end of file + { + "id": "amber-hoak-may-2022", + "speaker_id": "amber-hoak", + "event_id": "may-2022", + "title": "Stumbling through ML in JavaScript: the good, the bad, and the computationally intensive", + "abstract": "Does Tensorflow make you tense? Let's unpack how you can get started with ML in the browser, no math required. Learn how to build models on the browser, why we would use client-side ML, and what ML tooling (and lack of tooling) is in the js ecosystem." + }, + { + "id": "jamund-ferguson-june-2022", + "speaker_id": "jamund-ferguson", + "event_id": "june-2022", + "title": "🧟 Web Performance Horror StoriesπŸ§›", + "abstract": "Experience the cringe inducing horror caused by excessively slow web performance. Be shocked to hear about megabytes of CSS going unused, endlessly duplicated polyfills, input fields freezing the main thread for 50ms per keystroke and assorted other terrors. Together we'll dissect these performance poltergeists and vanquish them from our apps forever." + }, + { + "id": "rachel-lee-nabors-october-2022", + "speaker_id": "rachel-lee-nabors", + "event_id": "october-2022", + "title": "The Human API", + "abstract": "The only thing harder than writing scalable, usable code is teaching others how to wield it. As the sum of human knowledge continues to grow, so too do the challenges of teaching each other what we need to know not only to build toward the future but also to contribute to the tools of its construction. If only it were possible to transfer knowledge from one engineer directly into the minds of other engineers, like a human RAID! Rachel Lee Nabors loves building such mechanisms for knowledge transfer, from video guides to documentation to curricula. In this talk, they will discuss what doesn't work, what has worked on projects like React and React Native, and what can work for any other open source project today. Teaching is hard. But there are solid ways to approach knowledge transfer at scale." + }, + { + "id": "matthew-bauer-november-2022", + "speaker_id": "matthew-bauer", + "event_id": "november-2022", + "title": "Two left feet and an earthquake in Vue: Composition API or Options API?", + "abstract": "Vue 3 is controversial. There were many people drawn to vue 2 and not all of them are able to find footing inside Vue 3, despite that being the main version pushed forward. With that being said Evan and the team at Vue have decided to include the options API & composition API as both valid approaches to writing vue applications, but what does that mean for the average user or the user at the end of the bell curve?" + }, + { + "id": "brian-gershon-november-2022", + "speaker_id": "brian-gershon", + "event_id": "november-2022", + "title": "Tales of a Transition to Tailwind CSS", + "abstract": "After some doubts, I gave Tailwind CSS a try and discovered a new love for styling my web applications. I'll discuss some reasons you'll like it, and also introduce component frameworks built on Tailwind." + }, + { + "id": "calvin-kipperman-january-2023", + "speaker_id": "calvin-kipperman", + "event_id": "january-2023", + "title": "React Is Holding Me Hostage", + "abstract": "A love & horror story - why React isn't a good model for building interactive applications and why I'm still a React developer." + }, + { + "id": "tim-obrien-january-2023", + "speaker_id": "tim-obrien", + "event_id": "january-2023", + "title": "Were Your Skis Cut with Javascript?", + "type": "lightning", + "abstract": "Just a quick snapshot of how you can use React and Express and Javascript to manufacture skis. What are the pros and cons of using Javascript to generate CNC files and what's worked and not worked? Looking to show a quick demo and also looking for people interested in contributing." + }, + { + "id": "josh-scotland-january-2023", + "speaker_id": "josh-scotland", + "event_id": "january-2023", + "title": "Supercharge Your Coding With ChatGPT", + "type": "lightning", + "abstract": "Learn how to use ChatGPT, a powerful AI programming tool, to enhance your coding skills and boost your productivity. In this demo, we'll explore the capabilities and limitations of ChatGPT to see firsthand how it might revolutionize your workflow." + }, + { + "id": "brian-tran-february-2023", + "speaker_id": "brian-tran", + "event_id": "february-2023", + "title": "I want my data and I want it now!", + "type": "lightning", + "abstract": "A quick talk about stream processing using NodeJS and some other use cases including displaying the data in real-time over WebSockets and React." + }, + { + "id": "lupe-canaviri-maydana-februrary-2023", + "speaker_id": "lupe-canaviri-maydana", + "event_id": "february-2023", + "title": "Playwright, everyone can write test", + "type": "lightning", + "abstract": "In 5 mins I will show you how to create your first end to end test with Playwright" + }, + { + "id": "jacob-ebey-february-2023", + "speaker_id": "jacob-ebey", + "event_id": "february-2023", + "title": "\"Promises\" over the wire", + "abstract": "Learn how Remix's `defer()` feature utilizes native language features, a single HTTP request and a few react tricks to deliver, what I believe will be, the next big trend in \"full stack frameworks\"." + }, + { + "id": "aaroh-mankad-march-2023", + "speaker_id": "aaroh-mankad", + "event_id": "march-2023", + "title": "Tinkering with Framer Motion", + "type": "lightning", + "abstract": "I've been learning how to use Framer Motion recently, and wanted to walk through how it works, what you can use it for, and go through a couple of the examples from the documentation!" + }, + { + "id": "mason-lynass-march-2023", + "speaker_id": "mason-lynass", + "event_id": "march-2023", + "title": "useSound - a creative, versatile tool to use audio & sound effects in React", + "type": "lightning", + "abstract": "useSound is a custom React hook developed by Josh Comeau, designed to creatively implement audio assets in React applications. I'll talk about installation and setup, differences between useSound and HTMLAudioElement, and quickly showcase a simple musical instrument built in React!" + }, + { + "id": "chris-griffing-march-2023", + "speaker_id": "chris-griffing", + "event_id": "march-2023", + "title": "Porting Boring Avatars using Mitosis", + "abstract": "boringavatars.com is an awesome avatars library, but it's only for React. People have ported it to other frameworks but they are one-offs. I decided to use Mitosis from builder.io to make \"one repo to rule them all\". In this talk, I will go over the process and some of the issues I encountered along the way." + }, + { + "id": "philip-swan-april-2023", + "speaker_id": "philip-swan", + "event_id": "april-2023", + "title": "The Tethered Ring Space Infrastructure Interactive 3D Architecture Model in three.js", + "abstract": "The Tethered Ring a game-changing architecture for making space safe, sustainable, and affordable for everyone - which clearly is not going to happen if we keep on using chemical rockets. An on-line interactive three.js-based JavaScript model captures the engineering, science, and economics behind the technology. Now anyone with internet access can review the code and contribute to the project. Come and be inspired!", + "type": "regular" + }, + { + "id": "catherine-johnson-april-2023", + "speaker_id": "catherine-johnson", + "event_id": "april-2023", + "title": "How to Build Accessible React Components", + "abstract": "Hope you are strapped in for some accessibility! In this session we will breakdown how you can use built-in React tools and web accessibility guidelines to create flexible and accessible components for your website.", + "type": "regular" + }, + { + "id": "michael-solati-april-2023", + "speaker_id": "michael-solati", + "event_id": "april-2023", + "title": "0 to 100 with Lighthouse", + "abstract": "There are a slew of tools to help developers improve their web applications: one of them is Google's Lighthouse. In this session you'll learn about what Lighthouse is, and see how you can use Lighthouse CI as part of your build and testing process.", + "type": "lightning" + }, + { + "id": "spenser-solys-may-2023", + "speaker_id": "spenser-solys", + "event_id": "may-2023", + "title": "Augmented Reality Business Card", + "abstract": "I made a \"business card\" using AFrame + AR.js. Just want to show it off", + "type": "lightning" + }, + { + "id": "tiger-oakes-may-2023", + "speaker_id": "tiger-oakes", + "event_id": "may-2023", + "title": "Hacking an e-reader to show my tea menu", + "abstract": "E-Readers are great and use so little power! I wanted to have a tea menu to show guests and for my own reference. I'll share how to generate an e-book with all your drinks in Deno, as well as rendering a custom cover page with SVG. Wow your friends by turning an old device into a smart home tea menu.", + "type": "lightning" + }, + { + "id": "aiden-bai-june-2023", + "speaker_id": "aiden-bai", + "event_id": "june-2023", + "title": "Virtual DOM: Back in Block", + "abstract": "Is the Virtual DOM pure overhead? In this tech talk, Aiden Bai explores the performance implications of the Virtual DOM in frameworks like React and presents an alternative approach called the \"block virtual DOM.\" Aiden delves into the origins of the Virtual DOM, its purpose in addressing performance issues, and the process of diffing and reconciliation. The talk introduces the Block virtual DOM, which takes a different approach to diffing by using static analysis and dirty checking.", + "topics": [ + "reactjs", + "millionjs", + "nextjs", + "performance", + "rendering", + "javascript", + "typescript" + ], + "type": "lightning" + }, + { + "id": "dm-liao-june-2023", + "speaker_id": "dm-liao", + "event_id": "june-2023", + "title": "Using the web to make interactive fanfiction", + "abstract": "Over the pandemic, people developed a wide variety of hobbies to fill the time, and for me, that was writing a ridiculous amount of fanfiction. One of the most ambitious pieces was an interactive, choice-based and animated story written using Ink and 'set' with Preact and InkJS, and this talk goes through some of the creative and technical decisions I made to get them to play nicely with each other.", + "topics": [ + "preactjs", + "inkjs", + "immutable data", + "text parsing", + "interactive fiction" + ], + "type": "regular" + }, + { + "id": "cristina-rodriguez-june-2023", + "speaker_id": "cristina-rodriguez", + "event_id": "june-2023", + "title": "Overcoming Blank Page Syndrome with your Template", + "abstract": "How many times have you thought of a great idea for a project but were not quite sure how to start coding that project? Using templates can help beginning engineers overcome the overwhelm and fear that can come with starting projects. The goal of this talk is to share with everyone who is self-learning to code that templates and automation are their friends, especially for that tedious work of your initial setup. There is no need to start every project from scratch.", + "topics": [ + "javascript", + "templates", + "projects", + "front-end", + "backend", + "react", + "vite" + ], + "type": "lightning" + }, + { + "id": "geoff-rich-july-2023", + "speaker_id": "geoff-rich", + "event_id": "july-2023", + "title": "Web development, streamlined: an introduction to SvelteKit", + "abstract": "SvelteKit is an exciting new web framework that recently launched version 1.0. It combines the well-loved Svelte JavaScript framework with everything you need to build a modern web app: routing, type-safe data loading, progressively-enhanced forms, a speedy Vite-powered dev experience, and more. In this talk, I’ll give a crash course on SvelteKit and how you can use it to build fast, resilient web apps of all shapes and sizes.", + "topics": ["javascript", " svelte", " sveltekit "], + "type": "regular" + }, + { + "id": "chris-griffing-july-2023", + "speaker_id": "chris-griffing", + "event_id": "july-2023", + "title": "Protecting the Environment (Variables) via AST", + "abstract": "How can we use the AST to detect unused env vars. Geller is a simple tool to do that. Let's dig into how it works and how it crawls the JS/TS AST.", + "topics": ["AST", " CI/CD", " Dev Tools"], + "type": "lightning" + }, + { + "id": "michael-fitzgerald-july-2023", + "speaker_id": "michael-fitzgerald", + "event_id": "july-2023", + "title": "Promise Concurrency in JavaScript", + "abstract": "Exploring ways to optimize resolving promises in JavasScript. A few slides with concepts and execution of code snippets with barebones performance measurement. Presenting to spark further discussion and generate feedback / input from others, not to lecture as the expert on the matter.", + "topics": ["javascript", " promises", " performance", " concurrency"], + "type": "lightning" + }, + { + "id": "jan-miksovsky-september-2023", + "speaker_id": "jan-miksovsky", + "event_id": "september-2023", + "title": "Graphs All the Way Down", + "abstract": "Distinct APIs for objects, files, sites, and resources obscure the fact that they're all just graphs. I'll introduce a research project leveraging recent JS features and a new coding pattern for graphs to let you quickly transform graphs of anything into a site or other artifact in a natural, expressive way.", + "topics": [ + "front-end development", + "static site generators", + "documentation pipelines" + ], + "type": "regular" + }, + { + "id": "peli-de-halleux-september-2023", + "speaker_id": "peli-de-halleux", + "event_id": "september-2023", + "title": "DeviceScript - TypeScript for Tiny IoT Devices", + "abstract": "Bring your TypeScript skillz to embedded (ESP32, RP2040) using DeviceScript.", + "topics": ["embedded", "typescript"], + "type": "regular" + }, + { + "id": "ben-lower-september-2023", + "speaker_id": "ben-lower", + "event_id": "september-2023", + "title": "Giving LLMs Tools and Ability to do Generative UI", + "abstract": "I will show how to enable LLMs to take actions using tools defined using JSX components. Additionally, I will show how to give the LLM the ability to create UI dynamically at runtime to move beyond simple text-based chat experiences.", + "topics": ["AI", "LLM", "JavaScript", "React", "JSX"], + "type": "lightning" + }, + { + "id": "caleb-diehl-october-2023", + "speaker_id": "caleb-diehl", + "event_id": "october-2023", + "title": "Tracking Wildfires for The Associated Press with Maplibre and the ESRI API", + "abstract": "Millions of readers rely on the Associated Press's wildfire tracker to get live information about large wildfires across the United States. I am a data visualization developer at the AP and will go over some design, architecture, and data viz decisions we made during a major UI overhaul (which goes live at the end of June). I'll discuss how attendees can build similar interactive maps in React / TypeScript using the same free, open-source mapping libraries and APIs. ", + "topics": ["Data visualization", "interactive mapping"], + "type": "lightning" + }, + { + "id": "alan-gonzalez-october-2023", + "speaker_id": "alan-gonzalez", + "event_id": "october-2023", + "title": "A new type of coding interviews", + "abstract": "Technical interviews are either inapplicable leet-code questions or time-consuming take-home projects. This talk presents a new approach that brings the best of both worlds, allowing people to showcase applicable skills. Software Engineering interviews in the browser!", + "topics": [ + "hiring", + "coding interviews", + "leet-code", + "take-homes", + "webassembly" + ], + "type": "lightning" + }, + { + "id": "mike-ryan-november-2023", + "speaker_id": "mike-ryan", + "event_id": "november-2023", + "title": "The User Experience of Site Reliability", + "abstract": "From CPU-pegged servers to misconfigured load balancers, outages in our systems all result in the same thing: degraded user experience. Let's explore strategies for measuring, managing, and improving reliability in our applications from the perspective of end users.", + "topics": ["site reliability", "observability", "user experience"], + "type": "regular" + }, + { + "id": "doug-wade-november-2023", + "speaker_id": "doug-wade", + "event_id": "november-2023", + "title": "Dual publishing JavaScript packages to deno and node", + "abstract": "Learn how take a JavaScript module written for deno and build, test, type check, and publish it for both deno and nodejs using dnt, the Deno to Node Transform build tool", + "topics": ["Deno", "nodejs", "npm", "package management"], + "type": "regular" + }, + { + "id": "fx-wood-february-2024", + "speaker_id": "fx-wood", + "event_id": "february-2024", + "title": "Why You Should Use A DateTime Library (Maybe)", + "abstract": "There are some interesting complexities when it comes to working with time. Also some fun stuff about timestamps.", + "topics": ["luxon", "datetime", "DateTimeFormat"], + "type": "lightning" + }, + { + "id": "dm-liao-february-2024", + "speaker_id": "dm-liao", + "event_id": "february-2024", + "title": "Using React with the Godot game engine", + "abstract": "Godot is a game engine and editor that is written in C++ and allows you to script games using its custom GDScript language, or C#. So, naturally, I decided that I wanted to make game UI in Javascript using React, and it turns out that that's not that uncommon of an idea! And also not that terrible of an idea! This talk will go through some of the nitty gritty of getting C# and JS to talk to each other, and then creating a custom React renderer to render Godot UI elements.", + "topics": ["React", "Godot", "game engine"], + "type": "regular" + }, + { + "id": "shruti-kapoor-march-2024", + "speaker_id": "shruti-kapoor", + "event_id": "march-2024", + "title": "Building an AI Web App with LangChain and OpenAI", + "abstract": "Learn how to build a web app with LangChain and OpenAI. Build the front-end, back-end and create an AI service that integrates with OpenAI to power a web app. ", + "topics": ["front-end", "back-end", "AI "], + "type": "regular" + }, + { + "id": "j-chris-anderson-march-2024", + "speaker_id": "j-chris-anderson", + "event_id": "march-2024", + "title": "Local-first database application starter kits", + "abstract": "I'm building a browser-database based on what I learned from CouchDB. It empowers front-end devs to ship data-driven features without getting tied to a backend. Later you can connect almost any cloud for multi-user live collaboration.", + "topics": ["database", "react", "sync", "crdt", "local-first"], + "type": "regular" + }, + { + "id": "eric-jensen-march-2024", + "speaker_id": "eric-jensen", + "event_id": "march-2024", + "title": "Fireproof: A JavaScript database for web applications", + "abstract": "Fireproof is a pure JS database with zero setup. Build without constraints, plug in and launch in one step. Come learn about the newest way to create web apps!", + "topics": ["database", "sync", "local-first"], + "type": "regular" + }, + { + "id": "herrington-darkholme-april-2024", + "speaker_id": "herrington-darkholme", + "event_id": "april-2024", + "title": "Benchmark Rusty Parsers: demystify native tooling performance in JavaScript", + "abstract": "Native parsers used in JavaScript are not always faster due to extra work across languages. This talk will review several parsers written in JS/Rust and demonstrate the perf characteristics of native programs in NodeJS.\nAvoiding Rust overhead and using multi-core are crucial for performance.\n\nhttps://rs-perf-talk.vercel.app/", + "topics": ["javascript", "napi", "rust"], + "type": "regular" + }, + { + "id": "john-pham-april-2024", + "speaker_id": "john-pham", + "event_id": "april-2024", + "title": "Delightful Design", + "abstract": "In this talk, we'll explore how to craft delightful experiences that enhance user engagement, focusing on performance, accessibility, and impressing the user, as seen in products like Vercel, Linear, and Raycast. You'll learn that anyone, regardless of design expertise, can achieve such delightful design.", + "topics": ["design"], + "type": "regular" + }, + { + "id": "allan-deutsch-may-2024", + "speaker_id": "allan-deutsch", + "event_id": "may-2024", + "title": "Adding nominal type safety to your TS code using branded types", + "abstract": "Typescript and JavaScript are *structurally* typed - objects of the same shape are assignable. Nominal types can only be assigned to other objects of the same *named type*. Type branding is a technique that brings the safety of nominal typing to typescript.", + "topics": ["Typescript", "type safety", "validation"], + "type": "lightning" + }, + { + "id": "sarah-guthals-phd-may-2024", + "speaker_id": "sarah-guthals-phd", + "event_id": "may-2024", + "title": "Deconstructing Distributed Tracing", + "abstract": "Distributed Tracing is a powerful and modern debugging technique that allows you to track the flow and timing of requests as they navigate through every part of your system. Learn the reason why Distributed Tracing exists and how to leverage it.", + "topics": ["performance", "tracing", "monitoring"], + "type": "regular" + }, + { + "id": "josh-franklin-july-2024", + "speaker_id": "josh-franklin", + "event_id": "july-2024", + "title": "\"Efficiently\" Sharing Data Through URLs", + "abstract": "What is the most efficient way to store data in a URL? Let's deep dive into how URLs work and write some custom encoding algorithms to find out how much data can be stored in them. Knowing this may allow you to replace your database entirely for some use cases.", + "topics": [ + "How URLs work", + "encoding/decoding algorithms", + "when to store data in URLs vs. a backend" + ], + "type": "regular" + }, + { + "id": "chris-griffing-july-2024", + "speaker_id": "chris-griffing", + "event_id": "july-2024", + "title": "A Different Kind of Serverless: A History of WASM and case study for SQLite and Whisper.cpp running purely in the browser with no server-side logic", + "abstract": "You can build applications with a local-first focus. We will cover what WASM is, how it came to be and some of its history, as well as a case study focused on an app I made for myself. In the case study, we dig into how you might use WASM to run Whisper.cpp for Speech-to-text and also use WASM to host a local SQLite database. The only reason we need a network connection at all for this application is to get the initial JS payload and to download the Whisper models from a remote store since they can get quite large.", + "topics": ["WASM", "JS", "SQLite", "Speech-to-text"], + "type": "regular" + }, + { + "id": "ben-van-citters-august-2024", + "speaker_id": "ben-van-citters", + "event_id": "august-2024", + "title": "Undo/Redo a postmortem", + "abstract": "Some thoughts about distributed undo/redo architecture. I did it and you can too!", + "topics": ["JavaScript", "undo", "patterns", "rest", "crud"], + "type": "regular" + }, + { + "id": "allan-deutsch-august-2024", + "speaker_id": "allan-deutsch", + "event_id": "august-2024", + "title": "Classy coding: JavaScript OOP through the ages", + "abstract": "Embark on a journey through the history of JavaScript to learn how a variety of OOP challenges were overcome in the past. We will conclude our journey with clean modern syntax and a deeper understanding of classes, objects, and the chain of changes that helped us get here.", + "topics": [ + "javascript", + "inheritance", + "prototype chains", + "JS runtime", + "classes", + "OOP", + "object-oriented programming" + ], + "type": "lightning" + }, + { + "id": "nicholas-patti-september-2024", + "speaker_id": "nicholas-patti", + "event_id": "september-2024", + "title": "Planning the ultimate Limp Bizkit experience with Playwright", + "abstract": "How can my friend and I get on stage to perform guitar and bass with Limp Bizkit? The answer lies in the data, and Playwright can help us grab it!", + "topics": ["Playwright", "NodeJS", "data scraping", "data analysis"], + "type": "lightning" + }, + { + "id": "stacy-davis1-october-2024", + "speaker_id": "stacy-davis1", + "event_id": "october-2024", + "title": "Translation: Tokens of Clarity", + "abstract": "How does someone even get started with translating? What are some of the details involved? Join me to learn more about translation and localization in a React app, and insights taken from experience leading a translation initiative.", + "topics": ["Translation", "localization", "React"], + "type": "regular" + }, + { + "id": "erik-marks-october-2024", + "speaker_id": "erik-marks", + "event_id": "october-2024", + "title": "How to use eval() in production (and remain gainfully employed)", + "abstract": "If you know anything about eval(), it's probably that you should avoid using it at all costs. However, what if using eval() could make your JavaScript program more secure? This is what Hardened JavaScript does, and in this talk we will explore how.", + "topics": [ + "JavaScript", + "security", + "extensibility", + "plugins", + "Hardened JavaScript", + "Secure EcmaScript", + "SES" + ], + "type": "lightning" + }, + { + "id": "cat-johnson-november-2024", + "speaker_id": "cat-johnson", + "event_id": "november-2024", + "title": "Nested Interactive Elements: A Nightmare in Accessibility", + "abstract": "There have been numerous remarkable new UX experiences developed over the years. However, few are aware of the challenges involved in building structures with nested interactive elements. We will explore some of these prevalent web UX patterns and delve into the hidden challenges they present. While we may be able to mitigate some of these issues, others serve as horror stories in accessibility.", + "topics": ["Accessibility", "HTML", "CSS"], + "type": "lightning" + }, + { + "id": "stacy-davis1-november-2024", + "speaker_id": "stacy-davis1", + "event_id": "november-2024", + "title": "Translation: Tokens of Clarity", + "abstract": "How does someone even get started with translating? What are some of the details involved? Join me to learn more about translation and localization in a React app, and insights taken from experience leading a translation initiative.", + "topics": ["Translation", "localization", "React"], + "type": "lightning" + } +] diff --git a/app/md/about-us.md b/app/md/about-us.md index 7278552..01f8229 100644 --- a/app/md/about-us.md +++ b/app/md/about-us.md @@ -2,11 +2,12 @@ title: About Us excerpt: SeattleJS is a safe and inclusive event for everyone --- + ![SeattleJS at the Collective](/_public/images/seattlejs-march-2022.jpg) -SeattleJS is the largest JavaScript and web developer meetup in Seattle. +SeattleJS is the largest JavaScript and web developer meetup in Seattle. -We are an inclusive community and welcome everyone, including folks who are just getting started in tech. +We are an inclusive community and welcome everyone, including folks who are just getting started in tech. Our mission is to help folks: @@ -18,4 +19,4 @@ Our mission is to help folks: Advocate for the open web -Our meetings are the 2nd Wednesday of each month, we hope you can join us! \ No newline at end of file +Our meetings are the 2nd Wednesday of each month, we hope you can join us! diff --git a/app/md/code-of-conduct.md b/app/md/code-of-conduct.md index 48f180d..7205343 100644 --- a/app/md/code-of-conduct.md +++ b/app/md/code-of-conduct.md @@ -2,6 +2,7 @@ title: Code of Conduct excerpt: SeattleJS is a safe and inclusive event for everyone --- + SeattleJS is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity, gender expression, sexual orientation, disability, physical appearance, body size, race, ability, ethnicity, socioeconomic status, or religion (or lack thereof). SeattleJS does not tolerate harassment of conference participants or staff at any time nor in any form. Anyone violating these guidelines may be removed from the event and/or our platforms at our sole sole discretion. @@ -10,7 +11,7 @@ Thank you for helping make SeattleJS a welcoming, friendly event for all. ## Expected Behavior -All communication at our events (in-person or virtual) or on our platforms (Discord, Meetup, etc) should be appropriate for a professional audience including people of many different backgrounds. Please be kind to others. +All communication at our events (in-person or virtual) or on our platforms (Discord, Meetup, etc) should be appropriate for a professional audience including people of many different backgrounds. Please be kind to others. Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. @@ -35,7 +36,7 @@ If an attendee or other participant engages in unacceptable behavior, the commun ## If You Witness or Are Subject to Unacceptable Behavior -If you are subject to or witness unacceptable behavior, or have any other concerns, please notify an Organizer immediately. +If you are subject to or witness unacceptable behavior, or have any other concerns, please notify an Organizer immediately. If you are experiencing a life threatening emergency, dial 9-1-1. diff --git a/app/md/conf/promo-info.md b/app/md/conf/promo-info.md index 256197e..9b1d0cf 100644 --- a/app/md/conf/promo-info.md +++ b/app/md/conf/promo-info.md @@ -1,6 +1,7 @@ --- title: Promo Information --- + ## One Sentence SeattleJS Conf is an amazing 1-day conference covering the latest in web development being hosted by AWS on August 8 in downtown Seattle. @@ -16,10 +17,9 @@ SeattleJS Conf is a very special 1-day conference bringing together ~300 web dev - Training Workshops on React & TypeScript - Closing party & karaoke -The talks, from industry exports, will cover the latest and greatest in web technologies, from CSS View Transitions to Deno 2.0 to AI.Β  - -The event is being hosted by AWS and will feature a post-conference karaoke party at Optimism Brewing that you won't want to miss!Β  +The talks, from industry exports, will cover the latest and greatest in web technologies, from CSS View Transitions to Deno 2.0 to AI. +The event is being hosted by AWS and will feature a post-conference karaoke party at Optimism Brewing that you won't want to miss! ## LogoΒ  @@ -28,6 +28,3 @@ https://seattlejs.com/_public/images/seattlejsconf-2023-logo-a274507057.png ## Website https://seattlejs.com/conf - - - diff --git a/app/md/conf/speaker-info.md b/app/md/conf/speaker-info.md index 8707442..c2ab2a7 100644 --- a/app/md/conf/speaker-info.md +++ b/app/md/conf/speaker-info.md @@ -1,6 +1,7 @@ --- title: Speaker Information --- + Here is a high-level To Do list for speakers at SeattleJS Conf: