the CodeTV blog
Most recent post

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.
Older posts from the blog

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.

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.

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.

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.

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.

Oct 30, 2024
Web Dev Challenge Hackathon 7: Spooky Apps
Build an app to help people capture memories. Apps due Nov 11.

Oct 9, 2024
Web Dev Challenge Hackathon 6: Capture Memories
Build an app to help people capture memories. Apps due Oct 21.

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.

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.

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.

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.)

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.

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.

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.

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.

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.
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.
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.

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.

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.

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.
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.
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!

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.

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.

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.

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!

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.

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.

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.

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.

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.

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.

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.

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.

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.

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!”
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.

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.
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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.