Inspiration Most plans begin as messages: “I’ll pay you back Friday,” “Let’s meet next week,” or “Can you send that over tomorrow?” Then the conversation moves on, and the details get buried.
We built Relay to turn those scattered commitments into something useful: clear, reviewable plans that stay connected to the conversation where they started. What it does Relay brings selected conversations into one workspace and helps identify plans, promises, amounts, and dates. Suggested agreements include supporting quotes, so users can check the original context before saving anything.
Users choose which conversations Relay can access and review replies before sending them. Our goal is to help people remember what matters while keeping them in control. How we built it We built the native app with SwiftUI for Mac, iPhone, and iPad, alongside a Next.js web interface.
The messaging infrastructure uses a self-hosted Matrix server and Mautrix bridges, with WhatsApp serving as our working reference for Instagram, Google Messages, and Discord. iMessage connects through the Messages app on Mac.
We added guided onboarding that asks which apps users want to connect, prepares the selected Docker services, and walks them through linking accounts and choosing chats.
For AI, we integrated local processing on supported Macs to help summarize conversations and suggest structured agreements. Encrypted agreement records support synchronization across devices. Challenges we faced The hardest part was making different messaging systems feel consistent. Each service has its own authentication flow, permissions, and connection behavior. Google Messages moving away from QR pairing also meant adapting our onboarding.
Reliability required careful handling. We encountered clock differences between Docker and macOS that caused fresh pairing responses to appear stale. We also had to distinguish a message accepted by our server from one actually delivered by the original messaging service.
Throughout development, we worked to preserve existing connections while combining parallel changes to AI, synchronization, and onboarding. What we learned We learned that useful AI needs context, evidence, and user control. A suggested date or amount becomes much more trustworthy when someone can see the exact message behind it.
We also learned that onboarding is part of the engineering. An integration only becomes useful when people can connect it, understand its status, and recover when something goes wrong. What’s next Our next step is completing live account linking and end-to-end delivery checks across the remaining services, then simplifying authentication further. We want Relay to make everyday commitments easier to remember, review, and follow through on.
Log in or sign up for Devpost to join the conversation.