PowerSync
PowerSync
  • 28
  • 38 166
How local-first provides a better developer experience in 4 minutes
The growing adoption of local-first app architecture isn't just about end-user benefits but also a much simpler developer experience. With the rise of productized sync engines, building local-first apps is easier than ever.
00:00 Intro
01:52 Latency resilience
02:22 Forget the network while developing
02:38 Simple state management
02:52 Move logic to the frontend
03:10 Backend uptime is less critical
03:20 Reduced infrastructure costs
03:48 Real-time streaming for free
Переглядів: 1 168

Відео

Local-first vs Offline-first in 100 Seconds
Переглядів 3,1 тис.2 місяці тому
What is local-first and how does it compare to offline-first? How much do these concepts overlap and what are the key differences? The best place to start is understanding the evolution of consumer software: how old school/standalone apps changed with the advent of the cloud and what drawbacks came with cloud-first app architecture. This video is part of the Local-First Key Concepts series. Cli...
PowerSync in 100 Seconds
Переглядів 3,3 тис.3 місяці тому
PowerSync is a self-hostable sync layer for local-first apps. It connects to any Postgres and keeps local SQLite databases in sync in real-time. - website www.powersync.com - docs docs.powersync.com/self-hosting/getting-started Topics Covered - What is local-first? - What is PowerSync? - PowerSync self-host quickstart tutorial h/t @Fireship
PowerSync Open Edition in 65 seconds
Переглядів 1,8 тис.3 місяці тому
Quick demo of the PowerSync Open Edition. Note: some of the syntax shown in this video has changed, see the GitHub README: github.com/powersync-ja/self-host-demo Try the demo: github.com/powersync-ja/self-host-demo Full PowerSync backend source code: github.com/powersync-ja/powersync-service Docs: docs.powersync.com/self-hosting/getting-started
Demo: VueJS offline-first app syncing with Supabase
Переглядів 2684 місяці тому
Shows a simple Vue.js app syncing data in real-time, going offline, and then automatically syncing offline changes when online again. The app uses a local-first architecture that downloads relevant user data to a local SQLite database which enables offline capabilities and is kept in sync with Supabase through PowerSync's sync service: www.powersync.com
Demo: Kotlin Multiplatform offline-first app syncing with Supabase
Переглядів 2484 місяці тому
Shows a simple Kotlin Multiplatform app syncing data in real-time, going offline, and then automatically syncing offline changes when online again. The app uses a local-first architecture that downloads relevant user data to a local SQLite database which enables offline capabilities and is kept in sync with Supabase through PowerSync's sync service: www.powersync.com
Postgres Conf 2024: Local-first apps using Postgres logical replication
Переглядів 1,5 тис.4 місяці тому
postgresconf.org/conferences/2024/program/proposals/local-first-application-architecture-using-postgres-logical-replication www.powersync.com Local-first is an architecture where app code works directly with a client-side database which automatically syncs with a backend database in the background. This talk covers how we used Postgres logical replication to build PowerSync, a high-scalability ...
Demo: Swift offline-first app syncing with Supabase
Переглядів 3064 місяці тому
Shows a simple Swift To Do List app that's syncing data in real-time, going offline, and then automatically syncing offline changes when online again. The app uses a local-first architecture that downloads relevant user data to a local SQLite database which enables offline capabilities and is kept in sync through PowerSync's sync service: www.powersync.com
PowerSync Roadmap Update - April 2024
Переглядів 2594 місяці тому
Kobie takes us through the engineering priorities for PowerSync and some exciting developments that lie ahead. PowerSync website: www.powersync.com
JavaScript SPAs and the PowerSync Vue Composables Package
Переглядів 884 місяці тому
Christiaan Landman goes through some background of JavaScript SPA frameworks and how he created Vue composables to make using PowerSync with Vue easy. Links: Vue composables package: www.npmjs.com/package/@powersync/vue API Reference: powersync-ja.github.io/powersync-js/vue-sdk
Ignite Cookbook Recipe: Local-First Data Using PowerSync and Supabase
Переглядів 1244 місяці тому
Trevor Coleman walks through the Ignite Cookbook Recipe he created for building local-first React Native apps, using PowerSync and Supabase. Links: Read the recipe: ignitecookbook.com/docs/recipes/LocalFirstDataWithPowerSync Chain React conference: chainreactconf.com/ Infinite Red: infinite.red/
Tutorial: Offline-first FlutterFlow app with Supabase and PowerSync
Переглядів 2,7 тис.5 місяців тому
PowerSync enables developers to build offline-first FlutterFlow apps that are robust in poor network conditions and have highly responsive frontends, while relying on Supabase for their backend. This step-by-step tutorial provides instructions for how to build an offline-first notes app using FlutterFlow, Supabase and PowerSync. Clonable FlutterFlow project: app.flutterflow.io/project/power-syn...
Local-First State Management at Local-First Meetup #13
Переглядів 3225 місяців тому
Local-First State Management at Local-First Meetup #13 Using SQLite local-first state management: - State is automatically persisted across page reloads - The database handles change detection for us - We can use plain SQL queries and views to filter and transform the state - We can use fast local queries to load any data from any component Local-First WebDev: localfirstweb.dev/ PowerSync: www....
Showcase: Using CRDTs with PowerSync
Переглядів 3167 місяців тому
CRDTs are a good fit for real-time collaborative text editing similar to Google Docs. This showcase covers how Yjs and the TipTap rich text editor can be used to build a collaborative text editor using PowerSync as an auto sync layer. See the code → github.com/powersync-ja/powersync-js/tree/main/demos/yjs-react-supabase-text-collab Note: Since this video was published, the demo was migrated fro...
PowerSync Roadmap Community Call February 2024
Переглядів 1997 місяців тому
Kobie takes us through engineering priorities for the next while.
Built with PowerSync Showcase: Jetpack Travel
Переглядів 1377 місяців тому
Built with PowerSync Showcase: Jetpack Travel
Introducing the PowerSync CLI
Переглядів 2437 місяців тому
Introducing the PowerSync CLI
Setting up Supabase and PowerSync
Переглядів 2,5 тис.8 місяців тому
Setting up Supabase and PowerSync
FULL TUTORIAL: Build an offline-first chat app with Flutter, Supabase and PowerSync
Переглядів 2,7 тис.9 місяців тому
FULL TUTORIAL: Build an offline-first chat app with Flutter, Supabase and PowerSync
Interview: Building an offline-first React Native Group Chat App
Переглядів 3,6 тис.11 місяців тому
Interview: Building an offline-first React Native Group Chat App
PowerSync Pro Tip for iOS Debugging on macOS
Переглядів 16811 місяців тому
PowerSync Pro Tip for iOS Debugging on macOS
Introducing the PowerSync React Native SDK
Переглядів 38011 місяців тому
Introducing the PowerSync React Native SDK
Showcase: PowerSync for Supabase and Flutter
Переглядів 94011 місяців тому
Showcase: PowerSync for Supabase and Flutter
PowerSync used in Production: Interview with TrashBlitz
Переглядів 22911 місяців тому
PowerSync used in Production: Interview with TrashBlitz
Demo: Flutter offline-first app syncing with Supabase
Переглядів 4,4 тис.Рік тому
Demo: Flutter offline-first app syncing with Supabase
Building an offline-first Flutter app with Supabase and PowerSync
Переглядів 5 тис.Рік тому
Building an offline-first Flutter app with Supabase and PowerSync
PowerSync React Native support coming, dashboard enhancements, updates to docs and more
Переглядів 121Рік тому
PowerSync React Native support coming, dashboard enhancements, updates to docs and more
PowerSync Architecture Overview
Переглядів 2 тис.Рік тому
PowerSync Architecture Overview

