Listen "383: Soft Delete All"
Episode Synopsis
In this show, Stephen and Chris get to talk about an internal technical detail we were improving in our database, which led to a public-facing feature for y'all. The idea is that all (most, anyway) database tables should have a deleted_at column. When you query against them, under regular circumstances, any rows that have a non-null value will be filtered out. This is the concept of "soft" delete. It's not really gone from the database, it just behaves like it is. This has two clear benefits:
Deleting is super fast, it's just manipulating a single value.It opens the door for un-deleting things that perhaps were mistakenly deleted.
This approach can be slightly more work. You'll need to offer a way to truly wipe data completely for users. You'll probably want a reaper to clean up data that has been deleted long enough. You'll need to comply with regulations about data deletion. You might have to build un-deletion features. You might need to be doing that filtering yourself throughout the app. It's work, but it's generally worth it.
In our case, because we soft delete everything on CodePen now, the Deleted Items area of Your Work now works for all Item Types (Pens, Collections, and Projects). Before, it only worked for Pens, and even there it was a little messy as it didn't retain the URL slug or comments and such — now it does.
Time Jumps
Sponsor: Memberful
Memberful is a best-in-class membership software used by the web's biggest creators. If you're building a membership website for a client, Memberful handles the hard stuff so you can complete your builds quickly and your clients can focus on creating content while earning revenue with ease. It seamlessly integrates with popular tools like WordPress, Mailchimp, and Discord, so they can reach and monetize their existing audience. Memberful maintains GraphQL API, webhooks, and OAuth Single Sign on to make integration even easier.
Help your client monetize their passion. Get started for free at Memberful.com
Deleting is super fast, it's just manipulating a single value.It opens the door for un-deleting things that perhaps were mistakenly deleted.
This approach can be slightly more work. You'll need to offer a way to truly wipe data completely for users. You'll probably want a reaper to clean up data that has been deleted long enough. You'll need to comply with regulations about data deletion. You might have to build un-deletion features. You might need to be doing that filtering yourself throughout the app. It's work, but it's generally worth it.
In our case, because we soft delete everything on CodePen now, the Deleted Items area of Your Work now works for all Item Types (Pens, Collections, and Projects). Before, it only worked for Pens, and even there it was a little messy as it didn't retain the URL slug or comments and such — now it does.
Time Jumps
Sponsor: Memberful
Memberful is a best-in-class membership software used by the web's biggest creators. If you're building a membership website for a client, Memberful handles the hard stuff so you can complete your builds quickly and your clients can focus on creating content while earning revenue with ease. It seamlessly integrates with popular tools like WordPress, Mailchimp, and Discord, so they can reach and monetize their existing audience. Memberful maintains GraphQL API, webhooks, and OAuth Single Sign on to make integration even easier.
Help your client monetize their passion. Get started for free at Memberful.com
More episodes of the podcast CodePen Radio
417: Iframe Allow Attribute Saga
18/11/2025
416: Upgrading Next.js & React
05/11/2025
415: Babel Choices
28/10/2025
414: Apollo (and the Almighty Cache)
23/10/2025
413: Still indie after all these years
14/10/2025
412: 2.0 Embedded Pens
09/10/2025
411: The Power of Tree-Sitter
01/10/2025
409: Our Own Script Injection
16/09/2025
408: Proxied Third-Party JavaScript
09/09/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.