Chat for people who ship.
The high-velocity developer messenger and collaboration center combining in-chat code reviews, zero-trust ephemeral .env vaults, repository incident rooms, voice waveforms, and desktop pair programming.
π Open Web App Live (No install required)
Modern engineering teams communicate across a fragmented, noisy stack. Slack and Discord were built for general office chat and communities, not software engineers actively building, debugging, and deploying systems.
Reviewing a pull request, checking CI status, or discussing a stack trace forces developers to constantly jump between their editor, GitHub, CI dashboards, and chat apps. Conversations lose context, pull requests sit idle, and momentum is destroyed.
Engineers frequently share database URLs, .env snippets, API tokens, and temporary keys over plain-text team chats. Those secrets remain forever indexed in chat logs, backup exports, and third-party SaaS databases β creating massive security vulnerabilities and credential leak risks.
Corporate messaging apps prioritize threads, status updates, and generic channels that flood developers with distractions. Software development requires focus, precision, and purpose-built developer ergonomics: diff cards, syntax highlighting, quick voice memos, and synchronized pair programming.
Ack fixes this. It is a fast, keyboard-friendly, mobile-first messenger engineered specifically for engineers, indie hackers, and shipping teams.
Ack is structured as a complete, functional developer communication platform with rich local persistence and client-side encryption.
- Interactive Diff Drawer: Click any PR card in a chat stream to slide out the code review drawer.
- Unified Diff Views: Syntax-highlighted additions (
+), deletions (-), and unchanged lines with line numbering. - Inline Comments: Add feedback targeted to specific lines of code.
- Decision Controls: Submit instant Approve or Request Changes with automated chat activity logging.
- Diff Stats: Additions, deletions, and changed files counters.
- Client-Side
AES-GCM-256Encryption: Secrets are encrypted in the browser using the Web Cryptography API before transmission or storage. - Burn-After-Reading: Recipients can click "Copy & Burn" β the secret is copied to the clipboard and immediately shredded from storage.
- Configurable Time-to-Live (TTL): Self-destruct timers (30 seconds, 1 minute, 5 minutes, 10 minutes).
- Burned Secret Screen: Visual warning modal with the exact timestamp of consumption, sender attribution, and a 1-tap "Ask sender for a new secret" action.
- 2-Step Group Creation Wizard: Add members with instant search and removable chip tokens, name the group, upload a photo, and link a GitHub repository.
- Repository Metadata: Displays repository branch badges (
main#passing) and direct commit/PR shortcuts. - Group Info Drawer: Comprehensive member list with roles (Admin / Member), online indicators, linked repository card, mute options, and leave group action.
- Direct Navigation: Group creation immediately selects and opens the newly formed chat room without blank frames.
- Waveform Voice Recorder: Live microphone recording with pulsing red record indicator, dynamic millisecond timer, frequency waveform animation, trash cancel, and send trigger.
- Interactive Audio Bubble: Playback scrubbers, time remaining, and custom speed toggles.
- Real File & Document Picker: Share
.ts,.py,.json,.pdf,.zip,.tar.gz,.csvwith auto-colored filetype badges and one-click download. - Device Image Picker & Review: Photo selection with pre-send caption composer and fullscreen lightbox viewer with zoom actions.
- Dev-Centric Emoji Drawer: Quick access to standard emojis plus developer essentials (
π,π,β‘,π,π¦,π,π οΈ,π»).
- Start Call Bottom Sheet: 1-tap selection between Voice Session, Video Call, and Pair Programming.
- Voice Sessions: Minimalist caller avatar, mono call timer, pulsing audio waveform bars, and speaker toggles.
- Video Calling: Mobile-first video stage with remote full-screen tile, picture-in-picture self-view, and mute/camera controls.
- Desktop Pair Programming (1024px+):
- Screen Size Guard: Mobile viewports display a responsive guidance modal explaining screen real estate requirements, with a "Copy link to open on desktop" button.
- Pair Studio: Top bar with repository context and timer; left 360px video sidebar; right pane with an integrated shared code editor, file tabs, and live editor presence tags.
- Notifications Center: Filter by All, Mentions, and Reviews. Unread accent dots, amber alerts for burned vault events, and Mark all read action.
- Universal Search Modal: Instant fuzzy search across conversation titles, contacts, and message contents.
- The Ack Mark: A primary
#8B7CFFviolet check with an offset#4E4485echo check, symbolizing "a message sent, then acknowledged". - 3-Phase Animated Splash Screen:
1 Β· Sent(0β300 ms): Echo check fades in.2 Β· Delivered(300β650 ms): Main check draws in over the echo.3 Β· Acknowledged(650β1100 ms): Bold Ack wordmark and "Got it." tagline appear, then smoothly transition into Home.
- PWA Ready: Vector favicons, web manifest, touch icons (
192x192&512x512), and service worker offline caching.
While the frontend experience, developer workflows, and local zero-trust cryptography are complete, the following cloud, backend, and native features are planned for upcoming releases:
| Feature Area | Status | Target Specification |
|---|---|---|
| Cloud WebSocket Mesh | π§ In Progress | Distributed WebSocket server (Node.js/Go) for cross-device real-time sync replacing the local demo state engine. |
| WebRTC Multi-Peer Mesh | π§ In Progress | Turn/Stun server infrastructure to relay live video and pair programming canvas across remote machines without third-party services. |
| Live GitHub App Webhook Relay | π Planned | Serverless webhook endpoint to automatically pipe live GitHub PR comments, commit pushes, and CI action failures directly into linked repo rooms. |
| Passkey / Hardware Security Key Auth | π Planned | FIDO2 / WebAuthn passkey authentication to derive AES encryption keys directly from your YubiKey or Touch ID. |
Terminal CLI Tool (ack-cli) |
π Planned | Send encrypted secrets (ack vault send --burn), trigger PR reviews (ack review pr#42), or notify rooms from CI workflows. |
| Native App Shells | π Planned | Tauri / Electron wrapper for macOS/Linux/Windows and Capacitor wrapper for iOS and Android app stores. |
| End-to-End Key Exchange (Double Ratchet) | π Planned | Signal protocol-style double ratchet key agreement for asynchronous offline messaging between multiple devices. |
Ack uses a bespoke dark theme inspired by code editors and dark interfaces:
| Token Name | Hex Code | Visual Application |
|---|---|---|
--ack-bg |
#0B0B0D |
Master background / canvas |
--ack-surface |
#131316 |
Sidebar panes, input containers, modal bodies |
--ack-surface-2 |
#17171B |
Secondary cards, hovered list items, docks |
--ack-border |
#26262B |
Subtle panel dividers and input borders |
--ack-accent |
#8B7CFF |
Primary action buttons, active checks, links |
--ack-accent-text |
#A99DFF |
Secondary accents, tags, and highlights |
--ack-accent-tint |
#272250 |
Active selected chips and message highlights |
--ack-echo |
#4E4485 |
Behind-the-check brand echo mark |
--ack-text |
#ECECEF |
High-contrast body typography |
--ack-muted |
#9A9AA3 |
Subtitles, timestamps, and placeholder labels |
--ack-success |
#30D158 |
Passing CI builds, online presence indicators |
--ack-warning |
#FFD60A |
Pending PR reviews, amber notification dots |
--ack-danger |
#FF453A |
Burned secrets, failed messages, destructive actions |
WhatsDev/
βββ public/
β βββ favicon.svg # Clean 32x32 Ack check & echo favicon
β βββ icon-192.svg # 192x192 Web manifest & touch icon
β βββ icon-512.svg # 512x512 Master squircle brand icon
β βββ manifest.json # PWA standalone manifest configuration
β βββ sw.js # Service worker for offline asset caching
βββ src/
β βββ components/
β β βββ calls/
β β β βββ StartCallSheet.tsx # Voice / Video / Pair programming selector
β β βββ chat/
β β β βββ BurnedSecretModal.tsx # "Secret burned" warning dialog
β β β βββ ChatList.tsx # Conversations pane & bottom navigation
β β β βββ ChatView.tsx # Message stream, composer, and diff inspector
β β β βββ CodeReviewDrawer.tsx # In-chat pull request diff & review studio
β β β βββ CreateGroupModal.tsx # 2-step group & repository setup wizard
β β β βββ GroupInfoModal.tsx # Team members & linked repo overview
β β β βββ NewChatModal.tsx # Contact picker & quick actions
β β β βββ NotificationsModal.tsx # Filterable notification center
β β β βββ SearchModal.tsx # Universal fuzzy search
β β β βββ SettingsModal.tsx # Profile, encryption keys, and appearance
β β β βββ SignInModal.tsx # GitHub / Email developer auth
β β βββ whatsapp/ # Specialized chat bubbles (code, images, docs)
β β βββ AudioWaveBubble.tsx # Audio voice note player
β β βββ CreateCodeModal.tsx # Syntax-highlighted snippet creator
β β βββ CreateVaultModal.tsx # Ephemeral .env secret creator
β β βββ SplashScreen.tsx # 3-phase animated startup splash
β β βββ VideoCallOverlay.tsx # Audio, video & pair programming workspace
β βββ theme/
β β βββ ack.css # Ack design tokens & animations
β β βββ colors.ts # Typed CSS variable bindings
β βββ utils/
β β βββ crypto.ts # WebCrypto AES-GCM-256 client cipher
β βββ web-db/
β β βββ store.ts # Reactive store with localStorage sync
β βββ App.tsx # Master single-pane / split-pane shell
β βββ index.css # Global resets, scrollbars & typography
β βββ main.tsx # React 19 entrypoint
βββ index.html # HTML5 container & font declarations
βββ package.json # Dependencies, build scripts & metadata
βββ tsconfig.json # TypeScript compiler rules
βββ vite.config.ts # Vite 8 bundling & dev server settings
Ack treats privacy as a non-negotiable engineering primitive:
- Client-Side Key Derivation: Every secret created in a Vault message is encrypted using an ephemeral
AES-GCM256-bit key generated viawindow.crypto.subtle. - In-Browser Decryption: The ciphertext is only decrypted in memory when an authorized recipient renders the secret card.
- Guaranteed Local Shredding: Tapping "Copy & Burn" copies the plaintext to the clipboard, scrubs the memory reference, replaces the stored record with a burned marker, and dispatches a purge event across connected tabs.
- No Server-Side Plaintext: When cloud relays are enabled, the server only ever handles encrypted ciphertext payloads.
- Node.js
>= 18.0.0(Node 20+ recommended) - npm or pnpm
git clone https://github.com/kingenious0/ProjectACK.git
cd ProjectACK
npm installnpm run devNavigate to http://localhost:3000 (or the port output by Vite).
npm run buildCompiles TypeScript and outputs an optimized bundle to dist/ with zero type errors.
We welcome contributions from engineers who care deeply about developer experience, privacy, and performance:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/amazing-feature). - Commit your changes with conventional commits (
git commit -m "feat: add keyboard shortcut for review comments"). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
This project is licensed under the MIT License β see the LICENSE file for details.
Developed with β€οΈ for developers who ship.


