Skip to content
@local-first-web

local-first-web

Tools for building secure, distributed applications in the browser.

Local-first software: Collaboration without sacrificing control

๐Ÿ’ฟ Traditional installed applications give you control over your stuff, but limit you to a single device, so it's clumsy to work with others. And it's your job to make sure the data on your fragile hardware is backed up somewhere.

๐ŸŒจ Cloud applications let you collaborate in real time and from different devices. But you can't use them at all when you're offline. And you no longer have control over your own stuff โ€” the software provider does. You lose access to it if they go out of business. Or if they decide to discontinue the service. Or if there's a problem with your credit card.

๐Ÿ‘ Local-first applications give you the best of both worlds:

๐Ÿ’ฟ
installed apps
๐ŸŒจ
cloud apps
๐Ÿ‘
local-first apps
๐Ÿ‡ fast โœ… โ›” โœ…
๐Ÿ– responsive โœ… โ›” โœ…
๐Ÿš™ no network dependency โœ… โ›” โœ…
๐Ÿ“ฆ no provider lock-in โœ… โ›” โœ…
๐Ÿ‘ช collaboration โ›” โœ… โœ…
๐Ÿ”‘ team permissions โ›” โœ… โœ…
๐ŸŒฉ online backup โ›” โœ… โœ…
๐Ÿ”ƒ continuous updates โ›” โœ… โœ…

LOCAL FIRST

The repositories you'll find here provide tools to make it easier to build secure, distributed applications in the browser, with no need for a single centralized server.

@localfirst/auth provides decentralized authentication and authorization for team collaboration, using a secure chain of cryptographic signatures.

@localfirst/relay is a tiny service that helps local-first applications connect with peers on other devices. It can run in the cloud or on any device with a known address.

@localfirst/state is an automatically replicated Redux store that gives your app offline capabilities and secure peer-to-peer synchronization superpowers.

Pinned

  1. state state Public

    A Redux-based state container for local-first software, offering seamless synchronization using Automerge CRDTs. (Formerly known as ๐ŸŸ Cevitxe).

    TypeScript 176 9

  2. auth auth Public

    Decentralized authentication and authorization for team collaboration, using a secure chain of cryptological signatures. (Formerly known as ๐ŸŒฎ Taco.)

    TypeScript 173 16

  3. relay relay Public

    A tiny relay server that bridges two WebSocket connections, allowing the clients to talk directly to each other. (Formerly known as ๐ŸŸ Cevitxe Signal Server.)

    TypeScript 88 13

Repositories

Showing 6 of 6 repositories
  • auth Public

    Decentralized authentication and authorization for team collaboration, using a secure chain of cryptological signatures. (Formerly known as ๐ŸŒฎ Taco.)

    TypeScript 173 MIT 16 22 4 Updated May 17, 2024
  • relay Public

    A tiny relay server that bridges two WebSocket connections, allowing the clients to talk directly to each other. (Formerly known as ๐ŸŸ Cevitxe Signal Server.)

    TypeScript 88 13 1 0 Updated Mar 20, 2024
  • relay-deployable Public

    Stand-alone instance of the @localfirst/relay server, for deployment with no monorepo wrangling

    JavaScript 6 4 1 2 Updated Dec 14, 2023
  • state Public

    A Redux-based state container for local-first software, offering seamless synchronization using Automerge CRDTs. (Formerly known as ๐ŸŸ Cevitxe).

    TypeScript 176 9 15 16 Updated Jan 7, 2023
  • .github Public
    0 0 0 0 Updated Oct 6, 2021
  • branding Public

    Logo files for @localfirst/auth, state, relay.

    0 0 0 0 Updated Dec 18, 2020