grjte's Avatar

grjte

@grjte.sh

- https://grjte.sh - Researcher at @baincapitalcrypto.com exploring programmable cryptography and local-first software - Experimenting with atproto + local-first software at https://groundmist.xyz

246
Followers
63
Following
50
Posts
14.03.2025
Joined
Posts Following

Latest posts by grjte @grjte.sh

7/ Check out the details, including a deeper discussion of challenges, a prototype of Bitchat over Wi-Fi Aware, and general notes on cross-platform Wi-Fi Aware implementation

πŸ‘‰ grjte.sh/bitchat-wifi...

23.12.2025 16:08 πŸ‘ 14 πŸ” 4 πŸ’¬ 0 πŸ“Œ 1

6/ Wi-Fi Aware would complement BLE as a secondary transport to boost connectivity or enable high-throughput direct messaging. BLE provides a backbone for a ubiquitous baseline mesh. Wi-Fi Aware enables extended range and higher-bandwidth hops when devices both support it.

23.12.2025 16:08 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

5/ Wi-Fi Aware has challenges: cross-platform support isn’t uniform; pairing flows and asymmetric connection limits complicate mesh formation; hardware support varies.Β But they're not insurmountable, and Wi-Fi Aware could be used today to improve Bitchat and similar networks.

23.12.2025 16:08 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

4/ Surprisingly, the power cost during discovery was similar between BLE and Wi-Fi Aware, thanks to the optimizations of the Neighbor Awareness Networking (NAN) protocol underlying Wi-Fi Aware. Active transfers consume more energy, but support significantly higher data rates.

23.12.2025 16:08 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

3/ Wi-Fi Aware throughput is orders of magnitude higher than BLE. In practice, Wi-Fi Aware's range on mobile devices can also be significantly higher than BLE. In tests, we saw ~4-5Γ— improvement. Increased range means fewer devices are needed to form a reliably connected network.

23.12.2025 16:08 πŸ‘ 4 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

2/ Wi-Fi Aware is a wireless discovery and mobile p2p networking standard long-supported on Android (2017) and newly supported on iOS (2025). It lets devices efficiently find each other and set up high-bandwidth Wi-Fi links without an access point.

23.12.2025 16:08 πŸ‘ 5 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

1/ Bitchat today uses a BLE mesh for ad-hoc messaging without internet access. BLE is ubiquitous and low-power, but its short range (β‰ˆ10–30 m) and low throughput can limit the real-world reliability and coverage of offline mobile ad-hoc networks that depend on it.

23.12.2025 16:08 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

🧡 Could Bitchat have 5x the range and 100x the throughput for the same power expenditure? I explored how Wi-Fi Aware could improve the reliability and throughput of Bitchat and mobile ad-hoc networks in the absence of internet connectivity. #bitchat

πŸ‘‡

23.12.2025 16:08 πŸ‘ 41 πŸ” 12 πŸ’¬ 1 πŸ“Œ 2
Preview
0xPARC Supporting application R&D on Ethereum and decentralized platforms.

2/ Particular thanks to @expede.wtf @patternist.xyz for helpful discussions beforehand and @inkandswitch.com @martin.kleppmann.com @jakelazaroff.com @jessmart.in for referenced work

For an intro to the idea of "programmable cryptography" see gubsheep's excellent essay: 0xparc.org/blog/program...

10.07.2025 17:03 πŸ‘ 8 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

1/ Had a great time on the ZK podcast chatting about local-first and emerging use cases for programmable cryptography (ZK, HE, MPC) with @goblinoats.com @arro.bsky.social @nicomnbl.bsky.social . I'm excited for more exploration here & I'd love to hear ideas from both local-first & prog crypto worlds

10.07.2025 17:03 πŸ‘ 15 πŸ” 5 πŸ’¬ 1 πŸ“Œ 0

πŸ‘‹I was just talking about your local-first conference talk on a podcast yesterday. I love your new website design too! Fun to engage with & exactly the kind of unique personalized view over PDS data that I was envisioning

27.06.2025 13:41 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Homomorphically Encrypting CRDTs | jakelazaroff.com Homomorphic encryption allows a computer to run programs on encrypted data. Learn how homomorphic encryption works through interactive examples, build a homomorphically encrypted CRDT and see whether ...

πŸ“ new blog post! i spent a while looking into homomorphically encrypted CRDTs. spoiler alert: they don’t work super well!

(but you should still check it out β€” i break down what homomorphic encryption is and how it works, and there are lots of explorable explanations along the way!)

17.06.2025 13:43 πŸ‘ 58 πŸ” 13 πŸ’¬ 3 πŸ“Œ 1
screenshot of our "Leaflet Lab Notes" publication homepage, with one post listed, at https://lab.leaflet.pub/

screenshot of our "Leaflet Lab Notes" publication homepage, with one post listed, at https://lab.leaflet.pub/

screenshot of a record from @leaflet.pub's PDS, showing the data for the Leaflet Lab Notes publication, at https://pdsls.dev/at://did:plc:btxrwcaeyodrap5mnjw2fvmz/pub.leaflet.publication

screenshot of a record from @leaflet.pub's PDS, showing the data for the Leaflet Lab Notes publication, at https://pdsls.dev/at://did:plc:btxrwcaeyodrap5mnjw2fvmz/pub.leaflet.publication

Leaflet Publications: blogging on Bluesky β€” version 0.1 is here!

βœ… now: make publications, add posts, publish to Bluesky
πŸ—“οΈ soon: subscribing, commenting & other social features

