I just published Node Zero Social the beginning of my journey to build a better way to do social.
My objective with Node Zero is to try to create a consumer experience that is appealing to the masses.
However, I also want to bake in. non-custodial and decentralized principles to enable personal data sovereignty and personal financial sovereignty as well.
But also to try to create some permanence. Because so much of our online digital lives have turned out to be just as ephemeral as before The Web. Perhaps more so. I still have faded photos of long-lost relatives who never had any online accounts. Yet, none of my nephew who only lived online before his ended at 22. His Facebook page is “memorialized”. Unfortunately, I would have to use Facebook to see it. But that’s another story.
I had been experimenting with different ways to do this by combining different approaches and standards.
But I kept coming back to either starting a new type of infrastructure or using a blockchain.
Up until this year, I couldn’t find a practical way to do this without relying on a centralized component to handle some aspect of the data provenance in order to create privacy.
Adding blockchain to a POD is relatively trivial for simple operations. But everything on-chain is transparent. I spun up solutions like a DNS type of registry that handled mapping WebIDs to blockchain accounts. Obviously that’s not a real solution, because it relies on yet another protocol or infrastructure layer to be adopted to be of value.
Then in March of 2026, the Stellar Development Foundation added the cryptographic primitives and web assemblies needed to run Zero Knowledge Proof operations on-chain. Instead of having to try to do this within a Smart Contract WASM, which was not financially feasible if even technically practicable.
Now, we can concatenate a WebID + Blockchain Account Ed25519 Keypair cryptographic signature. Then run that through a WASM Prover in the local browser to generate a hash.
That hash can be stored on-chain in a smart contract. The on-chain hash can be used to prove a KeyPair is linked to and controls the WebID.
Without revealing the WebID or linked Stellar account on-chain.
This then opens up a way to also cryptographically secure data within the POD as well. By storing encrypted data within the POD, but mapping the data into a Merkle Tree within the Smart Contract, we can implement a very robust decentralized Access Control system. Which can be used to alleviate the all-or-none issue of an app getting access to all the data in a POD
There’s no cryptocurrency other than the native token that Stellar uses for “gas”.
These transactions typically cost in the range of .000001 USD each. Currently, it’s all free because it is on the Test network and O have about $50K in Azure credits I can use on this.
Although, my actual running costs are less than $150/month USD for infrastructure.
Finally, I had to make it easy. So, I have abstracted all of the underlying blockchain operations.
I also stood up a CSS instance for the app but it works with Solid Community PODs too.
Thanks for taking the time and please try onboarding. It’s free and open-source, and let me know how it goes.
Thanks,
Steven Tomlinson
I have my own pod at my own provide, privatedatapod.com, can I log on with that?
however, logging in with my solidcommunity.net account I got the following:
`User lockbox root does not match the browser-generated proof root. Relink required.`
but creating the profile went fine, taking the values of the existing pod.
how do I proceed or solve the error ?
and what is the user pod URI, for example `https://pod.nodezero.social` or << nodezero.social/pod >> ?
my browser address bar showed << nodezero.social/profile >> without further user.
but very very fine.
Thanks for taking the time! You probably can, I am using the Community Solid Server.
I would be more than happy to expand the scope to include yours in the list too.
During this initial phase I thought I would try to put some guardrails around it while I’m still figuring things out.
I had added solidcommunity.net because I have PODs there that I am working with.
Node Zero has its own CSS at solid.nodezero.social now.
Thank you for taking the time to try out the on-boarding, I really appreciate it.
I am working on the ‘User lockbox root does not match the browser-generated proof root. Relink required’ issue you are running into with existing PODs.
I think if you try it now, it should attempt to handle the re-linking when you sign-in. It’s still kind of klunky, so just give it time if appears to be hanging.
I got side-tracked from the main workstream, to wrap up this parallel work I am doing to enable a theming override system for the CSS.I mentioned in my response to @pod42
Regarding the “the user pod URI” display question; I would appreciate your insight and suggestions, since you bring it up.
Otherwise, I would have just gone with whatever the docs tell Claude, Gemini, Codex, and the rest of the “team” are best-practices.
Part of the work I am doing is learning how to use these generative AI tools in non-standard and “bespoke” ways, to get the output I want.
Here’s my very first, original “Node Zero” solidcommunity.net POD after signing in with it this morning using the solidcommunity.net CSS selection from the drop-down.
After sigining in, the new post-login recovery sems to be working as expected now.
If you get a chance can you try again and let me know how it goes?
There’s a little gear
in the top right corner of the profile, that reveals all the gory details.
NOTE: PLEASE do not connect any POD with any sensitive information at this time. This is still pre-release software.
Thanks again!
hello back; I just gave it another try.
-
signing in with ewingson.solidcommunity.net I still got that lockb0x error.
-
but creating a fresh account went fine.
in this case the setup went through, connecting to all parameters. -
the Pod URI seems to be << solid.nodezero.social/user/profile/card#me >> as WebId which is fine.
-
the storage URL seems to be << solid.nodezero.social/user/ >>
normally in the Solidverse there is subdomain or suffix configuration for pods, where you chose suffix ((although sincerely any URL that links to a profile file can be a webid)).
since you are working with LLM do you know GitHub - solid-contrib/llm-skills · GitHub maybe you can link your AI to that.
do you plan to provide a databrowser functionality to view the files ? the standard for that 'd be SolidOS/mashlib frontend SolidOS · GitHub
I am hosting 4 pod providers but am just an autodidact, but your approach is very interesting.
I have added nodezero to the lists I am maintaining.
when the user has choice which provider to use that extends the freedom of choice and diversity, let me leave you another link to the (at least to me) known providers https://solidontrixie.net
I will stop by periodically and test and report here. I’m adding screenshot from logging in with https://solid.nodezero.social/testpro/
Thanks for the quick and thorough response, that is very helpful!
The CoPilot is a great tip, I had not found it yet; I will be adding it today!
I am not specifically focused on exposing a “file browser” in the UI, I think there’s some good implementations in the ecosystem that perhaps I could adopt or integrate?
My goal is to abstract these underlying processes and artifacts in the UI/UX surface as much as possible, while not actually obfuscating or hiding it all.
For example, I am taking the approach that the typical User shouldn’t have to care that an Ed25519 keypair is being generated and stored in their device enclave to enable MFA and provide a way to create tis attestation.
My desired end-state is the user just opens the Web App and signs-n with their device biometrics. Then they begin interacting with the POD through the UI features that Node Zero provides.
There’s three major features:
Those initial features are a real-time chat service with other POD owners in your “Circle of Trust”. This instant messaging feature uses the Waku Protocol, an encrypted decentralized, self-organizing “ephemeral gossip network”.
I have paired this with Uber’s open source global H3 hex gr4id to provide swome interesting approximate location and distance-awareness in the UI.
This surfaces different real-world and on-line discoverability and interaction opportunities.
The “Circle of Trust” feature itself, and it’s “public” or network-wide forum posting process is the “community filter” that people can control. Which integrates geo-located "audience, connected POD, and the “public” through visual circles like a “radar” or HUD display.
I think I will structure the Forum feature related to it, more like UseNet reader or sub-reddit style forum, but decentralized using thread participant discussion features stored in a POD.
The third major feature is the “DownStream” which is inspired by the DocuStream feature described in the very witty novel, “Valet” by J.P Lacrampe, I highly recommend the audiobook for a good laugh.
The DownStream is the chronological feed of a person’s digital services that I can find that be more or less easily connected to a POD.
Starting with RSS for podcasts and sub-reddits, mRSS for multimedia, then whatever else is free and easy. I am making that particular feature as extensible or pluggable as possible to add more formats. I have the aggregation engine pretty much worked out that handles formatting the different feed formats into a common “DownStream” format.
Ihave another project that I am moving toward integrating into this and that is TurboDex.ai it is an attempt to build a parsing/index engine in a VM that uses on-board MS-PHI 4 SLM to build hierarchical summary indexes of documents in a private data store. Then use the on-board model to query the summary data and drill into the results. Users can bring their own API Keys and use the larger models as well. Basically, I use it like a pre-processor before querying the LLM, if needed, then the queried local data can be formatted t prime the LLM query.
What this means is that I can iuse it to privately process a User’s various feeds and streams of data into a summarized “DownStream” of aggregate view of the data they are interested in.
These connections and preferences are all intended to be managed through the Data Backpack interface by adding or selecting media sources. Then adjusting sokme sliders to weight the model toward different biases, or not.
Thanks for all you do, and I will definitely notify you when it ready for wider safe SOLID POD integration. In addition to regular updates here.
The repo is open-source and if anyone wants to contribute, please do. But I appreciate your patience, it’s just me and my AI over here.
I am working out of the ‘testnet’ branch, the rest are mostly copilot branches that are WIP.
The main branch is reserved for eventual Production publication using Smart Contracts (real money) on the Stellar MainNet network.
hey back there.
here two screenshots of today’s morning.
I noticed:
- you do not set a password when creating an account.
- Community Solid Server on subdomain runs fine.
- details put into the profile are not persistent yet.
- the onboarding now seems to complete fine.
- the UI/UX is very appealing.
I am not a blockchain expert, not even a real pro, but an active practicing solidthusiast.
may I leave you some of my sites ?
the synergy of helping each other might be enormous.
these are my pod providers
https://solidweb.org (3800 accounts)
https://solidweb.me (950 accounts)
https://teamid.live (100 accounts)
https://solidweb.app (a dozen accounts)
you find me here https://serverproject.de and here https://serverproject.com
always reach out here in the forum or in the matrix.
some databrowsers are: (I think the user would want to see their files and what’s in their pod)
what I have done myself is GitHub - ewingson/solid-info: show some info from pod · GitHub (R) and GitHub - ewingson/solid-note-experiment: one-pager · GitHub (RW/CRUD)
how can I help test ?
what are the exact steps needed ?
(((my latest book is Darkness and Mold from Stanislaw Lem, just got it because of the short story “the friend”…)
maybe I will get a copy of ‘Valet’, but have not endless time and a 36hrs-non-tech-9-to-5-job)))
personally I work with Claude.
Matthias





