dmotz
Gemini 3
Direct link to the underlying source code.
Gemini 2.5 Flash Image, our image model
It abstracts away the work of signaling and connects peers via open decentralized networks like BitTorrent, Nostr, MQTT, IPFS, etc.
This project seems to be using Hyperswarm which I've looked at for use as a peering medium but it seems like it's not supported in the browser. I'd love to implement it if that story changes since it's so easy to distribute apps on the web.
If you want to try this tech at a higher level, I maintain an experimental hobby project that attempts to abstract all the complicated parts of WebRTC into a simple API. Most importantly, it obviates the need to run your own signaling server by piggybacking on various public protocols like torrent trackers or IPFS to match peers. It's well-suited for quick projects/prototypes.
Interacting with Gemini through multimodal prompting
Gemini – Google DeepMind
My attempt to get more out of all my ebook highlights using on-device AI.
https://github.com/dmotz/trystero
My attempt at making it as easy as possible to add p2p to a web app (no server required). A "jQuery for WebRTC" of sorts.
Your content addressable system sounds very interesting, let me know when you have a demo.
You're right that it would be nice to see things in situ as you're reading, but it would seem that most e-reading experiences are locked down. I appreciate the feedback!
I'm testing out a summarization/rephrase feature backed by LLMs that you can try in the demo. In HN fashion I'm trying to build this openly and gather feedback to see what works. I'd like to push this further in the active direction the article mentions with something like a Socratic dialogue mode where you're nudged to re-explain and examine ideas.
If anyone uses this thing/has feedback, let me know. Source is available too [2].
Show HN: Use on-device AI to learn more from your book/article highlights
Hello HN,I decided to clean up and launch a side project I’ve been using to do more with my highlights from books and essays.I lean on semantic embeddings to do things like showing similar passages from other authors and the ability to do fuzzy/conceptual search queries. I find that viewing an idea from multiple angles can really help in digesting it.The demo mode also previews a rephrasing...
My tool uses on-device semantic embedding which allows you to peruse your collection and see related passages from other books which I find really helps in comprehension when you view a related idea in the words of another author. You can also search for semantic concepts directly to see nearby ideas from various authors, which is nice for when you’re in a mood for exploring a particular space via raw concepts.
The demo mode also previews a passage rephrasing feature, which can give you a simplified or metaphorical explanation, which I’ve found really valuable in grokking dense excerpts. This part is powered by LLMs (off-device) but will be opt-in later. I’m trying to gauge interest for it, so there’s a form to sign up for a waitlist if you’d like.
Would love to hear if anyone else uses this tool and what they’d like to see in it. Source code is available too [2].
I built a library that explores this idea: https://github.com/dmotz/trystero
And here's how it talks to WebTorrent servers to bootstrap peer connections: https://github.com/dmotz/trystero/blob/main/src/torrent.js
It also allows encrypting your peers' session descriptions to hide them from the torrent server. All of this is of course experimental and I'm very open to feedback.
Repo: https://github.com/dmotz/trystero
Demo: https://oxism.com/trystero/
The goal is to allow adding P2P/multiplayer to your web app in a few lines and no server setup.
While there are a few good abstraction libraries out there (this one builds on simple-peer), I felt the need the set up a server for matchmaking peers was too much friction for experiments and too centralized in the context of P2P apps. Trystero abstracts away the matchmaking aspect using BitTorrent, IPFS, or Firebase behind the scenes.