diff --git a/apps/www/_blog/2024-08-14-snaplet-is-now-open-source.mdx b/apps/www/_blog/2024-08-14-snaplet-is-now-open-source.mdx
new file mode 100644
index 00000000000..bf98a7c87da
--- /dev/null
+++ b/apps/www/_blog/2024-08-14-snaplet-is-now-open-source.mdx
@@ -0,0 +1,64 @@
+---
+title: 'Snaplet is now open source'
+description: 'Snaplet is closing their business and opening their source code'
+author: paul_copplestone
+image: lw12/day-3/og-snaplet.png
+thumb: lw12/day-3/thumb-snaplet.png
+launchweek: '12'
+categories:
+ - launch-week
+tags:
+ - engineering
+date: '2024-08-14'
+toc_depth: 3
+---
+
+Startups are hard. One of our favorite startups, Snaplet, is [shutting down](https://www.snaplet.dev/post/snaplet-is-shutting-down). Despite that, they built an amazing team (some who now work at Supabase) and some incredible products.
+
+One way to ensure that your products out-live your business is to open source what you've built. I'm a huge fan of what Snaplet built so I reached out to [Peter](https://x.com/appfactory/) to see if Snaplet were interested in open sourcing. He said yes:
+
+
+ I built Snaplet because I believe developers write better software when they have access to
+ production-like data. Although the company is closing, my belief remains strong, so we are
+ open-sourcing the tools we've built.
+
+
+## Open source products
+
+There are 3 main tools that they are releasing under the MIT license:
+
+### Copycat
+
+Copycat generates fake data. It's like faker.js, but deterministic: for any given input it'll always produce the same output. For example, in if you generate an email with the user ID `user_1234`, the next time you generate an email with that email it will be the same, _guaranteed:_
+
+
+
+- Repo: [github.com/snaplet/copycat](https://github.com/snaplet/copycat)
+
+### Snaplet Seed
+
+Seed generates realistic synthetic data based off a database schema. It automatically determines the values in your database so you don't have to define each value. For example, if you want to generate a 3 `comments` for one of your `posts` you simply point it at your schema and let it handle the rest:
+
+
+
+- Repo: [github.com/snaplet/seed](https://github.com/snaplet/seed)
+- Docs: [docs.snaplet.dev/seed](https://docs.snaplet.dev/seed)
+
+### Snapshot
+
+Snapshot is for capturing, transforming, and restoring snapshots of your database. It's like an advanced version of pg_dump/pg_restore. It has a particularly neat feature called “subsetting”. Point it at a database table and it tell it how much data you need. To maintain referential integrity, subsetting traverses tables, selecting all the rows that are connected to the target table through foreign key relationships:
+
+
+
+- Repo: [github.com/snaplet/snapshot](https://github.com/snaplet/snapshot)
+- Docs: [docs.snaplet.dev/snapshot](https://docs.snaplet.dev/snapshot)
+
+## The future of Snaplet tech
+
+The Snaplet team who joined Supabase have been helping Peter to migrate these projects to open source. Over the next few weeks we'll move these into the Supabase GitHub org and pick up the ongoing maintenance.
+
+We prefer to keep products decoupled (it's one of our [Principles](/docs/guides/getting-started/architecture#everything-works-in-isolation)), so you'll always be able to use these tools independently from Supabase. We can also see a lot of value providing a deep integration, so we've already started adding their [Snaplet Seed](/docs/guides/cli/seeding-your-database#generating-seed-data) to our official docs. This is just a start, watch this space!
+
+## Where's Peter now?
+
+Peter is back at [RedwoodJS](https://redwoodjs.com/), which he co-founded before Snaplet. He's been working on React Server Components, coming soon to Redwood.
diff --git a/apps/www/components/LaunchWeek/12/Releases/data/lw12_build_stage.tsx b/apps/www/components/LaunchWeek/12/Releases/data/lw12_build_stage.tsx
index e97a15ffb9a..e4fa3b960cd 100644
--- a/apps/www/components/LaunchWeek/12/Releases/data/lw12_build_stage.tsx
+++ b/apps/www/components/LaunchWeek/12/Releases/data/lw12_build_stage.tsx
@@ -94,12 +94,49 @@ export const days: AdventDay[] = [
),
},
{
- title: '',
- description: '',
- id: '',
- is_shipped: false,
- links: [],
- icon: null,
+ title: 'Snaplet is now open source',
+ description: 'Making it easier to build a secure and high-performing application',
+ id: 'snaplet',
+ is_shipped: true,
+ links: [
+ {
+ url: '/blog/snaplet-is-now-open-source',
+ label: 'Blog post',
+ target: '_blank',
+ },
+ ],
+ icon: (
+
+ ),
},
{
title: '',
diff --git a/apps/www/public/images/blog/avatars/peter-snaplet.webp b/apps/www/public/images/blog/avatars/peter-snaplet.webp
new file mode 100644
index 00000000000..df219992e96
Binary files /dev/null and b/apps/www/public/images/blog/avatars/peter-snaplet.webp differ
diff --git a/apps/www/public/images/blog/lw12/day-3/og-snaplet.png b/apps/www/public/images/blog/lw12/day-3/og-snaplet.png
new file mode 100644
index 00000000000..9c03986321a
Binary files /dev/null and b/apps/www/public/images/blog/lw12/day-3/og-snaplet.png differ
diff --git a/apps/www/public/images/blog/lw12/day-3/snaplet-fake-data.png b/apps/www/public/images/blog/lw12/day-3/snaplet-fake-data.png
new file mode 100644
index 00000000000..2cdf4aac534
Binary files /dev/null and b/apps/www/public/images/blog/lw12/day-3/snaplet-fake-data.png differ
diff --git a/apps/www/public/images/blog/lw12/day-3/snaplet-seed-data.png b/apps/www/public/images/blog/lw12/day-3/snaplet-seed-data.png
new file mode 100644
index 00000000000..e58da070b65
Binary files /dev/null and b/apps/www/public/images/blog/lw12/day-3/snaplet-seed-data.png differ
diff --git a/apps/www/public/images/blog/lw12/day-3/snaplet-subset.png b/apps/www/public/images/blog/lw12/day-3/snaplet-subset.png
new file mode 100644
index 00000000000..c0253a0ac8f
Binary files /dev/null and b/apps/www/public/images/blog/lw12/day-3/snaplet-subset.png differ
diff --git a/apps/www/public/images/blog/lw12/day-3/thumb-snaplet.png b/apps/www/public/images/blog/lw12/day-3/thumb-snaplet.png
new file mode 100644
index 00000000000..4b72c9ed17d
Binary files /dev/null and b/apps/www/public/images/blog/lw12/day-3/thumb-snaplet.png differ
diff --git a/apps/www/public/rss.xml b/apps/www/public/rss.xml
index 4c437dd5deb..a013d1dbd31 100644
--- a/apps/www/public/rss.xml
+++ b/apps/www/public/rss.xml
@@ -5,9 +5,23 @@
https://supabase.com
Latest news from Supabaseen
- Sun, 11 Aug 2024 22:00:00 GMT
+ Tue, 13 Aug 2024 22:00:00 GMT
+ https://supabase.com/blog/snaplet-is-now-open-source
+ Snaplet is now open source
+ https://supabase.com/blog/snaplet-is-now-open-source
+ Snaplet is closing their business and opening their source code
+ Tue, 13 Aug 2024 22:00:00 GMT
+
+
+ https://supabase.com/blog/supabase-realtime-broadcast-and-presence-authorization
+ Supabase Realtime: Broadcast and Presence Authorization
+ https://supabase.com/blog/supabase-realtime-broadcast-and-presence-authorization
+ Secure Realtime Broadcast and Presence with Authorization
+ Mon, 12 Aug 2024 22:00:00 GMT
+
+https://supabase.com/blog/postgres-newpostgres.new: In-browser Postgres with an AI interface
https://supabase.com/blog/postgres-new