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.E5: Give in to your worst developer urges

Jul 1, 2025

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

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

Older posts from the blog

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

May 13, 2025

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

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

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

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

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

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

Web Dev Challenge Hackathon 10: Workshop Woes

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

Web Dev Challenge Hackathon 9: Blvck Spades

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

Web Dev Challenge Hackathon 7: Spooky Apps

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

Web Dev Challenge Hackathon 6: Capture Memories

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

Web Dev Challenge Hackathon 5: The Local Food Scene

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

Web Dev Challenge Hackathon 4: Monsters!

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

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

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

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

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

Inside Figma’s HQ: talking creativity with Jake Albaugh

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

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

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

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

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

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

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

4 Web Devs 1 App Not Another Chatbot Dream Desk Giveaway

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

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

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

How to set up a Node server with TypeScript in 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

I miss RSS

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

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

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

Add audit logging and log streams to a Node Express app

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

Animated CSS gradient borders (no JavaScript, no hacks)

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

OKLCH for better color in the browser

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

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

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

SCIM Provisioning in Node Express Using WorkOS and Okta

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

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

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

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

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

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

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

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

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

Clean as you go

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

It’s not worth switching tech stacks

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

How to make $200K+ as a dev

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

What you need to know about getting hired in devrel

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

How I balance tech debt vs. feature development

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

Add Feature Flags to a React App (for FREE)

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

How I prep for frontend interviews

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

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

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 that feel alive using GSAP randomization

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

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

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 With Astro Content Collections

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

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

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

I’m Going Full-Time on Learn With Jason

Hey, friends! Big news!

Read this post

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

Oct 12, 2022

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

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

Replace Text & Images Using Edge Functions and HTMLRewriter

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

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

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

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

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

Access Query String Parameters in Serverless Functions

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

What Are Serverless Functions and How Do I Use Them?

Jan 8, 2020

What Are Serverless Functions and How Do I Use Them?

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

Deploy Your First Serverless Function Using JavaScript

Jan 8, 2020

Deploy Your First Serverless Function Using JavaScript

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

Automatically Generate Social Images for Blog Posts

Jan 6, 2020

Automatically Generate Social Images for Blog Posts

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

Design a Flexible Social Card Template for Sharing Content

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

Upload a Custom Font to Cloudinary Using the Media Library UI

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

Upload a Custom Font to Cloudinary Using the Node SDK

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

Add Text Overlays to Images Using Cloudinary

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

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

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

Automatic WordPress Deployment + Free SSL: Trellis How-To

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

Bundle Stylesheets and Add LiveReload With Rollup

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

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

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

Deploy a Node.js App to DigitalOcean with SSL

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