Sign in

Ives van Hoorne

@ives.sh
4.5K followers 680 following 97 posts

Friends call me Flip, building CodeSandbox! 🍪🏳️‍🌈

PostsRepliesMedia
Ives van Hoorne @ives.sh · 20/04/2026
Just shipped brand kits to Biscuit! Now we generate a design.md + brand kit for your app at the start, and make them visually editable. Next up is more creativity in choosing colors + storing multiple brand variants.
020
Ives van Hoorne @ives.sh · 16/04/2026
Oxc has been fantastic here. We built custom lints based on common mistakes we saw agents make. For example, we have a rule that watches for Tailwind classes and gives a warning to the agent if it did not implement light/dark mode properly.
120
Ives van Hoorne @ives.sh · 16/04/2026
Almost everything in Biscuit runs in the browser. Code gets compiled using Oxc (wasm), the LSP runs in a web worker, and the agent harness too. This allows for really quick direct manipulation. You can click on any element and edit it without server roundtrips.
120
Ives van Hoorne @ives.sh · 15/04/2026
For non-React cases, we solve it again with the compiler! We detect cases like this, and wrap with __unwrap. __unwrap turns a traced string into a plain string. This is a last resort, because we lose the origin data. We do it for e.g. comparisons, or when we call libraries.
Source code shows a comparison between two strings, with a transformation using Tracer to unwrap them. Highlights coding context.
100
Ives van Hoorne @ives.sh · 15/04/2026
When compiling code, we replace all strings with traced strings. These traced strings say where they come from. `Tracer.__trace` wraps a string with its origin info, so we can track where it came from even after passing through many components.
A code snippet shows a React component using a state hook to track a greeting string with tracing information for debugging.
100
Ives van Hoorne @ives.sh · 15/04/2026
So we want to make it possible to click any UI, and update the text. But text could come from multiple places, like from the database, source code or even from outside of the app (e.g. network request/library). To solve this, we added "traced strings".
Code snippet shows a React component managing a greeting state with a button to update it. The current greeting is "Hello World."
100
Ives van Hoorne @ives.sh · 15/04/2026
In Biscuit you can click on any text and edit it, no matter where it comes from: the database, some variable or just static code. This way you can update any content without leaving the preview. Here's a small thread on how we make this possible:
100
Ives van Hoorne @ives.sh · 15/04/2026
The new Claude Code redesign reminds me of the designs of CodeSandbox. Devtools stacked vertically on the right!
010
Ives van Hoorne @ives.sh · 24/03/2026
I'm excited to finally share what we've been working on! For the last 8 months, we've been building Biscuit: an all-in-one platform for building a business. Product, payments, emails, hosting and operations built in. Today we're opening the waitlist 🎉
222
Ives van Hoorne @ives.sh · 19/02/2026
Some personal news! Blixt, Floris and I have started a new startup. We’ve been quietly building something new for indie founders, and it’s starting to feel really good. We'll share more in the coming weeks. But if you’d like early access, send me a message!
060
Ives van Hoorne @ives.sh · 10/03/2025
Few things beat the feeling of deploying code and watching the graphs drop. If that's not enough reason to use OpenTelemetry, I don't know what is!
The AVG and P05 of resume VM duration. It goes down significantly on Friday/Saturday.
1907
Ives van Hoorne @ives.sh · 19/02/2025
It's now possible to access preview URLs for private sandboxes with CodeSandbox SDK! We also expose a new CLI (`csb sandbox preview-tokens`) to manage preview tokens for a sandbox.
140
Ives van Hoorne @ives.sh · 22/01/2025
Just published a new feature I'm excited about for the CodeSandbox SDK: Sessions API 🎉 This API allows you to create multiple users in a single sandbox, allowing for collaborative editing and sharing sandboxes publicly. + we use the same API at CodeSandbox 😄
120
Ives van Hoorne @ives.sh · 22/11/2024
Cursor integration just dropped in CodeSandbox!
A new button to open your sandbox / branch inside Cursor
060
Ives van Hoorne @ives.sh · 12/11/2024
My name is a single LLM token!
A list of tokens, and my name (ives) is there with token 1924
040
Ives van Hoorne @ives.sh · 04/11/2024
This was also a big challenge for us, so we had to customize how VM snapshots are created and loaded. I've written about that here: codesandbox.io/blog/how-we-...
A quote from the article saying "Moving data around became even more challenging with uVMs, as we now had to contend with large memory snapshots. This affected both scheduling and startup times, two critical factors for user experience in cloud development environments."
000
Ives van Hoorne @ives.sh · 04/11/2024
I 100% agree with this. We needed an orchestrator that understands VM snapshotting/cloning and can spin up a new VM extremely quickly. We tried different solutions, but ultimately we had to build our own because nothing fit the bill. Great read! gitpod.io/blog/we-are-...
A quote from the article saying "However for system workloads like development environments Kubernetes presents immense challenges in both security and operational overhead."
220
Ives van Hoorne @ives.sh · 28/10/2024
What better way to use my second post than to announce that I’m getting married? 😄 Somewhere next year, AND we’re going to move to SF!
Us holding hands
190