Case study
How the work came together.
Role
Backend Developer
Challenge
Deleted WhatsApp messages can disappear before their content is preserved. The system needed to monitor chats continuously, detect revoke events, preserve media, and avoid unlimited data growth.
Solution
Built WKeep as a lightweight TypeScript/Node.js daemon using Baileys, SQLite, and BullMQ + Redis. Messages are temporarily cached for 7 days, while media is downloaded immediately. Deleted messages are detected, preserved, and forwarded to a private monitoring chat through a rate-limited queue.
Result
WKeep reliably monitors selected chats, preserves deleted messages and media, and automatically cleans up temporary data after 7 days while keeping deleted records permanently. It runs as a Linux systemd service with automatic restart and scheduled cleanup.
Highlights
- Real-time deleted message detection
- Text & media preservation
- 7-day automatic retention
