the CodeTV blog

Salma Alam-Naylor and Daniel Roe on the set of Web Dev Challenge S2, looking at code on large monitors.

Most recent post

Web Dev Challenge Hackathon S2.E11: Twilio Hotline Challenge

Nov 3, 2025

In this challenge, build a custom AI voice hotline using ConversationRelay. Hotlines due Friday, November 21, 2025.

Read this post

Older posts from the blog

Web Dev Challenge Hackathon S2.E5: Give in to your worst developer urges

Jul 1, 2025

In this challenge, we want you to give in to that urge and automate something in your life that you find mildly inconvenient. Apps due July 14, 2025.

Read this post

Web Dev Challenge Hackathon S2.E3: Create a devious web-based video player

May 13, 2025

Build the most unhinged, Byzantine, devious, unusual video player UX you can imagine. Apps due June 15, 2025.

Read this post

Web Dev Challenge Hackathon S2.E2: Build a game played on at least 2 devices

Apr 29, 2025

Build a game that requires at least 2 devices to play. Apps due May 12, 2025.

Read this post

Web Dev Challenge Hackathon S2.E1: Build a Custom API + App

Apr 15, 2025

Build a custom API — and an app that consumes it — that makes something in your life a little more convenient. Apps due Apr 28.

Read this post

Web Dev Challenge Hackathon 10: Workshop Woes

Dec 14, 2024

Build an app to help Santa get his workshop in order using Sanity. Apps due Jan 1.

Read this post

Web Dev Challenge Hackathon 9: Blvck Spades

Dec 3, 2024

Build an app to connect people to the Blvck Spades brand through other experiences. Apps due Dec 16.

Read this post

Web Dev Challenge Hackathon 7: Spooky Apps

Oct 30, 2024

Build an app to help people capture memories. Apps due Nov 11.

Read this post

Web Dev Challenge Hackathon 6: Capture Memories

Oct 9, 2024

Build an app to help people capture memories. Apps due Oct 21.

Read this post

Web Dev Challenge Hackathon 5: The Local Food Scene

Sep 17, 2024

Build an app to help out your local food scene in any way you can. Apps due Sep 30.

Read this post

Web Dev Challenge Hackathon 4: Monsters!

Aug 27, 2024

Monsters have arrived, and your challenge is to build an app that helps out in this new world. Apps due Sep 9.

Read this post

Join the Web Dev Challenge Hackathon (E-comm Edition)

Aug 6, 2024

Create an e-commerce site with a twist using Algolia by August 19. Get feedback from pro developers, build your portfolio, and make new industry friends.

Read this post

"Businesses hate fun" and other lies, with Salma Alam-Naylor

Jul 8, 2024

Contrary to popular belief, metrics are not preventing us from being creative. (Hot take: they might even make us MORE creative.)

Read this post

Inside Figma’s HQ: talking creativity with Jake Albaugh

Jul 1, 2024

I talked to Jake Albaugh inside Figma HQ’s secret library about creative communities in coding and design — and whether there are any left.

Read this post

Join the Web Dev Challenge mini-hackathon (retro gaming edition)

Jun 24, 2024

Build a web app using AWS Amplify to boost your portfolio, make professional connections, learn new skills — and even win prizes. Due July 29, 2024.

Read this post

Not another f%*#in' chatbot — Web Dev Challenge S1E1

Jun 23, 2024

What could you create if you had 30 minutes to plan and 4 hours to build? Lizzie Siegle, Chance Strickland, Jack Herrington, and Jason Lengstorf took on the Web Dev Challenge to find out.

Read this post

Understand your work archetype: explorers, villagers, and town planners

May 31, 2024

What kind of work is the best fit FOR YOU? A quick assessment to help you optimize for a job that you'll actually enjoy.

Read this post

4 Web Devs 1 App Not Another Chatbot Dream Desk Giveaway

Apr 29, 2024

Build an app, learn something new, have some fun, win a prize! Enter by May 13, 2024 to win.

Read this post

Fix Drizzle "SqliteError: no such table" error — how to create tables

Feb 17, 2024

I tried Drizzle ORM with SQLite but got stuck on "SqliteError: no such table". Here's how I solved the error and created SQLite tables from a Drizzle schema.

Read this post

How to set up a Node server with TypeScript in 2024

Feb 14, 2024

A quick tutorial on how to set up a Node project in 2024. Includes TypeScript, live reload, and environment variable support.

