Hi all. I've been building my own little fediverse setup at dboft.com to fit how I like to read, and I'm grateful for all the work and community that makes something like this possible. Looking forward to being here with you all!

all 25 comments

sorted by: hot top controversial new old
[–] 20 points 3 weeks ago (9 children)

Oh I love that interface! What is it called?

  • source
  • hideshow 9 child comments
  • [–] [S] 27 points 3 weeks ago (8 children)

    dboft runs on two Rust programs named after weaving. loom is the interface: like the machine that weaves many threads into one cloth, it gathers conversations from dboft and across the fediverse into one readable site. weft is the server underneath: named for the thread a loom carries across, it stores the posts and comments and trades them with other servers over ActivityPub, the fediverse’s open standard. It also speaks Lemmy’s API, so Lemmy apps work with it. To find related posts, loom turns every post and comment into an embedding: a small open model, Qwen3-Embedding-0.6B running on an ordinary CPU, maps the text to 1,024 numbers that capture what it’s about. These are stored in PostgreSQL with pgvector, and an index finds each story’s nearest neighbours in meaning in under a millisecond, even when they share no words. Its just an experiment.

  • source
  • parent
  • hideshow 8 child comments
  • [–] 5 points 3 weeks ago (1 child)

    That's very cool, and I appreciate the thought that you've put into this, including the naming.

    How does the embedding side change as it scales up? (Storage costs and performance). Brainstorming based on your description, I assume the embedding process is the most resource intensive, and lookups are basically free? If so, would the limit be how fast it can process all new posts?

    I wonder if it would be helpful to run a threadiverse search service like this, which other instances can plug in to. Theres no strong reason for everyone to run their own, since they can just filter out any results that a particular instance has blocked or banned. In our case, we wouldn't want to replicate that work across the few instances that we run.

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 6 points 3 weeks ago

    Pretty much, yes. Embedding a post takes about half a second on dboft's small server, and the lookup afterwards is under a millisecond. At 3–4 thousand new posts and comments a day that's maybe 40 minutes of work, so the ceiling is exactly what you guessed: how fast new posts can be embedded. More cores or a small GPU would push it way out i would think. Storage grows too, about 14 KB per post with its index, so 35k today is ~500 MB and a million would be ~14 GB. It all lives on disk in Postgres; keeping the index in RAM just makes lookups sub-millisecond instead of a few milliseconds, and Postgres caches the busy parts on its own, so it degrades gently rather than falling over. This was just an idea; I'm just putting it into together to see if it holds up. I like the idea of a shared service... I wonder what the memory constraints would be at scale.

  • source
  • parent
  • [–] 2 points 3 weeks ago (1 child)

    I'd prefer if Piefed was the standard for the API but I'm assuming you did that because PieFed has more features and therefor would have been more work?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 3 weeks ago

    I think most Lemmy apps are either compatible with both Piefed and Lemmy, or just Lemmy. So putting out information in a Lemmy format will let more clients connect to it?

  • source
  • parent
  • [–] 2 points 3 weeks ago (2 children)

    I remember trying out a fediverse mobile client called Loom. It has since been taken off of testflight on IOS. I wonder if it was the same thing. The UI does look similar. It looks great! It would be amaz if it can be optimized for desktop too.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 3 points 3 weeks ago (1 child)

    That wasn't this but I will look for that name... dont want to step on anyones toes. And you should look at this on desktop and I'd love feedback. I made it more like an email client with multiple columns.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 3 weeks ago* (last edited 3 weeks ago)

    Oh it was probably a different thing maybe, but it had the same concept of creating custom feeds hence being called Loom.

    I haven’t had the chance to check it on desktop yet, but if it has columns, I’m sold! My pet peeve with most frontends is that they waste space on desktop. That’s why I’ve been using voyager because it has a 2-column layout option that sorta uses more screen real estate. I’ll definitely check it out on desktop asap!

    Edit: Finally got to check out the browser UI. It looks great and all, but I did see the About page and this largely being vibe coded without reviews. I'll have to pass for now, but I do think it looks nice and I wish more custom frontend UIs cared about the desktop experience.

  • source
  • parent
  • [–] 23 points 3 weeks ago (3 children)

    A .com domain? In this economy?

  • source
  • hideshow 3 child comments
  • [–] 6 points 3 weeks ago (1 child)
  • [–] 9 points 3 weeks ago (1 child)
  • [–] 4 points 3 weeks ago (3 children)

    Your logo looks identical to Photon's logo, and the UI seems very Photon-y. Inspiration or coincidence?

  • source
  • hideshow 3 child comments
  • [–] [S] 5 points 3 weeks ago* (last edited 3 weeks ago) (2 children)

    Neither, and good eye. dboft ran Photon to start, and when I replaced it with my own front end I carried the favicon over without registering that the hexagon was Photon's mark. That was a mistake, and it's been swapped. The Photon-y feel is real: Photon was the client I replaced, so it set the bar for what mine had to do, and the basics look alike because they're the basics of any Lemmy client: votes, sharing, compact and card views, threaded comments, a tab bar on phones. Beyond that the design is a different one: a three-pane split reader, related posts found by meaning rather than tags, following people, reminders, and every page readable as plain Markdown or JSON(public pages). The code is written from scratch; none of Photon's is in it. Credit to Photon either way.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 3 weeks ago (1 child)

    That was a mistake, and it’s been swapped.

    The Photon-y feel is real: Photon was the client I replaced, so it set the bar for what mine had to do.

    The code is written from scratch; none of Photon’s is in it.

    I'm very familiar with this writing style. Sorry, but I don't see why I would use a vibe coded instance when there are already so many non-vibe coded instances to choose from

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 2 points 3 weeks ago

    Consider it a tech demo, not a pitch. I’m using it to try things out. . Next I'd like to explore not storing passwords or email addresses at all, and running small local discriminative models to flag spam. This work will help me with other efforts in my life. That’s the extent of it.... well other than having convos with people and trying not to panic that teh world is so crazy.

    What I like about the fediverse is that we can talk, and nobody has to adopt anyone else’s interface, view or agenda to do it.

  • source
  • parent
  • [–] 4 points 3 weeks ago (1 child)

    Hello to a small new instance! 👋

  • source
  • hideshow 1 child comment
  • [–] 1 point 3 weeks ago

    I like the three-panel interface!

  • source