Local Identity
Each installation owns its own identity, connection ticket, and local app state.
NodeChat is a final-year project built in Rust and Slint. It demonstrates how decentralized messaging can be delivered as a complete application with direct chat, group chat, local persistence, and a clearer trust model.
Identity
Local ownership, local protection, and connection tickets for peer onboarding.
Messaging
Direct chat, group chat, and visible message states across the app.
Trust
Secure session readiness and manual verification are kept separate.
What the app says it is
A peer-to-peer messaging application with local identity, secure transport, direct messaging, group messaging, and visible app state.
Current scope
Serious academic prototype with real application behavior.
Documentation-first site
The site follows the app and docs, not placeholder claims.
Why this matters
NodeChat is positioned as a full app-level study of decentralized messaging, not just a networking demo or a UI mockup.
Core features
The site should reflect the implemented NodeChat application: direct conversations, group conversations, local persistence, message-state handling, and a clearer trust model.
Local Identity
Each installation owns its own identity, connection ticket, and local app state.
Direct Messaging
Peers can exchange one-to-one messages through a secure session established by the app.
Group Conversations
Groups are created locally, invitations move through direct messaging, and conversations run over peer-to-peer group transport.
Message State Tracking
The interface reflects queued, sent, delivered, and read progress instead of hiding transport state.
Manual Verification
Secure session readiness and user trust are treated as separate concepts.
Local Persistence
Identity, contacts, groups, and message history are stored locally so the app behaves like a real software system.
Why NodeChat matters
NodeChat combines user interface design, local persistence, peer-to-peer transport, security-oriented interaction design, and message lifecycle handling inside one consistent application.
That makes it easier to defend academically and easier to turn into a coherent public story later through the docs and the site.
Project status