Johannes Schickling
banner
schickling.dev
Johannes Schickling
@schickling.dev
Building a local-first music app overtone.pro with @livestore.dev. Host @localfirst.fm. DX Effect. Founded @prisma.io. schickling.dev
Heading to ViteConf in Amsterdam where I'll speak about "Building native-grade web apps with synced data".

If you're there, come and say hi!✌️
October 8, 2025 at 10:01 AM
Very excited to announce that I'll partner with @redwoodjs.com over the coming months to improve Cloudflare worker support for @livestore.dev
May 29, 2025 at 9:09 AM
Very excited for next week!
May 21, 2025 at 3:43 PM
I didn't not expect that building the devtools messaging protocol for @livestore.dev would turn out to be one of the most difficult parts to build.

In order to support reliable and efficient messaging (supporting transferables), I ended up building a local networking protocol called "Webmesh".
May 1, 2025 at 9:07 AM
Event-driven design is highly underutilized. It's the right architectural approach for many systems and applications but often it's too inconvenient to do.

I'm trying to fix that with @livestoredev by making the right thing easy.
April 14, 2025 at 8:32 PM
I'm really happy with my M1 Max (32gb RAM) overall but man, Cursor is so memory hungry...
April 11, 2025 at 9:30 AM
Once you hit an a `shouldNeverHappen`, you automatically can debug interactively.
April 9, 2025 at 4:51 PM
I highly recommend using a helper function like `shouldNeverHappen` instead of throwing errors directly in your code (only applies to defects/panics).

It's an easy way to make your code more readable and improve DX by automatically opening the debugger during dev.
April 9, 2025 at 4:48 PM
Highly recommend checking out this talk by John De Goes from last years Effect conference.
www.youtube.com/watch?v=Ei6V...
April 5, 2025 at 11:59 AM
I'm very excited to announce that I'll be speaking at @viteconf.org about building native-grade web apps with local-first data.

I'll share lessons learned and what it takes to build high-performance web apps from working on Overtone over the past 4 years.
April 1, 2025 at 1:08 PM
Cursor/VSCode tip: I just changed the default view mode to "tree" for VSC/Cursor search results / source control items. (Should have done this years ago.)
March 26, 2025 at 5:32 PM
That's where @effect-ts.bsky.social shines. I'm using it for this particular use case extensively in various projects where the same code is used across web/node/service workers.

Even natively supports transferable objects (i.e. moving memory instead of copying).

Here is an example schema:
January 18, 2025 at 10:16 AM
Increasingly impressed how Cursor/AI isn't just making me more productive but helps resolve non-trivial bugs with ease.

Yesterday, I was facing a gnarly memory corruption bug in a SQLite WASM build. Cursor with GPT4o one-shotted the solution.
January 16, 2025 at 10:02 AM
If it's consoling for you, my day has mostly involved nested pointers in the SQLite C/WASM binding and starring at binary buffers.

Also: Cursor helped me to write a lot of C code which was really fun actually.
January 15, 2025 at 5:55 PM
I rarely use Blender myself but I greatly appreciate the colossal and continuous effort to develop it as free software. The world needs more of this!
January 4, 2025 at 1:06 PM
TIL (and painful reminder):

You need to close WebSocket connections with a code for a Node process/thread to properly exit.
December 17, 2024 at 6:08 PM
Combined with automatic Otel tracing this is a real cheat code. Love it when tooling "just works".
December 8, 2024 at 9:57 AM
Gave property based testing a first try today. Absolutely magical in combination with Effect Schema.

Bonus: The Effect vitest integration provides fast-check support out of the box.
December 8, 2024 at 9:56 AM
It’s very hard to build reliable offline support for products that are not architected local-first. Very excited to see this effort. 🙌
November 17, 2024 at 1:20 PM
November 17, 2024 at 1:20 PM
It's so over
November 17, 2024 at 1:20 PM
git as app sync engine While thinking more about app syncing it occurred to me that git, the sync engine we use on a daily basis could also be used as a data sync system for some "small apps". I want to explore this idea for @livestoredev to sync the eventlog via git.
November 17, 2024 at 1:33 PM
Happy Bandcamp Friday to anyone who celebrates 🎧
November 17, 2024 at 1:32 PM
Link to blog post and classification table: https://mattweidner.com/2024/06/04/server-architectures.html
November 17, 2024 at 1:32 PM
Of CORS this API doesn't set the right headers... 🤦
November 17, 2024 at 1:32 PM