Develop Seed Hypermedia

Develop Seed Hypermedia

Roadmap
Tech Talks
Design
Specs
Notes
Meeting Notes
Roadmap
Tech Talks
Design
Specs
Notes
Meeting Notes
Feed
/Updates
Updates

Alex Burdiyan, Eric Vicenti, Julio & horacio

7 May 2025, 09:34
ContentActivityComments2CollaboratorsDirectory38
ContentActivityComments2CollaboratorsDirectory38

    Here we post our regular individual updates of our recent progress. We review these documents every week on our "HyperTuesday" team meetings

    Fixes around the Activity panel

    Activity + Discussion panel fixes documentToText Activity Filtering Feed sorting Video

    29 October 2025
    horacio

    Feed and Memory leaks

    Week: @2025-10-21: Hypertuesday. During the past week I've been doing work with the feed and trying to find the memory leak. SQLite Memory leak Feed Next Week

    29 October 2025
    Julio

    Private Documents and Memory Leaks

    Week: . During the past week I've been switching between debugging random issues, and continuing the work on . SQLite Memory Leak Private Documents Next Week

    28 October 2025
    Alex Burdiyan

    Email notifications refactor overview

    Email Notifications System Documentation Current User Stories Implementation Receive Email Notifications please read this document with user stories for email notifications. Current Limitations Future Development I think we can bring back the accounts table with a flag to determine if the (accountId, email) entry is a subscription or a linked account to email. -- Add back the accounts table with email linking CREATE TABLE accounts ( accountId TEXT NOT NULL, email TEXT NOT NULL, isAccountLinked BOOLEAN NOT NULL DEFAULT FALSE, createdAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, notifyMentions BOOLEAN NOT NULL DEFAULT FALSE, notifyReplies BOOLEAN NOT NULL DEFAULT FALSE, notifyDocChanges BOOLEAN NOT NULL DEFAULT FALSE, notifySiteDiscussions BOOLEAN NOT NULL DEFAULT FALSE, PRIMARY KEY (accountId, email) ); The only issue is that email preferences are different for own account and subscriptions. Because of that I would instead propose creating a separate table for linking an account to email. CREATE TABLE email_account_links ( email TEXT NOT NULL, accountId TEXT NOT NULL, createdAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, notifyMentions BOOLEAN NOT NULL DEFAULT FALSE, notifyReplies BOOLEAN NOT NULL DEFAULT FALSE, notifyDocChanges BOOLEAN NOT NULL DEFAULT FALSE, notifySiteDiscussions BOOLEAN NOT NULL DEFAULT FALSE, PRIMARY KEY (email, accountId) ); And we could add creation of linking tokens to allow verifying the email address in the welcome email. CREATE TABLE email_account_links ( email TEXT NOT NULL, accountId TEXT NOT NULL, linkingToken TEXT UNIQUE NOT NULL, expiresAt DATETIME NOT NULL, isVerified BOOLEAN NOT NULL DEFAULT FALSE, verifiedAt DATETIME, -- NULL until verified notifyMentions BOOLEAN NOT NULL DEFAULT FALSE, notifyReplies BOOLEAN NOT NULL DEFAULT FALSE, notifyDocChanges BOOLEAN NOT NULL DEFAULT FALSE, notifySiteDiscussions BOOLEAN NOT NULL DEFAULT FALSE, PRIMARY KEY (email, accountId) );      

    15 October 2025

    Web Key Linking with Desktop App

    Some time ago we enabled the ability to create Web Crypto keys in the browser on all Seed sites, for users to be able to sign their comments right on the site they are visiting. Previously they were redirected to hyper.media because this was the only place where their identity key lived, as Web Crypto keys are tied to a single domain and can't be shared securely. Now, this creates fragmentation. Essentially you have a separate account on each web site you are commenting on. Our vision for solving has always been the idea of linking your keys. You account is essentially the set of all the keys you have on you different devices and web sites. So during the past few weeks I've been working on implementing key linking. We already used to have to link desktop keys to hyper.media, but it wasn't suitable as-is for multi-origin world we now live in. So, I'll explain some of the changes I did. It All Begins on the Web Linking Instructions Conclusions

    5 October 2025
    Alex Burdiyan

    Iskak's update September 9th

    Update: Next week I will continue working on notifications refactor and implementing new subscribe feature for readers without an account.

    9 September 2025

    Alex: Status Update 2025-07-29

    Last week I've implemented discovery for comments (and actually any other snapshot-based resource in theory). For this week I'll be working on the following things:

    29 July 2025
    Alex Burdiyan

    Migrating UI Components from Tamagui to Tailwind

    (Photo by Miko Guziuk on Unsplash) When we adopted Tamagui, our goal was ambitious but clear: build a unified UI component system that we could reuse across all platforms — Electron (desktop), Web (Remix), and eventually React Native for mobile. The dream of writing once and reusing everywhere was enticing, and early on, it felt like we were on the right track. But reality hit us hard. The Challenges We Faced Admitting Our Part in It Setting a Plan in Motion Choosing Our New Stack Failed Attempts and What We Learned Where We Are Now Thanks for reading! This migration has been a tough but necessary move to keep our momentum as a startup. I’ll continue to share updates as we progress — and hopefully provide more insights for anyone considering a similar shift. Update: 19/06/2025 Update: 22/07/2025

    22 July 2025
    horacio

    Design Updates: Activity Panel, Contacts

    Activity Panel Contacts

    15 July 2025

    Document mention email notifications

    Demo Brief

    1 July 2025

    Custom Navigation

    We have been building a custom navigation UI so you can modify the nav bar of your site! Still working on some minor fixes, but this should be ready for the next release.

    24 June 2025
    Eric Vicenti

    Document change email notifications

    Demo

    24 June 2025

    Unify Accessory panel tabs

    This week I worked on making sure users can access to the accessory panels both on web and desktop the same way. The look and feel its not 100% teh same but is very close. This will be improved over time for sure! (Photo by vackground.com on Unsplash)

    17 June 2025
    horacio

    Identity Switcher

    We now have a switcher in the corner of the application that allows you to select which identity you are acting as.

    17 June 2025
    Eric Vicenti

    Contact Management

    You can now manage contacts in your Seed app to see who people trust and recommend in the system. For each of your public contacts you can assign a name, to improve the labeling of people in your network.

    17 June 2025
    Eric Vicenti

    Web Commenting Redirect + Resource IDs

    This week I've done a few additional experiments trying to use the Channel Messaging API with the idea of getting rid of the redirect flow when commenting on the web. In the end it didn't work. Apparently Safari is only able to give access to cross-origin cookies, but not other state like IndexedDB. I then started hashing out ideas on how to implement cross-origin signing of comments by using key delegations. The main concern I have is that I don't want the additional keys start sprawling around with full power over the account, like the agent keys we currently use for hyper.media. I want session keys to be scoped for a particular target. I haven't finished cross-origin signing, because  brought up the fact that addressing comments is a pressing concern right now, which I agree with. Exposing comment URLs is surprisingly tricky, because we need to change the format of a comment blob a little bit, to include additional information.

    10 June 2025
    Alex Burdiyan

    Pay Server

    In Stripe, the url field is mandatory when onboarding an account. That's why all the hassle with the URL field in the demo. Actually, the site url in our system is also paramount so i though to link both urls

    3 June 2025
    Julio

    Profiles, Contacts and Detached Blocks

    Profiles Contacts Detached Blocks

    27 May 2025
    Alex Burdiyan

    Improve resize performance on Web

    Here's the video of how many elements were updating when the panels resize: and here is the performance metric of the same interaction before and now this is the state after the optimization: the main issue was that we were calculating the panel width on every resize and setting the value to a state. this was causing almost all the components to re-render. now we are not setting the value to a state bot to a ref, and only re-rendering when needed. This was a small change, hard to find but with a huge improvement!

    27 May 2025
    horacio

    Web Site Importing

    We have built a new web site importing experience that will download a whole website and publish it as a directory in your Seed Hypermedia site. Currently this is oriented towards Wordpress websites, but we can add support for other sites as needed. So please reach out on Discord if you need help importing your site. To get started click the "Import.." button in the document options dropdown, and select "Import Web Site" Then input a URL and wait for the web download (scraping) to complete. The last step allows you to confirm which account will be committing the information. Finally your site will be imported. The importer currently supports:

    20 May 2025
    Eric Vicenti

    Seed Website

    Demo Brief

    20 May 2025

    Full Text Search V4-Final

    Updated Status of the Project to be found below: V4. Frontend Work OLD-V3. History search OLD- V2 Windcard search The following features are still missing: PS: The code is in the feat/full-text-search branch. Since It has a db migration I did not push to main until the frontend reviews it and let me know if the api fields are sufficient or not.

    19 May 2025
    Julio

    Instagram post embeds, query block and link toolbar fixes

    Demo Brief

    13 May 2025

    Universal Addressability + Updated Contacts

    This week Eric brought up a few problems with the Contacts project that I wrote last week. Mainly it's about addressability of them. It also surfaced a few problems with mutability of Comments, which we still don't support, just like we don't support linking Comments. Both Contacts and Comments seem to be similar in terms of how they behave, namely they are state-based objects, unlike operation-based Documents. So we'd better have a generalized way of addressing and mutating those kinds of objects. I wrote a few more documents in Linear — unfortunately they are not publicly available yet. I guess we will publish them as Seed documents as soon as they are more settled.

    13 May 2025
    Alex Burdiyan

    Contacts v0

    Problem Glossary Solution

    13 May 2025

    Designs | Emails and Contacts

    Email Designs can be found on Linear or Figma. We should also have a meeting about Email Design specifically since this project has been open for almost 3 weeks and each week a new type of email is added. This will continue to happen in the future and it shouldn't be a reason to stop the project from even starting. Contacts Design can be found on Figma. We should have a meeting to discuss this first design and see if it needs any improvement.

    13 May 2025

    Desktop-Web Key Linking

    Coming soon, you will be able to sign in to the web using your identity from the Seed desktop app!

    12 May 2025
    Eric Vicenti

    Desktop Email Notifications

    Introducing email notifications for your desktop accounts!

    12 May 2025
    Eric Vicenti

    Contacts v0 and Authenticated Data Structures

    This week I spent a lot of time researching the various authenticated indexing data structures (Prolly Trees, Merkle Search Trees, HAMTs, etc.) that I wanted to use for implementing Contacts, because I also wanted to use them to solve other issues like deleting and moderating comments and so on. I've implemented a bunch of those data structures, made a lot of experiments, read a lot, but in the end abandoned the idea of doing it as the main approach for handling data — too many small but important tradeoffs to settle, and it's a bit disruptive for our current architecture. They still can be very helpful for designing overlay indexes on top of the blob data, that could be shared between peers in a verifiable ways (we've talked about that before), but for now it's not worth spending time on that. So, I finished writing up the Contacts project, using an approach that is closer to what we are currently doing, without introducing many major disruptions. There're still open questions there, so we should discuss them in Linear. Linear Project: https://linear.app/seedhypermedia/project/contacts-v0-6fb28d8b822b/overview.

    6 May 2025
    Alex Burdiyan

    Contacts + Another Week of Small Tasks

    This week I meant to focus on researching and shaping up a project for Contacts and finishing some of the small tasks I still had in Linear. In addition some more tasks popped up during the week. Similar to the last week, the tasks during this week had very trivial fixes which I've spent up to a day to figure out 🤦‍♂️. Deleting documents Collaborators not being able to move or delete documents Arbitrary signatures API Network protocols switching issue Contacts Project

    6 May 2025
    Alex Burdiyan
    horacio

    Linking UI revamp

    I don't have a reliable way to record my screen with my voice so I will explain most of my work in text Small demo What I have added May 6th update

    6 May 2025

    Theming Prototype

    Here's a small prototype I build on how Theming might work on Seed Hypermedia Hope you like it! If you have any feedback or questions please comment on this same document! (Cover image by Xavi Cabrera on Unsplash)

    6 May 2025
    horacio

    Responsive Site Header Menu

    This was something I wanted to implement for a long time. I believe this is a better UX than the previews content scroll we had before. What do you think? If you have any feedback please comment on this document! (cover image made by Hadi Yazdi Aznaveh on Unsplash)

    2 May 2025
    horacio

    Entity Highlight on Hover is Back!

    I'm very excited about this feature! It's been a long time since we removed this feature from Mintter for data-model updates. Now that everything is more stable we can bring it back and is even better! (cover image made by Kevin Laminto on Unsplash)

    2 May 2025
    horacio

    New Accessory panel design

    We updated the Right panel Accessory design. The extra buttons on the right disappear and we also now persist the width of the right panel!

    30 April 2025
    horacio

    Hypermedia Commenting

    Collaboration is one of our code principles in Seed Hypermedia. One way we are enabling collaboration on our system is with Commenting. Here's a quick video on How commenting works both on the desktop app and on web: Feel free to comment on this video with any feedback or suggestion (or bug)!

    30 April 2025
    horacio

    Cross-Origin Web Commenting

    We are now using a redirect approach to comment on the web from any hypermedia site

    28 April 2025
    Eric Vicenti

    Introducing Hypermedia Explorer

    Demo Purpose Inspirations I am super excited to see how people use this. Please send your feedback and ideas on how it can be improved!

    22 April 2025
    Eric Vicenti
Powered by Seed HypermediaOpen App