КОМЕНТАРІ

  • @briansigilai6534
    @briansigilai6534 8 днів тому

    I'm getting a blank white blank screen when I run the flutter app

    • @powersync_
      @powersync_ 7 днів тому

      Our discord server is the best place to get help on issues like this: discord.gg/powersync

  • @Jack_Ranold
    @Jack_Ranold 10 днів тому

    Mine failed Publication powersync not found

    • @powersync_
      @powersync_ 9 днів тому

      See this step in the docs: docs.powersync.com/usage/installation/database-setup#id-3.-create-powersync-publication

  • @briansigilai6534
    @briansigilai6534 10 днів тому

    I followed the flutter path and I was getting a white screen screen on the android emulator when I run flutter run

  • @michaeldausmann6066
    @michaeldausmann6066 12 днів тому

    FYI, the order and detail of this video is now out of date. for Supabase connection settings you need to unselect 'show pooler'. also, the 'test' button on connection now checks that the powersync publication has been created so I guess that needs to happen first. the documentation order is correct.

  • @facturacionips-icrihu8430
    @facturacionips-icrihu8430 13 днів тому

    How do I create publication for functions publication powersync: create publication powersync for function public.MyFunction();

  • @powersync_
    @powersync_ 14 днів тому

    ** Note: some of the syntax shown in this video has changed, see the GitHub README: github.com/powersync-ja/self-host-demo

  • @powersync_
    @powersync_ 14 днів тому

    ** Note: some of the syntax shown in this video has changed, see the GitHub README: github.com/powersync-ja/self-host-demo

  • @RanjanPadmakiran
    @RanjanPadmakiran 15 днів тому

    Video is not updated, we have to go into demos and run it.

    • @powersync_
      @powersync_ 14 днів тому

      Thanks for the comment. We've added a pinned comment now with a note about that - sorry about the inconvenience!

  • @indiekiduk
    @indiekiduk 27 днів тому

    5:58 if you flatten before a client has received the changes then wouldn’t it go out of sync?

    • @powersync_
      @powersync_ 26 днів тому

      No, the state is preserved when flattening

    • @indiekiduk
      @indiekiduk 26 днів тому

      @@powersync_ do you mean the client will need to do a full download of the state and lose its local changes?

    • @powersync_
      @powersync_ 26 днів тому

      @@indiekiduk Not sure if we're missing some context. Clients will have to re-download flattened state, but will not lose any changes. Flattening state does not discard any data, it just stores it more efficiently.

  • @srujangurram
    @srujangurram Місяць тому

    Good god, I am sold, ive been tweeking with rxdb and watermelon db this past week, I'll just use this and concentrate on what's important

  • @sgtunix
    @sgtunix Місяць тому

    So true. It has been so hard to build your own offline sync engine that the industry almost forgot about this whole concept. Now that good sync technology is ubiquitous (with PowerSync being one), it becomes more than a no brainer. Building a form that changes dynamically based on a backend change is also pretty mind blowing to a user.

  • @utpalgaurav14
    @utpalgaurav14 Місяць тому

    does this work with firestore db?

  • @alexanderhupfer
    @alexanderhupfer Місяць тому

    I think you should support DuckDB on the frontend

  • @yjawhar
    @yjawhar 2 місяці тому

    Even though thumbnail, graphics, and title say "Fireship", the video is too short for an actual "in 100 seconds" Fireship video! 🤔

    • @powersync_
      @powersync_ 2 місяці тому

      Updated the thumbnail now to help avoid confusion!

  • @alienmo6653
    @alienmo6653 2 місяці тому

    Awesome

  • @sambrucejoseph
    @sambrucejoseph 2 місяці тому

    I have an app that saves data to appstate. Can I use this? Or is this only for SQLite?

  • @RickyC0626
    @RickyC0626 2 місяці тому

    Hold up, this isn't Fireship

  • @wandenreich770
    @wandenreich770 2 місяці тому

    not good click baiting use with fireships style

  • @Dieterbe
    @Dieterbe 2 місяці тому

    Looks like a nice solution.

  • @Dieterbe
    @Dieterbe 2 місяці тому

    Please use a bigger font next time so we can watch the video on mobile. Thanks !

  • @mehvix
    @mehvix 3 місяці тому

    why does the content begin 30 seconds in

  • @kekkodance
    @kekkodance 3 місяці тому

    fireship knockoff

  • @graphicsillusion8598
    @graphicsillusion8598 3 місяці тому

    Damn didn't even realize I was not watching a video with 1M+ Views. Great Content <3

  • @WillJackDo
    @WillJackDo 3 місяці тому

    You clearly have talent and a keen choices about videos. Why are you trying to be a fireship clone?

  • @TheAleBecker
    @TheAleBecker 3 місяці тому

    Great production! Hope you blow up

  • @sandwidimohamed4914
    @sandwidimohamed4914 3 місяці тому

    I was want to use but I let cloud version for pricing, after computation , price can some time high, else I really like your product

  • @justafreak15able
    @justafreak15able 3 місяці тому

    lol baiting with fireship thumbnails

  • @brianmolloy9393
    @brianmolloy9393 3 місяці тому

    pretty sweet! hacking through and prediciting my future... any way to have a "powersync" code generator that has the .powersync already prepended? Definitely gonna much that up as this starts to get bigger...

  • @StabilDEV
    @StabilDEV 3 місяці тому

    how does powersync relate to replicache?

  • @marvinfok65
    @marvinfok65 3 місяці тому

    What kind of shit is this? The screen is so small that you can't see anything!

  • @AbhishekKumar-jb4ky
    @AbhishekKumar-jb4ky 3 місяці тому

    i'm building a web application where a admin/user can login and see dashboard. .i have existing database. i only want some limited info on the user side to appear when no internet is ther. Can i only add PowerSync to some tables of the database only on user login side?

    • @powersync_
      @powersync_ 3 місяці тому

      Yes, you can do this. When you create the publication for PowerSync on Postgres, you can limit it to specific tables: docs.powersync.com/usage/installation/database-setup Sync Rules give further control over what is synced: docs.powersync.com/usage/sync-rules In the Sync Rules, by filtering rows based on user_id, you can sync data only for signed in users: docs.powersync.com/usage/sync-rules/organize-data-into-buckets

    • @AbhishekKumar-jb4ky
      @AbhishekKumar-jb4ky 3 місяці тому

      @@powersync_ also when i'm trying to connect my supabase this error is showing. " Supavisor does not support logical replication. Connect directly to the postgres instance. "

    • @powersync_
      @powersync_ 3 місяці тому

      @@AbhishekKumar-jb4ky Please follow the instructions here: docs.powersync.com/usage/installation/database-setup/supabase#connect-powersync-to-your-database

  • @StoriesWithGR
    @StoriesWithGR 3 місяці тому

    Nice Fireship - y style! And a really good Product Idea!!!! Btw you've credited @fireship as h/t. What does that mean exactly? Sorry for my ignorance 🙈

    • @powersync_
      @powersync_ 3 місяці тому

      H/t is an abbreviation for "hat tip". We use it to give credit or acknowledge the original source of an idea.

    • @StoriesWithGR
      @StoriesWithGR 3 місяці тому

      @@powersync_ Beautiful!

  • @antonperelygin2833
    @antonperelygin2833 3 місяці тому

    looks like ElectricSQL

    • @powersync_
      @powersync_ 3 місяці тому

      The product is similar but there are notable differences, e.g. PowerSync's non-invasive architecture. Read more here; www.powersync.com/blog/electricsql-vs-powersync

    • @justiceessiel6123
      @justiceessiel6123 3 місяці тому

      Sell us the sizzle not the steak​@@powersync_

  • @emeriktremblay3881
    @emeriktremblay3881 3 місяці тому

    i previously tried to link it using the other method and was not succesful, I used sqlite only but now I will retry with this method that looks a lot easier. This solve exactly my problem as im doing a grocery list, I want users to be able to access the list but we also want to know what people have in their lists. Thank you guys great job !

    • @emeriktremblay3881
      @emeriktremblay3881 3 місяці тому

      update : It work really well, it's so fast and easy. Glad I did it

    • @powersync_
      @powersync_ 3 місяці тому

      Great to hear!

  • @ApexGaara
    @ApexGaara 3 місяці тому

    Does this also sync transactional Operations for example through supabase if im using an database view/operation

    • @kobiebotha9868
      @kobiebotha9868 3 місяці тому

      Hi, I'm not sure I understand your question - how are you using views exactly? Our client SDKs do support transactions and the sync protocol provides consistency.

    • @ApexGaara
      @ApexGaara 3 місяці тому

      @@kobiebotha9868 i meant supabase postgres functions and transactions and these for example can be used as reusable "views"

  • @YusifArbile
    @YusifArbile 3 місяці тому

    I love the idea of PowerSync yet till up now it’s hard to integrate in existing projects. For example I have a backend using Prisma ORM, and front end in Flutter with Drift sqlite wrapper. I tried for days to integrate PowerSync and I didn’t come up with a solution. Drift-PowerSync package is promising, yet it’s in early stages. I hope the documentation mentions integrating PowerSync with existing ORMs like Prisma

    • @powersync_
      @powersync_ 3 місяці тому

      We're happy to help solve any issues you're running into and hear your feedback. Our Discord server is the best place for this but let us know if you prefer a different way to discuss.

  • @LowBrowGamerZ
    @LowBrowGamerZ 3 місяці тому

    Does this work using the Web Test Sessions? The SQLite Integration in Flutterflow does not support Web so neither can you test if youre on a free plan

  • @ashutoshrajput3757
    @ashutoshrajput3757 4 місяці тому

    i am getting this error when i am connect it to supabase "Supavisor does not support logical replication. Connect directly to the postgres instance."

    • @powersync_
      @powersync_ 4 місяці тому

      Please follow the instructions here: docs.powersync.com/usage/installation/database-setup/supabase#connect-powersync-to-your-database

    • @ashutoshrajput3757
      @ashutoshrajput3757 4 місяці тому

      @@powersync_ thank you

  • @suen-tech
    @suen-tech 4 місяці тому

    Thank you

  • @rom4ik666
    @rom4ik666 4 місяці тому

    Thanks! Looking forward to see the easter egg being announced!

  • @MyHealthierChoice
    @MyHealthierChoice 4 місяці тому

    That's really awesome! Looking forward to start using this for my next project. Do you have any suggestion how to handle sync of media uploads. e.g profile picture in the user table? Thanks in advance

  • @gularz1982
    @gularz1982 4 місяці тому

    It's a great piece of software! I'm currently experimenting with it and it works really well, super reliable. I'll most likely end up as a paying customer :). It has some rough edges but I believe these will get smooth over time. One thing I couldn't get to work is the Kysely wrapper in JS. Whenever a query is executed it either gets executed once and the PowerSync connection gets terminated or it doesn't send the query to the PS service at all and terminates the connection. What I ended up with is I use wrapPowerSyncWithKysely to enable type safety features, I compile a type safe kysely query and pass it to the raw powerSync.execute(). I spent some time debugging the issue but it's some kind of race condition - sometimes it get's to the connector.uploadData method and sometimes it gets terminated even before it. powerSync.closed is set to true every time wrappedPowerSync.query[...].execute() is called.

  • @dxvfdfx
    @dxvfdfx 4 місяці тому

    if you are using supabase why still need powersync, supabase already has realtime database ,right? just like firebase

    • @powersync_
      @powersync_ 4 місяці тому

      PowerSync enables local-first development which provides realtime reactivity, simple state management and offline capabilities. This is different from Supabase's realtime functionality and also different from the limited offline functionality Firebase provides.

  • @zanesthename
    @zanesthename 4 місяці тому

    Thanks, great overview.

  • @rehaanu
    @rehaanu 4 місяці тому

    Your accent sound south african 😂 are you?

  • @rehaanu
    @rehaanu 4 місяці тому

    Thank you 💯💯💯

  • @johanordenes1557
    @johanordenes1557 4 місяці тому

    It says Publication 'powersync' not found when Testing connection in PowerSync, have tried many ways to resolve the issue with no success, almost no docs as well. Minute 6:53

    • @powersync_
      @powersync_ 4 місяці тому

      Thanks for pointing that out. It looks like the create publication step is not explicitly shown. The step is included in the written tutorial here: www.powersync.com/blog/flutter-tutorial-building-an-offline-first-chat-app-with-supabase-and-powersync#1-set-up-supabase-project-and-publication-to-powersync Let us know if you still have any issues - either here or on our discord.

  • @faisalkarim7392
    @faisalkarim7392 5 місяців тому

    Awesome guys. Useful for my use case, for farmers in low connectivity area.

  • @5sense866
    @5sense866 5 місяців тому

    How is this different from SQLite provided natively in FlutterFlow?

    • @kobiebotha9868
      @kobiebotha9868 5 місяців тому

      This keeps the data in SQLite in sync with Supabase, and you don't need to write synchronization code. This also works on Web.

    • @5sense866
      @5sense866 5 місяців тому

      Ok, so no need to use the SQLite natively provided in FlutterFlow? PowerSync is doing the function of SQLite + syncing, right? I’m only asking because I expected there to be some steps in this video about how to connect SQLite to PowerSync, but I didn’t see that and it confused me

    • @kobiebotha9868
      @kobiebotha9868 5 місяців тому

      Yes that is correct, PowerSync fully manages SQLite and you don't need to enable that. Thanks for the question, I might surface this in our docs.

    • @5sense866
      @5sense866 5 місяців тому

      That’s great - this solves a problem that’s on my list. Will take a closer look in coming weeks

  • @webdevelopment8760
    @webdevelopment8760 5 місяців тому

    great tutorial, thank you very much, would like to see a similar tutorial for expo react native though, that would be awesome =)