Read this post

I miss RSS

Jan 16, 2024

There was something special about hand-selecting XML and running out of stuff to read that I’d like to get back.

Read this post

Add user management to a Next.js site with React server components, server actions, and AuthKit

Nov 30, 2023

The most tedious and difficult part of building a web app is authentication. But a new tool just entered the discussion that’s hoping to change that.

Read this post

Add audit logging and log streams to a Node Express app

Nov 14, 2023

Building a SaaS product is no small feat. And when you start selling to large customers, the list of requirements gets even longer — but if you want to land those six-figure (and beyond) contracts, you'll need to land enterprise-level features.

Read this post

Animated CSS gradient borders (no JavaScript, no hacks)

Nov 4, 2023

Learn how to create beautiful, CSS-only gradient borders. Combine custom properties, OKLCH, and background-origin — and zero hacks.

Read this post

OKLCH for better color in the browser

Nov 4, 2023

Why I’ll (probably) never use hex colors in CSS again, and what I’m doing instead. With visual examples!

Read this post

The killer tool for devs who don't want to touch design is... Wix?

Oct 23, 2023

If you're a developer who focuses on data & APIs and doesn't want to touch the design of a site, Wix might be exactly what you need. Hear me out.

Read this post

SCIM Provisioning in Node Express Using WorkOS and Okta

Oct 10, 2023

If you're building a SaaS app, landing the largest customers means supporting large-scale needs like provisioning user accounts and managing permissions based on their central directory. In this tutorial, you'll learn how to add SCIM support to your Node-based app using WorkOS.

Read this post

Add notifications to a Node app (app inbox, SMS, and email)

Sep 19, 2023

Notifications can be a huge value add to your app users, but if you get them wrong, they're hugely annoying. Learn how to add smart app notifications in this tutorial.

Read this post

Add SSO to a SaaS app using WorkOS & Okta in under 10 minutes

Sep 7, 2023

Many devs (like me!) are intimidated by enterprise features like single sign-on (SSO), but the tools are WAY better now. You can add it to SaaS apps fast!

Read this post

Handle webhooks, user auth, database, & file storage with Convex

Aug 22, 2023

What does it take to process incoming SMS with auth, image storage, and a real-time database? With Convex, you can add it to your app with < 200 lines of code.

Read this post

Use AI to moderate abusive and vulgar comments (full tutorial)

Jul 24, 2023

Build an internal dashboard to view and moderate comments in this full tutorial. Plus, learn how to use OpenAI to automatically flag the worst comments.

Read this post

Clean as you go

Jul 10, 2023

A story about a habit I picked up working in restaurants, and how the lesson I learned still helps me write better software to this day.

Read this post

It’s not worth switching tech stacks

Jul 4, 2023

We spend a lot of time online getting told our tech stack is wrong/bad/outdated/whatever. Ignore the nerds — it’s (probably) not worth switching.

Read this post

How to make $200K+ as a dev

Jun 26, 2023

Moving up the career ladder and into higher salary bands as an engineer requires growth. But it’s less about code than you might think.

Read this post

What you need to know about getting hired in devrel

Jun 20, 2023

Getting into developer relations ("devrel" for short) is tricky for a lot of reasons. The biggest is that no one seems to know what it actually is.

Read this post

How I balance tech debt vs. feature development

Jun 13, 2023

Treating velocity and maintainability as separate concerns is a mistake. Your shipping velocity is directly correlated to how maintainable your code is.

Read this post

Add Feature Flags to a React App (for FREE)

Jun 6, 2023

If you want to ship quickly and be confident that customers actually want the new features you’re building, feature flags are a must-have in your dev toolbox.

Read this post

How I prep for frontend interviews

May 17, 2023

The frontend interview process is... wild. Here’s how I’ve navigated tech interviews in my own career.

Read this post

JS vs. No-JS for Websites & How Astro Bridges the Gap

May 10, 2023

There’s a heated debate over JS vs. no-JS. Astro rejects it as a false choice and says, “Let’s just build great websites!”

Read this post

Animations that feel alive using GSAP randomization

Mar 14, 2023

Animations can make web apps feel more fun and alive. In this tutorial, learn how to use GSAP, randomization, and the MotionPath plugin to make your animations feel more lively.

Read this post

Type-safe, data-driven apps, even if databases freak you out

Feb 28, 2023

If you can write a TypeScript type, you can add a database to your app. Databases can be fun! Even if you don’t think you’re a “database dev”, give this tutorial a try.