Try it: leaflet.pub/home

We'd love your feedback & ideas for how we can make this great!

22.05.2025 15:16 πŸ‘ 344 πŸ” 80 πŸ’¬ 34 πŸ“Œ 37
Preview
Beta Waitlist β€” Germ Network Select \u201CAccept all\u201D to agree to our use of cookies and similar technologies to enhance your browsing experience, security, analytics and customization. Select \u201DManage cookies\u201D to…

We built the DMs we wish existed: a messenger that lets you share what you want people to know, and nothing else.

But what if you wanted them to know…your ATProto handle? 🀯

20.05.2025 14:41 πŸ‘ 48 πŸ” 12 πŸ’¬ 1 πŸ“Œ 3

I've been working on a network-local ATProtocol dev environment that gives me end-to-end production functionality for Smoke Signal, including handle resolution and repository access. Here’s how I put it together. 🧡

14.05.2025 17:30 πŸ‘ 79 πŸ” 16 πŸ’¬ 6 πŸ“Œ 3
Preview
Exploring interoperability & composability for local-first software | grjte Check out the project at https://github.com/grjte/groundmist-syncCross-posted to https://baincapitalcrypto.com/atproto-for-local-first-interoperability/ This is the third exploration connecting local...

9/

A personal sync server acts as your local-first PDS, offering local-first benefitsβ€”like offline access, data ownership, and multi-device supportβ€”while enabling the interoperability and flexibility of the AT Protocol.

πŸ‘‰ Read more: whtwnd.com/grjte.sh/3ln...

14.05.2025 14:45 πŸ‘ 11 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

8/

Because your apps are local-first, the user-centric data repo that your personal sync server provides is portable, just like your atproto identity. Update the location of your PSS, and your local-first data will sync in the new data store as you continue to use your apps.

14.05.2025 14:45 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

7/

With this foundation, any AppView you want to use for interacting with your local-first data can sync and use multiple data types from your PSS without having access to the full PSS. You can do this from any device, even using different services for different devices.

14.05.2025 14:45 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

6/

This personal sync server (PSS) model can enable local-first interoperability. atproto identity can be used as a user-centric identity for managing and connecting to the sync server. Data can be structured, stored, and permissioned according to a Lexicon definition.

14.05.2025 14:45 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

5/

This can be fixed by following atproto's lead and making an architectural shift from app-centric sync servers to user-centric sync servers. Instead of local-first apps syncing data to the same server regardless of the user, each user's data syncs to a personal sync server.

14.05.2025 14:45 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

4/

In the local-first context, data interoperability is challenging partly because it lacks atproto's data model separation. It also lacks user-centric identity, schema standardization, a permission system, and a discovery mechanism, all of which facilitate apps sharing data.

14.05.2025 14:45 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

3/

For data interoperability across services, we need legibility as well as discoverability and accessibility beyond the original app. atproto enables this by combining the Lexicon system with data model separation where user-centric data repos are separated from AppViews.

14.05.2025 14:45 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

2/

The latest Groundmist experiment explores how a personal sync server can function as a local-first data store, mirroring the role of an atproto Personal Data Server (PDS) and building on the lexicon schema system's foundation to enable interoperability over local-first data.

14.05.2025 14:45 πŸ‘ 6 πŸ” 0 πŸ’¬ 1 πŸ“Œ 1

1/

In the 1st Groundmist experiment, we used atproto as a publishing target for data drafted privately in a local-first context. In the 2nd, we explored atproto's Lexicon schema system as a legibility foundation for describing how to interact with various local-first data.

14.05.2025 14:45 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

🧡 The AT Protocol shows the power of a personal data store. All of our public atproto data is easy to find and access. We can interact with it flexibly in myriad ways and combinations.

Wouldn't it be nice to do the same for our private and collaborative data? πŸ‘‡

14.05.2025 14:45 πŸ‘ 13 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0
Feature request: store collection in PDS? Β· Issue #1 Β· grjte/groundmist-library I made a collection and published links, but I didn't save the collection url before clearing my browser cache. Now I have links in my PDS but can't get back the collection, and neither is it possi...

Yeah this is an interesting point - currently the publishing is one way from private to public, but it would be great to be able to sync in both directions. There are a few issues to think through here that I mentioned in a related github issue someone raised: github.com/grjte/ground...

09.05.2025 09:17 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

what's the purpose of the modes? the first part makes sense to me. what's the extra power you want from the server/client model?

24.04.2025 16:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yes, I'd love to see this pattern applied to knowledge graph notes. Long form markdown was a simple place to start, but having a mixed local-first/public knowledge graph would be so useful. I'll catch up on your notes & would love to chat more also with @cdata.earth @mathewlowry.bsky.social

24.04.2025 16:17 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Interesting! My PSS prototype is built as a sync server for automerge documents, so the storage is managed by github.com/automerge/au.... I just define where to store those repos, and I do it according to a specified lexicon NSID, storing data along that path

24.04.2025 16:09 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Exploring the AT Protocol as a legibility layer for local-first software | grjte Check out the project at https://notebook.groundmist.xyzCross-posted to https://baincapitalcrypto.com/atproto-for-local-first-legibility/ Some people like vim and some people like emacs and some peop...

9/ Combining atproto's Lexicon schema system with local-first software offers a lightweight way to unlock interoperability. If you're interested in these ideas or working on similar ones, I'd love to hear from you.

πŸ‘‰ Read the post: whtwnd.com/grjte.sh/3ln...

23.04.2025 19:25 πŸ‘ 8 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0