PODCAST · technology
CodePen Radio
by CodePen Blog
The CodePen team talk about the ins and outs of running a web software business.
Episodes
-
445: CodePen AI is Here
Chris and Alex are talking this week about CodePen's biggest release since the 2.0 drop. It's live! We'll be working on CodePen AI forever, since it's a fast-changing technology that regularly adds new abilities. That sounds like a trite thing to say, but we lived it as we were building this. We...
-
444: A Gosh-Dang Full-Blown Read/Write API
Marie and Chris are on the podcast to talk about our very new v2 API. This baby (slaps the hood) can do it all. It's complete read/write access to all your Pens, Collections, and Assets. This API isn't hamstrung by anything, so the door is open to whatever you want to build. We've already seen...
-
443: Image Hosting is Quite Powerful on CodePen
We've made several upgrades to uploading/hosting images on CodePen lately. One change, moving to the open-source file-uploading library Uppy, was driven by business concerns. But the benefits are good for everyone: uploads are faster, and the money we saved let us increase file size limits and...
-
442: Pens are Actually Websites
Stephen and Chris jump on the podcast to talk about our (ahem, super cool) deployment feature. Any Pen can be a website! Well, they kinda are already, but you know what I mean. If you're a PRO user all you do is click a button and the Pen is instantly deployed at a *.codepen.app website. From...
-
441: Challenges For We, Challenges For Thee
Marie and Chris talk about CodePen Challenges. We've been at it for many years! We get into the technology behind it, how we build our own CMS for it that powers the website and the emails that get sent about it. We also cover why they can be so beneficial for everyone involved. Time Jumps
-
440: Hey! Hi! Right here! In-App Notifications That Like You
Rach and Chris jump on the podcast to talk about the brand-new in-app notification system we built and shipped. We're actively trying to balance a system that isn't annoying, but allows us to show targetting information to targetted users when we think that's valuable for both you and us. It...
-
439: Dragging! Drag Everything!
Stephen just implemented a great UI feature for the 2.0 editor where all the Panels that were previously stuck to the left side of the page can now be dragged away to become an "Editor Tab" just like a file (or Block!). Now you've got a lot more freedom for what you're looking at, and of course,...
-
438: Are Diffusion Models Better Than LLMs at Web Design?
Chris has Jacob Miller on the show, who is building a tool called DiffUI. The big idea is that it uses a diffusion model to do prompt-to-website design rather than an LLM, because image-based models are more interesting and creative. So stay there for a while, producing really detailed visual...
-
437: The Cheese. It Has Been Moved.
Stephen and Chris hop on to talk about the couple of weeks post 2.0 launch. Things are certainly different in 2.0! Literally the location of certain buttons is in a new place, and that requires folks to poke around a bit and figure it out. Some people just do that and it's a non-issue. Some write...
-
436: The Design & Message of Launch Emails (with MJML)
Just one week off our big 2.0 launch, Shaw and Chris hop on to talk about how email is actually a big part of the launch. Social media ain't what it used to be, and not everybody is on your app every single day waiting for a notification. Sponsor: Notion With the recent launch of Custom Agents,...
-
435: The 2.0 Launch & Team CodePen’s Favorite Features
The whole team is here! That's a first for us. Today we're launching 2.0, so we're having a little fun in this episode picking out our favorite features. Time Jumps Links Plus a bonus appearance here of Marie's victory graphic.
-
434: Still Proudly on WordPress for our Blog, Podcast, and Documentation
Marie and Chris hop on CodePen Radio for a little chat on how we're still happily using WordPress for a variety of things here on CodePen. We've got it hosted on a subdomain and on a different (WordPress-specific) hosting plan than our main monorepo, so it has its own deployment process and such....
-
433: CodePen 2.0 is Backward Compatible with Any Classic Pen or Project
When we set out to build the 2.0 editor, another editor in the CodePen cannon, the goal was actually to reduce the number of editors we have and support. Ideally, reduce it to one. The trick is that anything an existing Pen or Project can do, this new editor needs to be able to do as well. All...
-
432: Trends of 2026 (So Far)
Marie has her eye on what seems to be super popular with CodePen users so far this year. Galleries (in different directions) https://codepen.io/thebabydino/pen/dPXVyqN https://codepen.io/luis-lessrain/pen/ZYpyoRV https://codepen.io/Nidal95/pen/qENQPBp https://codepen.io/ol-ivier/pen/emdjmBQ...
-
431: Versions are Deeply Integrated into CodePen
Rachel and Chris on the podcast this week discussion the (ahem, rather large news) that every CodePen 2.0 Pen is versioned. That's right, you can jump back in time to previous versions at any time in case mistakes were made. You can take a look at the preview and code of past versions in case you...
-
430: The Wild World of Keyboard Shortcuts in Web Apps
Shaw and Chris talk about how the keyboard shortcut situation is challenging, but in the best shape it's ever been in for our 2.0 editor. Between the operating system, browser, CodeMirror, and Emmet, the space is fairly crowded, but we've got enough room to offer lots of useful stuff. The…
more -
429: Why CodePen Rebuilt Its Realtime Service
We've had realtime features on CodePen for ages. Back when it was pretty damn hard. Our Collab Mode is an obvious one, where users can code together. (This "just works" in the 2.0 editor, it's not called anything special.) That and Professor Mode used to have realtime chat (until we pulled it...
-
428: Improving The Entire Billing System (is Very Worth It)
Rachel and Chris on the show this week to discuss a series of big changes over the last, say, six months or so with our billing system. We've essentially re-written this thing several times, and obviously this is the best time. Having three plans, two payment providers, teams, and fifteen years…
more -
427: Next.js and The Journey of SSR
Having that first response from the server to users browsers be, ya know, full of good, useful, renderable HTML is certainly better than an empty . You can feel it and see it in the filmstrip view of the site loading. Not to mention you need it for at least things like tags if...
-
426: Browserslist in CodePen 2.0
Stephen and Chris chat about how the 2.0 editor (well, the compiler really) understands and supports Browserslist, a config format that lives in your package.json file that multiple blocks can understand and make browser support decisions against. Sponsor: Notion With the recent launch of Custom...
-
425: Help Your Users Help You with Debug Logs
As we're getting close to rounding out the Beta period of the 2.0 editor, we're trying to close out any bugs we find or users report quickly. They could be browser-support related, network conditions related, account capability related, or just bugs in how the 2.0 editor and technology behind it...
-
424: File List Optimization
The 2.0 Editor can support hundreds of files per Pen, not to mention folders mixed in which don't count toward that total. This can be pretty weighty on the DOM and thus adversely affect performance. Especially as each file/folder has children, a variety of event listeners, are drag and drop...
-
423: 2.0 Templates
Stephen and Chris hop on the ol' podcast to talk about all the ways that Templates are way better in 2.0 land. You've always been able to make your own templates, but now you can select one even after you've arrived in the editor. There is a new place (the create page) which features bookmarked…
more -
422: Supporting Packages
Alex and Chris talk about how the 2.0 Editor supports packages from npm. The trick is both simple and complex. The idea is simple. We detect the packages you want to use, list them in an (editable) package.json file, then turn that into a in your HTML files that import...
-
421: View Control of the 2.0 Editor
Stephen & Chris look at the UI of the 2.0 Editor and show all the control you have over what you're looking at. Way more control than the Classic editor! We share some of the thinking behind it. Don't miss the Omnibar! Time Jumps Links Circle Round Story Pirates Podcast Who Moved My Cheese? The...
-
420: What are Blocks?
With CodePen 2.0, we've got a new word we're using: Blocks. A way to think about Blocks is anything that processes code. They are added as steps to the CodePen Compiler as needed. For example, TypeScript is a block, because it processes files in the TypeScript syntax into JavaScript files. But...
-
419: Why 2.0?
CodePen 2.0 was the most ambitious project that we've ever taken on in our lives. Why would we do such a thing? Chris and Alex explain the thinking behind it. We've been around a long time, know what our customers want, and are developers ourselves, so we know how this industry moves. We thought…
more -
418: CodeMirror 6
Chris Coyier and Stephen Shaw discuss the transition from CodeMirror 5 to CodeMirror 6, highlighting the significant improvements in accessibility, performance, and user experience. They delve into architectural changes, integration with modern JavaScript frameworks such as Next.js, and the new...
-
417: Iframe Allow Attribute Saga
There was a day not long ago where a Google Chrome browser update left any page with a CodePen Embed on it throwing a whole big pile of red JavaScript errors in the console. Not ideal, obviously. The change was related to how the browser handles allow attributes on iframes (i.e. <iframe...
-
416: Upgrading Next.js & React
Shaw and Chris are on the show to talk about the thinking and challenges behind upgrading these rather important bits of technology in our stack. We definitely think of React version upgrades and Next.js version upgrades as different things. Sometimes they are prerequisites. The Next.js ones are…
more -
415: Babel Choices
Robert and Chris hop on the show to talk about choices we've had to make around Babel. Probably the best way to use Babel is to just use the @babel/preset-env plugin so you get modern JavaScript features processed down to a level of browser support you find comfortable. But Babel supports all…
more -
414: Apollo (and the Almighty Cache)
Rachel and Chris jump on the show to talk about a bit of client-side technology we use: Apollo. We use it because we have a GraphQL API and Apollo helps us write queries and mutations that go through that API. It slots in quite nicely with our React front-end, providing hooks we use to do the…
more -
413: Still indie after all these years
We're over 13 years old as a company now. We decide that we're not a startup anymore (we're a "small business" with big dreams) but we are still indie. We've seen trends come and go. We just do what we do, knowing the tradeoffs, and plan to keep getting better as long as we can. Links Timeline –...
-
412: 2.0 Embedded Pens
Or just "Embeds" as we more frequently refer to them as. Stephen and Chris talk about the fairly meaty project which was re-writing our Embeds for a CodePen 2.0 world. No longer can we assume Pens are just one HTML, CSS, and JavaScript "file", so they needed a bit of a redesign, but doing as…
more -
411: The Power of Tree-Sitter
Alex and Chris hop on the show to talk about a bit of technology that Alex calls "The 2nd best technological choice he's ever made." That technology is called Tree-sitter. It's a code parsing tool for building ASTs (Abstract Syntax Trees) out of code. GitHub uses it to power search and "go to"...
-
410: Trying to help humans in an industry that is becoming increasingly non-human
Chris & Marie jump on the podcast to talk about just how drastically customer support has changed over the last few years. We still exclusively do customer support over email. Incoming email from real customers who need a hand with something where they type out that email in plain languages...
-
409: Our Own Script Injection
Chris and Stephen talk about how we use a Cloudflare Worker & HTMLRewriter to inject a very special tag into the previews of the Pens you work on. This script has a lot of important jobs so it's presence is crucial, and getting it in there reliably can is a bit of a challenge. Time Jumps
-
408: Proxied Third-Party JavaScript
Chris and Stephen hop on the podcast to discuss the concept of a proxy. Possibly the most "gray hat" thing that CodePen does. We use a third-party analytics tool called Fullres. We could just put a link to the necessary to make that work directly to fullres.com, but being an analytics...
-
407: Our Own CDN
Robert and Chris jump on to talk about our little CDN project. Maybe that's not the right term, but we struggled with naming it. Truth be told, it's the /public/ folder in our monorepo, where the purpose is getting files to the world wide internet at URLs that anyone can access. Our favicon is a...
-
406: Hot Trends of 2025
Marie and Chris jump on to discuss some of the trends of what people are building on CodePen here, approximately halfway through 2025. New CSS! Custom @functions (just landed) if() function clip-path & shape() corner-shape and the superellipse Scrolling stuff The attr() power up Hot Styles Liquid...
-
405: Elasticsearch → Postgres Search
Alex & Chris get into a fairly recent technological change at CodePen where we ditched our Elasticsearch implementation for just using our own Postgres database for search. Sometimes choices like this are more about team expertise, dev environment practicalities, and complexity tradeoffs. We…
more -
404: Preventing Infinite Loops from Crashing the Browser
Stephen and Chris hop on to talk about how we're saving everyone from crashed browser tabs in CodePen's 2.0 editor. One simple: Executing JavaScript can cause a browser tab to entirely lock up, preventing you from doing anything, like potentially saving your work. It can even crash other...
-
403: Privacy & Permissions
Chris & Rachel hop on the show to talk about the expanded privacy (access) model in the 2.0 editor (in Private Beta as we speak). Private Pens have always been a big deal, but as private as they are, if someone has the URL, they have the URL, and it doesn't always feel very private. There are two...
-
402: Bookmarks
Pins are dead! Long live bookmarks! Pins was never a good name for the feature we have on CodePen where you can mark a Pen or Collection to more quickly jump back to it from anywhere on the site. The word is too similar to "Pen" that it's just awkward, not to mention it's not exactly and obvious...
-
401: Outgoing Email
Hi! We're back! Weird right? It's been over 2 years. We took a break after episode 400, not because we ran out of things to talk about, but because we were so focused on our CodePen 2.0 work, it got old not being able to discuss it yet. We'll be talking plenty about that going forward. But…
more -
400: Hiatus
Marie and I jump on the show to tell y'all we're taking a little break! It feels like years since we've been eluding to the fact that we're working on a new major upgrade to CodePen. Rather than keep dancing around it, we're going to minimize or remove working on anything that isn't working on...
-
399: Data Munging
There was a small problem in our database. Some JSON data we kept in a column would sometimes have a string instead of an integer. Like {"tabSize": "5"} instead of {"tabSize": 5} of the like. Investigation on how that happened was just silly stuff like not calling parseInt on a value as it came…
more -
398: DevOops
Stephen and I hop on the podcast to chat about some of our recent tooling, local development, and DevOps work. A little while back, we cleaned up our entire monorepo's circular dependency problems using Madge and elbow grease. That kind of thing usually isn't the biggest of deals and the kind of...
-
397: User-Generated Content Saftey
I was asked about the paradoxical nature of CodePen itself recently. CodePen needs to be safe and secure, yet we accept and gleefully execute user-authored code, which is like don't-do-that 101 in web security. Marie and I hop on the show to talk this through as an update from quite a long time...
-
396: Open Source
Robert and I jump on the podcast to have a little chat about open source generally and what we do with open source at CodePen. CodePen itself is not open source, aside from the small bits we've made public and the open-source things we include within it. But all Public Pens on CodePen are open...
We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.
No matches for "" in this podcast's transcripts.
No topics indexed yet for this podcast.
Loading reviews...
ABOUT THIS SHOW
The CodePen team talk about the ins and outs of running a web software business.
HOSTED BY
CodePen Blog
CATEGORIES
Loading similar podcasts...