Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create 767 - Local First Johannes.md #1677

Merged
merged 1 commit into from
May 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions shows/767 - Local First Johannes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
number: 767
title: Local First and TypeScript’s Missing Library with Johannes Schickling
date: 1715338800000
url: https://traffic.libsyn.com/syntax/Syntax_-_767.mp3
youtube_url: https://www.youtube.com/watch?v=TrVYBfIsOa0
guest:
name: Johannes Schickling
github: schickling
twitter: schickling
of: Prisma
url: https://www.prisma.io/
social: https://www.schickling.dev/
---

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](#t=00:00)** Welcome to Syntax!
* **[01:10](#t=01:10)** Brought to you by [Sentry.io](https://sentry.io/syntax).
* **[01:28](#t=01:28)** What is [Overtone](https://overtone.pro/)?
* **[03:45](#t=03:45)** Can you explain the experience you're trying to achieve?
* **[06:43](#t=06:43)** What makes the best music app? Is it local first?
* **[08:03](#t=08:03)** Is it best to create a local first app from the ground up?
* **[10:31](#t=10:31)** What are the considerations when making a local first app?
* **[13:04](#t=13:04)** What database are you using?
* [Riffle](https://riffle.systems/).
* **[16:12](#t=16:12)** How do you handle authentication?
* **[19:15](#t=19:15)** Pick the tech based on the problem.
* **[20:40](#t=20:40)** WASM for Non-JS or heavy lifting tasks.
* **[24:39](#t=24:39)** How did you get SQLite running in the browser?
* **[27:58](#t=27:58)** What about WA-SQLite, how does it compare to [Riffle](https://riffle.systems/)?
* [TLDraw Make-real](https://github.com/tldraw/make-real).
* **[29:24](#t=29:24)** The backstory of [Effect](https://effect.website/) for TypeScript.
* **[34:04](#t=34:04)** What actually is Effect?
* **[39:32](#t=39:32)** Consolidating tools.
* **[42:30](#t=42:30)** What's a cool aspect of Effect that is often overlooked?
* **[45:47](#t=45:47)** Building a web server with this.
* [EffectTS RPC](https://github.com/Effect-TS/rpc).
* **[48:16](#t=48:16)** Will this ever get ["Bluebirded"](https://www.npmjs.com/package/bluebird)?
* **[50:29](#t=50:29)** What about promises?
* [Zio World](https://www.zioworld.com/)
* **[52:19](#t=52:19)** Sick Picks + Shameless Plugs.

### Sick Picks

- Johannes: [Open Telemetry](https://opentelemetry.io/), [Sentry Open Telemetry](https://sentry.io/for/opentelemetry/).

### Shameless Plugs

- Johannes: [localfirst.fm](https://www.localfirst.fm/).

### Hit us up on Socials!

Syntax: [X](https://twitter.com/syntaxfm) [Instagram](https://www.instagram.com/syntax_fm/) [Tiktok](https://www.tiktok.com/@syntaxfm) [LinkedIn](https://www.linkedin.com/company/96077407/admin/feed/posts/) [Threads](https://www.threads.net/@syntax_fm)

Wes: [X](https://twitter.com/wesbos) [Instagram](https://www.instagram.com/wesbos/) [Tiktok](https://www.tiktok.com/@wesbos) [LinkedIn](https://www.linkedin.com/in/wesbos/) [Threads](https://www.threads.net/@wesbos)

Scott:[X](https://twitter.com/stolinski) [Instagram](https://www.instagram.com/stolinski/) [Tiktok](https://www.tiktok.com/@stolinski) [LinkedIn](https://www.linkedin.com/in/stolinski/) [Threads](https://www.threads.net/@stolinski)

Randy: [X](https://twitter.com/randyrektor) [Instagram](https://www.instagram.com/randyrektor/) [YouTube](https://www.youtube.com/@randyrektor) [Threads](https://www.threads.net/@randyrektor)
Loading