Read this post

Typesafe Markdown With Astro Content Collections

Jan 24, 2023

Typesafe Markdown might sound like an oxymoron, but with the new content collections released in Astro 2.0, you can now specify a schema for your Markdown frontmatter using Zod and get all the delicious validation and autocomplete that comes with it.

Read this post

Hardware Accelerated Video Encoding on Apple Silicon (M1 Max, etc.) With FFmpeg

Jan 19, 2023

If you have an M1, M2, or other Apple Silicon chip in your computer, you can use hardware acceleration to speed up FFmpeg video encoding.

Read this post

I’m Going Full-Time on Learn With Jason

Dec 5, 2022

Hey, friends! Big news!

Read this post

Build a CSS Theme Switcher With No Flash of the Wrong Theme

Oct 12, 2022

Many JavaScript and CSS theme switchers have a momentary flash of the wrong theme. With edge functions, we can make that a thing of the past.

Read this post

Replace Text & Images Using Edge Functions and HTMLRewriter

May 3, 2022

Transform HTML at request time using HTMLRewriter and Edge Functions. Update text, element attributes, and more.

Read this post

Use Promise.all to Stop Async/Await from Blocking Execution in JS

Jun 5, 2020

When writing asynchronous code, async/await is a powerful tool — but it comes with risks! Learn how to avoid code slowdowns in this tutorial.

Read this post

WTF is the Jamstack? A goofy name for a great web architecture.

Mar 27, 2020

Are you already using the Jamstack? Boost your understanding of modern web dev and learn what the Jamstack is — and what it’s not — in this overview.

Read this post

Access Query String Parameters in Serverless Functions

Jan 10, 2020

How do you use query parameter arguments in a serverless function? This quick tutorial will show you how to get values from query string parameters.

Read this post

Deploy Your First Serverless Function Using JavaScript

Jan 8, 2020

With serverless functions, the JavaScript powering our front-ends enables us to add back-end logic. Deploy your first serverless function in this tutorial!

Read this post

What Are Serverless Functions and How Do I Use Them?

Jan 8, 2020

Serverless functions enable front-end developers to add powerful "back-end" logic to our apps just by writing JavaScript — no devops, no servers, just results.

Read this post

Automatically Generate Social Images for Blog Posts

Jan 6, 2020

Make sure your content stands out in social media timelines by automatically generating social media sharing cards for your blog posts.

Read this post

Design a Flexible Social Card Template for Sharing Content

Jan 6, 2020

Creating eye-catching social sharing images doesn’t have to take a ton of time. In this post, learn how to create a reusable template for sharing your posts.

Read this post

Upload a Custom Font to Cloudinary Using the Media Library UI

Jan 5, 2020

A tutorial on how to upload via UI and use custom fonts in text overlays with Cloudinary to generate images with custom text.

Read this post

Upload a Custom Font to Cloudinary Using the Node SDK

Jan 5, 2020

A tutorial on how to upload and use custom fonts in text overlays with Cloudinary to generate images with custom text.

Read this post

Add Text Overlays to Images Using Cloudinary

Jan 4, 2020

In this post, learn how to use Cloudinary to add text overlays to images using URL-based APIs.

Read this post

Data abstraction in Gatsby themes (and React apps in general)

Mar 25, 2019

How do we keep the content separate from presentation in React apps? Here’s one approach we’re using in Gatsby themes.

Read this post

Automatic WordPress Deployment + Free SSL: Trellis How-To

Oct 17, 2016

A step-by-step video tutorial on setting up a local WordPress development environment in minutes using Trellis, plus how to deploy FAST with free SSL.

Read this post

Bundle Stylesheets and Add LiveReload With Rollup

Aug 25, 2016

Learn how to use the JavaScript bundler Rollup to process stylesheets using PostCSS and rebuild & reload files when changes are made in this tutorial.

Read this post

How to Bundle JavaScript With Rollup — Step-by-Step Tutorial

Aug 19, 2016

Learn how to use Rollup as a smaller, more efficient alternative to webpack and Browserify to bundle JavaScript files in this step-by-step tutorial series.

Read this post

Deploy a Node.js App to DigitalOcean with SSL

Aug 9, 2016

This step-by-step tutorial walks through the process of deploying a Node.js app to a DigitalOcean droplet with free SSL from Let’s Encrypt for $5/month.

Read this post