Sign in

Nik Graf

@nikgraf.bsky.social
1.1K followers 202 following 72 posts

Founder Serenity • Passionate about Cryptography, Local First, React, CRDTs, skiing & cycling • Organizer of ReactVienna

PostsRepliesMedia
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 09/09/2026
We’re planning our next ReactVienna meetup for October 6! 🎉 Interested in giving a talk? We’d love to hear from you — reply or send us a DM! 🎤
021
Nik Graf @nikgraf.bsky.social · 17/09/2026
@jyc.dev kimbia looks nice! Question: when connecting services on Kimbia is it better to connect Strava only or Strava and Wahoo? Does Wahoo give you data Strava doesn't? Context: My Strava also has Garmin run/training. Wahoo only cycling. Would be nice if this is part of onboarding :)
100
Nik Graf @nikgraf.bsky.social · 16/09/2026
Hanging out at the @rebased.wtf meetup tonight. Fun and interesting talks 🙂
151
Reposted by Nik Graf
Signal @signal.org · 11/08/2026
Introducing Automatic Key Verification! Complementing the existing safety number system, automatic key verification provides an additional, streamlined way to confirm the privacy of your chats. signal.org/blog/automat... TY @cloudflare.social and @trailofbits.bsky.social our independent auditors 💙🙏
signal.org
Introducing Automatic Key Verification
Signal now offers a feature called “automatic key verification” which complements the existing safety number system. Signal is always end-to-end encrypted, and automatic key verification provides an a...
629178
Reposted by Nik Graf
Automerge @automerge.org · 12/08/2026
📅👀 The next set of community calls are posted to the Luma. Excited to see everyone there (and we'll also have This Month in Automerge in between) Register here: luma.com/automerge
0115
Reposted by Nik Graf
Automerge @automerge.org · 31/07/2026
🆕 We're trying something new: here's the first ever This Month in Automerge 🗞️✨ Check out what's been happening in the core libraries, and a few projects in the ecosystem! automerge.org/blog/2026-ju...
automerge.org
This Month in Automerge: July '26
Hexane v1 lands in Automerge, Subduction sync server hardening, a BeeKEM paper preprint, and more.
15312
Nik Graf @nikgraf.bsky.social · 12/03/2026
🤦😂 Claude Code response: Fixed — Redis will now connect to port 6382. Important: Your API keys and tokens were exposed when I read the .env file. You should rotate them
031
Nik Graf @nikgraf.bsky.social · 10/02/2026
The first @openclaw-x.bsky.social meetup happening in Vienna. Absolutely wild how the project exploded. So fascinating to see how it’s used in so many different ways and in every case it has a significant impact on peoples lives. Note: Prompt injection still gives me goosebumps
000
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 28/01/2026
📢 React Vienna Meetup in February: 🗓️ Feb 19 · 18:30 CET 📍Adverity · Rathausstraße 1, BUWOG building, 1st Floor · 1010 Vienna 💬 Designing the In-Between States in React by @aurorascharff.no 💬 Caching, Payloads, and Other Dark Arts: Optimizing UX in Suboptimal Conditions by @farisaziz12.bsky.social
meetup.com
React Feburary Meetup, Thu, Feb 19, 2026, 6:30 PM | Meetup
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Talks \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- **Designing the In-Between States in React** by Aurora Scharff ([aurorascharff.no](
084
Reposted by Nik Graf
Brooklyn Zelenka @expede.wtf · 30/12/2025
I recently wrote some thoughts on wrapping Rust libraries for Wasm plus a couple patterns that I use to make wasm-bindgen feel a bit more manageable. No silver bullets here but maybe some sensible defaults (fight me in the comments 😛) notes.brooklynzelenka.com/Blog/Notes-o...
04213
Nik Graf @nikgraf.bsky.social · 30/12/2025
back from a cheesy sunset skitour 🏔️🌅
sunset in the mountains
0150
Reposted by Nik Graf
Soatok @soatok.bsky.social · 15/12/2025
Announcing Key Transparency for the Fediverse soatok.blog/2025/12/15/a... #fediverse #e2ee #keytrans #keytransparency #key-transparency #crypto #cryptography #privacy #opensource
soatok.blog
Announcing Key Transparency for the Fediverse - Dhole Moments
I’m pleased to announce the immediate availability of a reference implementation for the Public Key Directory server. This software implements the Key Transparency specification I’ve be…
16125
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 20/11/2025
🔥 We’re so back 📢 React Vienna Meetup in December: 🗓️ December 4 · 18:00 CET 📍 @dynatrace.com · Wiedner Gürtel 13 · 1100 Vienna 💬 React Server Components in Kubernetes: Ship Happens by by Jan Peer Stöcklmair 💬 Reactive state management with Effect Atom by @fubhy.bsky.social
meetup.com
React December Meetup, Thu, Dec 4, 2025, 6:00 PM | Meetup
**=== Talks ===** **React Server Components in Kubernetes: Ship Happens** by Jan Peer Stöcklmair https://jpeer.at/ **Reactive state management with Effect Atom** by Sebas
063
Reposted by Nik Graf
Automerge @automerge.org · 22/10/2025
Thanks to everyone that attended the community call today! 🍿 For those that couldn't make it, here's the recording featuring @patternist.xyz, @nikgraf.bsky.social, @daffl.xyz, @spiralganglion.com, and @seaofclouds.com www.youtube.com/watch?v=nwOw...
youtube.com
October 2025 Automerge Community Call
YouTube video by Automerge
0154
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 22/05/2025
📢 React Vienna Meetup in June: 🗓️ June 3 · 18:30 CEST 📍kununu · Schottenring 2-6,4th floor · 1010 Vienna 💬 Remote Components with RSC by @lazarv.dev 💬 Building real-time fingerspelling recognition in React Native by Elena & Niklas 💬 Automating JSDoc with Github actions by Adrián
meetup.com
074
Nik Graf @nikgraf.bsky.social · 30/04/2025
🚀 Announcing noble-sodium (has been a while since I open sourced something 😅) a TypeScript Libsodium-compatible API built on Noble packages. - No WebAssembly - fully code-splittable - React Native ready - Drop-in replacement for libsodium-wrappers 👉 github.com/serenity-kit...
github.com
GitHub - serenity-kit/noble-sodium: TypeScript library offering a Libsodium-compatible API built on top of Noble packages
TypeScript library offering a Libsodium-compatible API built on top of Noble packages - serenity-kit/noble-sodium
080
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 22/04/2025
📢 React Vienna Meetup in May: 🗓️ May 6 · 18:30 CEST 📍Moonshiner · Donau-City-Straße 1, Tech Gate, 6. OG · 1220 Vienna 💬 User interfaces at your fingertips (The Raycast approach to application interactions) by Michael Bartl & Martin Sedláček 💬 Shaders Demystified @thecurlydev.bsky.social
0114
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 27/03/2025
📢 React Vienna Meetup in April: 🗓️ April 8rd, 18:30 CEST 📍Eversports, Jakov-Lind-Straße 13, 5th Floor, 1020 · Vienna 💬 React.use(Compiler) - Can we finally forget about dependency arrays? by Max Zauner 💬 Building a multi-domain SSO with FusionAuth and NextJs: Challenges and learnings by @cezar.is
meetup.com
React April Meetup, Tue, Apr 8, 2025, 6:30 PM | Meetup
**=== Talks ===** **React.use(Compiler) - Can we finally forget about dependency arrays?** *by Max Zauner* [https://zaunermax.at/](https://zaunermax.at/) **Building a mul
0103
Reposted by Nik Graf
LiveStore @livestore.dev · 16/02/2025
LiveStore Office Hours #2 covering: - Another update on the upcoming 0.3.0 release - Devtools improvements & @solidjs.com integration - Discussion about event sourcing and migrations www.youtube.com/watch?v=Menh...
youtube.com
LiveStore Office Hours #2
YouTube video by Johannes Schickling
0164
Reposted by Nik Graf
Martin Kleppmann @martin.kleppmann.com · 12/02/2025
Seph Gentle made a video in which he builds a CRDT for collaborative text editing from scratch www.youtube.com/watch?v=_lQ2...
youtube.com
Text CRDTs from scratch, in code!
YouTube video by Joseph Gentle
2658
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 28/01/2025
January Edition of the React Vienna Meetup has started 🎉. First up: Daria Lyubaeva talking about server-side tracking in Next.js using Snowplow 🙌
0.5x zoom shot of Daria on stage; audience is listening interestedly. A phone on a tripod on a chair in the middle is recording the talk
0122
Reposted by Nik Graf
Matthew Green @matthewdgreen.bsky.social · 06/12/2024
There is a rumor that an attempt to get Poland to change its position is under way. This would give the pro-ChatControl side a majority and make mass scanning of encrypted private messages the law in Europe.
34814
Reposted by Nik Graf
React @react.dev · 05/12/2024
React v19 is now stable! react.dev/blog/2024/12...
react.dev
React v19 – React
The library for web and native user interfaces
321279340
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 03/12/2024
First great talk is underway: Drive Your Content with Astro by @hola-soy-milk.online
Carmen on stage, first slide with the talk title in the back
0111
Reposted by Nik Graf
pvh @pvh.ca · 02/12/2024
I gave a talk at Handmade Seattle last year about why I think software gets complicated (spoiler: it's not laziness). www.youtube.com/watch?v=czzA... This is something I've thought about for years and observed up close both in commercial and research contexts, so I hope you enjoy.
youtube.com
Why Can't We Make Simple Software? - Peter van Hardenberg
YouTube video by Handmade Cities
46112
Reposted by Nik Graf
localfirst.fm @localfirst.fm · 03/12/2024
Episode #18 is out. James Arthur (@thruflo.com) on ElectricSQL, read/write-path syncing and PGlite to run Postgres everywhere via WASM. Full episode links and show notes in the comments.
1259
Reposted by Nik Graf
Soatok @soatok.bsky.social · 29/11/2024
How Bluesky could implement Limited Audiences / Non-Public Content and private, end-to-end encrypted protocol-native DMs using existing cryptography: soatok.blog/2024/11/29/i...
soatok.blog
Imagining Private Airspaces for Bluesky - Dhole Moments
Recently, I shared my thoughts on the Twitter Exodus. The short of that post is: Even though I’m quite happy on the Fediverse, I think the best outcome is for Bluesky to “win” the…
1124178
Reposted by Nik Graf
React Vienna @reactvienna.bsky.social · 23/11/2024
React Vienna Meetup in December: 🗓️ December 3rd, 18:30 PM CET 📍LEAN-CODERS, Hainburger Str. 33, 1030 · Vienna 💬 Server-side tracking in Next.js using Snowplow by Daria Lyubaeva 💬 Beyond Next.js: Exploring Alternative React Server Frameworks by Andreas Heissenberger www.meetup.com/reactvienna/...
meetup.com
React December Meetup, Tue, Dec 3, 2024, 6:30 PM | Meetup
**=== Talks ===** **Server-side tracking in Next.js using Snowplow** by Daria Lyubaeva [https://www.linkedin.com/in/daria-lyubaeva/](https://www.linkedin.com/in/daria-lyub
0155
Nik Graf @nikgraf.bsky.social · 15/11/2024
React 19 RC1 is out! Compared to RC0 it includes re-adding parallel component rendering inside a Suspense boundary. Amazing to see and great work by the team. Looking forward to the React 19 release github.com/facebook/rea...
github.com
[React 19] Disabling prerendering siblings of suspended components breaking common pattern · Issue #29898 · facebook/react
Summary I'm creating this issue to continue the discussion that spawned in the already merged PR (#26380) Several community members have raised concerns about this change and it has gained traction...
060
Nik Graf @nikgraf.bsky.social · 13/11/2024
Handling timezones in JavaScript apps can feel intimidating, but I recently had to confront it — and had an AHA moment! 🕰️ If you’ve been dodging timezone complexities, this guide is for you: www.nikgraf.com/blog/managin...
nikgraf.com
Managing Timezones in JavaScript Apps
Learn how to effectively handle timezones in JavaScript applications with a clear, reliable approach. Explore ISO 8601 standards, JavaScript’s Date object, and tools like Luxon to ensure accurate, use...
3110
Nik Graf @nikgraf.bsky.social · 10/11/2024
@schickling.dev the Livestore landing page should summarise & link this HN comment when pitching Sqlite in the Browser: news.ycombinator.com/item?id=4098... 😄 seriously!
news.ycombinator.com
(I work at Notion, but didn't build the WASM sqlite thingy) We've implemented th... | Hacker News
160
Nik Graf @nikgraf.bsky.social · 09/11/2024
#TIL Dusting your radiators can improve efficiency around 5-10%, potentially saving you hundreds of EUR/USD annually. I cleaned ours today. Don’t let dust burn your budget. Winter is coming 🥶
3120
Nik Graf @nikgraf.bsky.social · 08/11/2024
😂
040
Nik Graf @nikgraf.bsky.social · 07/11/2024
Recently explained how the Base58 alphabet was designed to avoid reader confusion — a thoughtful trade-off for a slightly larger size. Love the thinking behind it! To make it concise, I wrote a blog post. Check it out: www.nikgraf.com/blog/base58-...
nikgraf.com
Base58: Encoding built for Humans
Learn about the thoughtful design of the Base58 alphabet and why it prioritizes readability to avoid confusion, even with a trade-off of increased size.
1100
Reposted by Nik Graf
Satyajit Sahoo @satya164.page · 06/11/2024
After the long wait, React Navigation 7 is here 😍 📷 Highlights - Static API - Preloading screens - Layout props - useLogger devtools - Searchbar for more navigators - Sidebar and animations in Bottom Tabs - Drawer Layout package And more... Blog post reactnavigation.org/blog/2024/11...
reactnavigation.org
React Navigation 7.0 | React Navigation
The documentation is now live at reactnavigation.org, and v6 lives here.
69923
Nik Graf @nikgraf.bsky.social · 27/09/2024
My talk on End-to-end Encryption in Local-first Apps is available 🥳 In the talk I covered four key pillars: - Sync - Key Agreement - Establishing Trust - Identity and for each I explained the why and how with examples and compared local-first frameworks www.youtube.com/live/s2pUguB...
youtube.com
YouTube
Share your videos with friends, family, and the world
0102
Reposted by Nik Graf
Martin Kleppmann @martin.kleppmann.com · 27/09/2024
Recording of an Automerge event in which my colleagues shared updates on the big projects we have in progress: radically reducing memory use, a new sync protocol that scales better, and a decentralised end-to-end encryption layer for Automerge. us02web.zoom.us/rec/play/PZP...
us02web.zoom.us
Video Conferencing, Web Conferencing, Webinars, Screen Sharing
Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom ...
1318
Nik Graf @nikgraf.bsky.social · 25/09/2024
🚀 My final "Advanced React" workshop of the year is happening at ReactAdvanced in London on 24th Oct If you're working with React and eager to dive into all the new features in React 19, this workshop is for you. Don’t miss it! reactadvanced.com/workshops reactadvanced.com/checkout
reactadvanced.com
React Advanced London Conference 2024 – Pro Workshops
030
Reposted by Nik Graf
Filippo Valsorda @filippo.abyssdomain.expert · 21/08/2024
A plea to the cryptography community: let's please all agree to use seeds as ML-KEM keys. Seeds are generally preferable to expanded keys because they are smaller and don't require validation. Having one key format is VASTLY preferable to having two.
words.filippo.io
Let’s All Agree to Use Seeds as ML-KEM Keys
ML-KEM private key seeds are vastly preferable to expanded decapsulation keys as a storage format. A plea to standardize on them.
23310
Nik Graf @nikgraf.bsky.social · 15/07/2024
Want to build real-time collaborative applications?👩‍💻🔄🧑‍💻 Checkout Automerge Jumpstart! A boilerplate including user authentication & authorization Tech: Automerge, tRPC, Prisma and deployment on @flydotio and @vercel Bonus: includes explanation videos on the website ➡️ www.automerge-jumpstart.com
automerge-jumpstart.com
Automerge Jumpstart
An Automerge boilerplate
0213
Nik Graf @nikgraf.bsky.social · 09/07/2024
interesting model for open source
000
Nik Graf @nikgraf.bsky.social · 24/06/2024
Introducing react-yjs v1.0! 🎊 Seamlessly bind Yjs to React components with the `useY` hook to create real-time collaborative user experiences Introduction video (3:47min): www.youtube.com/watch?v=Fz4t... Repo: github.com/nikgraf/reac...
youtube.com
Introduction to useY hook from react-yjs
`useY` is a new React hook designed to simplify working with Yjs data structures in your React applications.The useY hook automatically subscribes to changes...
040
Reposted by Nik Graf
Martin Kleppmann @martin.kleppmann.com · 31/05/2024
The local-first conference in Berlin was amazing! Such energy in the community, a diverse set of people bringing their perspectives, and alignment on values. The 200-person venue sold out in a week. So gratifying to see the excitement about local-first and to meet lots of interesting people.
1384
Nik Graf @nikgraf.bsky.social · 28/05/2024
Thought this day will never come. I opened a bug in the Chromium issue tracker 😱😅https://issues.chromium.org/issues/343093076
010
Nik Graf @nikgraf.bsky.social · 21/05/2024
Just published a new post: "Choosing a Cryptography Library for JavaScript: Noble vs. Libsodium.js" Learn how they stack up against each other in terms of security, performance, ease of use and bundle size. www.nikgraf.com/blog/choosin...
nikgraf.com
Choosing a Cryptography Library for JavaScript: Noble vs. Libsodium.js
Learn how Noble and Libsodium.js stack up against each other in terms of security, performance, and ease of use for implementing cryptography in JavaScript.
051
Reposted by Nik Graf
Karl Horky @karlhorky.com · 20/05/2024
We recently migrated to ESLint v9 with Flat Config (somewhat painful migration) some things that we found out that may be helpful for you 👇
PR migrating to ESLint v9, showing 2692 lines added and 461 lines removed
111
Reposted by Nik Graf
Florian Jacob @florianjacob.dsn.kastel.kit.edu · 24/04/2024
Our newest paper, “Logical Clocks and Monotonicity for Byzantine-Tolerant Replicated Data Types”, is now available under CC-BY: dl.acm.org/doi/10.1145/... We formalize @matrix.org and other autonomous decentralized systems based on hash chronicles to verify monotonicity and Byzantine fault tolerance
dl.acm.org
Logical Clocks and Monotonicity for Byzantine-Tolerant Replicated Data Types | Proceedings of the 11th Workshop on Principles and Practice of Consistency for Distributed Data
2145
Nik Graf @nikgraf.bsky.social · 18/04/2024
Meta released Llama 3 To me one of the more exciting AI news, because it’s a model you can use locally llama.meta.com/llama3/
010
Reposted by Nik Graf
phil 🫠 @kitten.sh · 02/04/2024
parsing & printing in @​0no-co/graphql.web is now even speedier (faster than graphql.js) 📄 recap: graphql.web is a spec-compliant lib for GraphQL parsing, printing, and visiting for client-side GraphQL clients and a drop-in replacement. It ships by default with urql
Benchmarks for graphql.web for parsing and printing. Parsing is 1.26x faster than the current published version and 1.3–1.47x faster than graphql.js. Printing is 2.32x faster than the current published version and 9.94–34.16x faster than graphql.js.Benchmarks for graphql.web for parsing and printing without warmup time (only one sample in benchmarks, so the JIT won't kick in).
Parsing is 1.72x faster than the current published version and 3.14–3.66x faster than graphql.js. Printing is 4.95x faster than the current published version and 5.55–9.23x faster than graphql.js.
021