Case study
Roomie
A serverless, peer-to-peer LAN messenger for Windows.
Overview
A messenger for computers on the same local network. It needs no server, no internet connection and no cloud account. Paired PCs chat one-to-one or in groups and send files of up to 100 GB directly to each other.
Problem
An office or home network full of Windows PCs should not need a cloud service just to send a message or a file to the next desk. Roomie keeps everything on the LAN and builds trust between devices explicitly, so nothing is trusted just because it is nearby.
Architecture
A WPF app on the .NET Generic Host, using MVVM and dependency injection, split into Core, Network, Infrastructure and App projects. Each install creates its own ECDSA P-256 identity and self-signed certificate, with the private key protected by DPAPI. Devices find each other through validated UDP broadcast discovery. Every session is mutually authenticated TLS with pinned certificate fingerprints. Pairing is a commit-then-reveal exchange confirmed by a six-digit code on both screens. Messages travel over a custom length-prefixed protocol (RMP) with central per-type validation, and SQLite storage writes every message to disk before it is sent or acknowledged.
What shipped
Discovery, TLS connections, pairing, one-to-one messaging with delivered and read receipts, persistent history, and groups whose membership changes are signed by the owner. Resumable, SHA-256-verified file transfer that survives a pulled cable or a power cut. A full Windows interface with light, dark and high-contrast themes, a notification-area icon, Windows notifications, sounds, animations and a first-run welcome. Phase 11 added a security review that found and fixed eight problems, none of them in pairing or encryption, plus an MSIX installer alongside the portable zip. Version 0.15.2 is now being tested on real office PCs.