Apache Wave lives: https://supawave.ai

15 views
Skip to first unread message

veg...@gmail.com

unread,
Mar 26, 2026, 2:57:39 PM (2 days ago) Mar 26
to Wave Protocol

Hey everyone,


Some of you might remember me from the Wave Protocol days -- I was a committer on the project, then continued through the Apache Wave era after Google donated Wave-in-a-Box to the Apache Foundation. When the project was eventually retired, I moved on -- but I never moved on from the idea of Wave. Real-time collaborative documents with threaded conversations, operational transformation, federation -- nothing else has ever quite replicated what Wave was trying to be.


For years I lacked the resources, the time, and frankly the technical bandwidth to solo-maintain a codebase this size. Wave is not a small project. It's a full-stack distributed system spanning a Java server, GWT client, protocol buffers, operational transformation engine, and a WebSocket-based real-time sync layer. Modernizing it felt impossible for one person.


Then LLMs happened.


I first tried AI-assisted development about a year ago. It was... rough. The models would hallucinate completed features that weren't actually implemented, introduce security vulnerabilities, silently break the OT engine, and confidently report "all tests pass" when nothing compiled. After a few frustrating weeks, I shelved it.


But the latest generation changed everything. Claude Opus 4.6 and GPT-5.4 with 1M context windows can actually hold the entire Wave codebase in context, reason about cross-cutting changes across dozens of files, and autonomously develop features end-to-end -- what people are calling "vibe coding." These models don't just autocomplete lines; they understand the architecture, follow existing patterns, and run compilation verification before claiming success.


So I tried again. And this time it worked.



What's New in SupaWave

Starting from the retired Apache Wave codebase, here's what's been built:

Infrastructure Modernization
  • Jakarta EE migration -- full javax-to-jakarta servlet migration with dual-source compatibility

  • SBT build system -- migrated from Gradle to SBT with native-packager for distribution

  • MongoDB 4.x driver -- modern async driver replacing the legacy MongoDB client

  • Java 17+ runtime -- updated from Java 8 with proper module system support

  • JWT authentication -- session persistence across deploys via signed tokens

  • Zero-downtime deploys -- Docker Compose rolling updates with health checks

  • CI/CD pipeline -- GitHub Actions with automated build, test, and deploy to production

Core Features
  • Email authentication -- registration with email confirmation, password reset, magic link login (via Resend API)

  • Wave pinning -- pin important waves to the top of search results

  • Tag system -- add tags to waves with autocomplete, search by tag:name

  • Custom folders -- inbox, archive, and pin-based organization

  • Version history -- browse wave history with diff view and one-click restore

  • Saved searches -- pin frequently-used searches to the toolbar

  • Contacts autocomplete -- Gmail-like contact picker when adding participants

  • Infinite scroll -- smooth pagination with responsive page sizes

User Experience
  • Modern top bar -- clean navigation with profile, notifications, admin access

  • Profile system -- user profiles with Gravatar avatars, last seen, member since

  • DM waves -- direct message detection with _dm tag

  • Inline reply navigation -- slide between reply threads with breadcrumbs

  • Toast notifications -- non-intrusive feedback replacing all browser popups

  • Skeleton loading -- smooth loading states instead of blank screens

Public Waves & SEO
  • Public wave pages -- SSR-rendered pages accessible without login

  • Public waves directory -- browse all public waves at /public

  • Share button -- one-click copy public link from wave toolbar

  • SEO optimization -- Open Graph, Twitter Cards, JSON-LD structured data

  • Auto-refresh -- public pages update content every 30 seconds

Admin & Operations
  • Admin panel -- user management with roles (owner/admin/user), suspend/ban

  • Contact page -- public contact form with admin submissions viewer

  • Legal pages -- Terms of Service, Privacy Policy

  • Server-side rendering -- full SSR pipeline for fast initial loads

  • Webhook monitor -- GitHub webhook integration for deployment automation

Developer Experience
  • 200+ pull requests merged

  • 1,300+ commits on the modernized fork

  • E2E test suite -- registration, login, WebSocket wave creation

  • Wiab.pro integration -- ported contact tracking, saved searches, and other features from the Wiab.pro fork



The Stack

For the curious:



Layer


Technology


Server


Java 17, Jakarta EE, Jetty, Guice


Client


GWT (compiled to JS), custom widget toolkit


Real-time


WebSocket + Operational Transformation


Storage


MongoDB 4.x


Build


SBT + sbt-native-packager


Auth


JWT + Resend email API


Deploy


Docker Compose, GitHub Actions, Caddy reverse proxy


Hosting


Contabo VPS with Cloudflare



Come Try It

https://supawave.ai


Create an account, start a wave, invite someone. It's the same Wave you remember -- threaded conversations, real-time collaboration, inline replies -- but modernized and actually running in production.


The project is open source: github.com/vega113/incubator-wave


If you're interested in contributing, the codebase is in better shape than it's been in years. The AI-assisted workflow means features that would have taken weeks of solo work now take hours. There's a lot more to build -- federation, mobile experience, rich media, AI-powered features -- and Wave's architecture is uniquely suited for the collaborative AI era.


The wave never really ended. It just took a while to come back.


Zachary Yaro

unread,
Mar 27, 2026, 6:07:33 PM (yesterday) Mar 27
to veg...@gmail.com, Wave Protocol
Great to hear from you, Yuri!

I am really interested to look at this project.  Unfortunately, I seem to be stuck trying to register.  I didn't realize the initial confirmation email got sent to spam until the confirmation link had expired, and now I can't seem to get it to send me another.  “Login with email link” doesn't seem to work either, but if I try to re-register, it confirms my account exists (won't let me reuse the same email address).  Any ideas?

Best regards,
Zachary Yaro



--
You received this message because you are subscribed to the Google Groups "Wave Protocol" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wave-protoco...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/wave-protocol/37d1896c-2da8-4021-b5c7-3d70e217b340n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages