Local-first, y/n? (Friends)
Our friends Johannes Schickling & James Long join us to discuss the movement of local-first, its pros and cons, the tradeoffs, and the path to the warming waters of mostly local apps.
Join the discussion
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Fly.io – The home of Changelog.com — Deploy your apps close to your users — global Anycast load-balancing, zero-configuration private networking, hardware isolation, and instant WireGuard VPN connections. Push-button deployments that scale to thousands of instances. Check out the speedrun to get started in minutes.
Timescale – Purpose-built performance for AI Build RAG, search, and AI agents on the cloud and with PostgreSQL and purpose-built extensions for AI: pgvector, pgvectorscale, and pgai.
Eight Sleep – Up to $600 off Pod 4 Ultra — Go to eightsleep.com/changelog and use the code CHANGELOG. You can try it for free for 30 days - but we’re confident you will not want to return it (we love ours). Once you experience AI-optimized sleep, you’ll wonder how you ever slept without it. Currently shipping to: United States, Canada, United Kingdom, Europe, and Australia.
WorkOS – AuthKit offers 1,000,000 monthly active users (MAU) free — The world’s best login box, powered by WorkOS + Radix. Learn more and get started at WorkOS.com and AuthKit.com
Featuring:
Johannes Schickling – GitHub, X
James Long – Website, GitHub, X
Jerod Santo – Website, GitHub, LinkedIn, Mastodon, X
Adam Stacoviak – Website, GitHub, LinkedIn, Mastodon, X
Show Notes:
James’ local-first post
Bear - Markdown Notes
livestorejs · GitHub
ElectricSQL | Postgres sync engine
Overtone
Zero Sync
Automerge CRDT
Jazz - Build local-first apps
localfirst.fm
Ink & Switch define “Local-first software”
Something missing or broken? PRs welcome!
767: Local First and TypeScript’s Missing Library with Johannes Schickling
In this episode, Scott and Wes dive into the world of local-first apps with Johannes Schickling, the mastermind behind Prisma. From databases, WASM for non-JS, to authentication challenges, they explore the ins and outs of crafting apps that prioritize local functionality.
Show Notes 00:00 Welcome to Syntax!
01:10 Brought to you by Sentry.io.
01:28 What is Overtone?
03:45 Can you explain the experience you’re trying to achieve?
06:43 What makes the best music app? Is it local first?
08:03 Is it best to create a local first app from the ground up?
10:31 What are the considerations when making a local first app?
13:04 What database are you using?
Riffle.
16:12 How do you handle authentication?
19:15 Pick the tech based on the problem.
20:40 WASM for Non-JS or heavy lifting tasks.
24:39 How did you get SQLite running in the browser?
27:58 What about WA-SQLite, how does it compare to Riffle?
TLDraw Make-real.
29:24 The backstory of Effect for TypeScript.
34:04 What actually is Effect?
39:32 Consolidating tools.
42:30 What’s a cool aspect of Effect that is often overlooked?
45:47 Building a web server with this.
EffectTS RPC.
48:16 Will this ever get “Bluebirded”?
50:29 What about promises?
Zio World
52:19 Sick Picks + Shameless Plugs.
Sick Picks Johannes: Open Telemetry, Sentry Open Telemetry.
Shameless Plugs Johannes: localfirst.fm.
Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads
Wes: X Instagram Tiktok LinkedIn Threads
Scott:X Instagram Tiktok LinkedIn Threads
Randy: X Instagram YouTube Threads
Use Effect (not useEffect)
Prisma founder Johannes Schickling has been using the Effect library for the last couple years. Today he joins Jerod & Nick to tell us all about this very interesting tool for building robust apps in TypeScript.
Join the discussion
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Convex – Convex is a better type of backend — the full-stack TypeScript development platform that lets you replace your database, server functions, and glue code. Get started at convex.dev
Caisy – Caisy is the headless CMS that gives developers endless possibilities. Learn more at caisy.io
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com
Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.
Featuring:
Johannes Schickling – GitHub, X
Jerod Santo – GitHub, LinkedIn, Mastodon, X
Nick Nisi – Website, GitHub, Mastodon, X
Show Notes:
Friends: What do we want from a web browser?
Welcome to Effect
Effect Days 2024
Something missing or broken? PRs welcome!
Prisma and the GraphQL data layer (Interview)
Johannes Schickling, co-founder and CEO of Prisma, joined the show to catch us up on all things GraphQL — the tech, the possibilities, the community, how Prisma turns your database into a GraphQL API, their new business direction, Prisma Cloud, open source vs enterprise, and the upcoming GraphQL Europe in Berlin on June 15th.
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Rollbar – We catch our errors before our users do because of Rollbar. Resolve errors in minutes, and deploy your code with confidence. Learn more at rollbar.com/changelog.
DigitalOcean – DigitalOcean is simplicity at scale. Whether your business is running one virtual machine or ten thousand, DigitalOcean gets out of your way so your team can build, deploy, and scale faster and more efficiently. New accounts get $100 in credit to use in your first 60 days.
GoCD – GoCD is an on-premise open source continuous delivery server created by ThoughtWorks that lets you automate and streamline your build-test-release cycle for reliable, continuous delivery of your product.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:
Johannes Schickling – GitHub, X
Adam Stacoviak – Website, GitHub, LinkedIn, Mastodon, X
Jerod Santo – Website, GitHub, LinkedIn, Mastodon, X
Show Notes:
The Changelog #255: Why is GraphQL so cool? with Johannes Schickling
Prisma raises $4.5M to build the GraphQL data layer for all databases
Prisma | Open-Source GraphQL ORM for GraphQL Servers
prismagraphql/prisma: ⚡️ Prisma turns your database into a realtime GraphQL API
Quickstart | Prisma Docs
GraphQL Radio
GraphQL Europe 2018
Something missing or broken? PRs welcome!
Why is GraphQL so cool? (Interview)
Johannes Schickling (Founder of Graphcool) joined the show to talk about GraphQL — an application layer query language from Facebook. We talked about what it is, where it makes sense to use it, its role in serverless architectures, getting docs for free via Schemas and Types, and the community that’s rallying around this new way to think about APIs.
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Linode – Our cloud server of choice. Get one of the fastest, most efficient SSD cloud servers for only $5/mo. Use the code changelog2017 to get 4 months free!
Hired – Get hired. It’s free — in fact, they pay you to get hired. Our listeners get a double hiring bonus of $600.
GoCD – GoCD is an on-premise open source continuous delivery server created by ThoughtWorks that lets you automate and streamline your build-test-release cycle for reliable, continuous delivery of your product.
Microsoft Azure OpenDev – See what’s possible with open source in the cloud. Watch the recorded videos from this live event to see real-world demonstrations of Azure supporting open technologies. Hear from leaders in the open source community. Learn how you can build containerized microservices and improve your open source DevOps pipeline.
Featuring:
Johannes Schickling – GitHub, X
Adam Stacoviak – Website, GitHub, LinkedIn, Mastodon, X
Jerod Santo – Website, GitHub, LinkedIn, Mastodon, X
Show Notes:
Learn GraphQL How to GraphQL
Learn Apollo
Learn Relay
GraphQL Playground
GraphQL.org
Facebook’s announcement post for GraphQL
Graphcool - Serverless GraphQL Backend - Developer platform for building serverless graphql backends
Graphcool hit #1 on HackerNews when it launched
GraphQL Radio - a podcast covering all things GraphQL
GraphQL-Europe - Europe’s first GraphQL conference
Reinventing Authorization: GraphQL Permission Queries
Serverless GraphQL Backend architecture
Why GraphQL is the future
Facebook’s original draft RFC specification for GraphQL
From The GitHub GraphQL API post on the GitHub Engineering blog:
The REST API is responsible for over 60% of the requests made to our database tier. This is partly because, by its nature, hypermedia navigation requires a client to repeatedly communicate with a server so that it can get all the information it needs. Our responses were bloated and filled with all sorts of *_url hints in the JSON responses to help people continue to navigate through the API to get what they needed. Despite all the information we provided, we heard from integrators that our REST API also wasn’t very flexible. It sometimes required two or three separate calls to assemble a complete view of a resource. It seemed like our responses simultaneously sent too much data and didn’t include data that consumers needed.
Something missing or broken? PRs welcome!