Skip to content
kingenious0Public

Latest commit

Β 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Ack β€” Got it.

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.

GitHub Stars GitHub Forks Ack Theme Vite 8 React 19 AES-GCM WebCrypto Sponsor Project Ack

developer-tools code-review e2ee react typescript zero-trust

Try Ack Live

πŸ‘‰ Open Web App Live (No install required)

Ack Home Screen Β  Ack Conversation View Β  Ack Code Diff Review


🎯 What Problem Does Ack Solve?

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.

1. The Context Switching Tax

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.

2. The Persistent Secret Hazard

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.

3. Notification Noise & Bloat

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.


πŸš€ System Capabilities: What We Have (Shipped βœ…)

Ack is structured as a complete, functional developer communication platform with rich local persistence and client-side encryption.

1. In-Chat Code Reviews & Diff Inspection (PR Cards)

  • 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.

2. Zero-Trust Ephemeral .env Vaults

  • Client-Side AES-GCM-256 Encryption: 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.

3. Groups, Repositories & Incident Rooms

  • 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.

4. Developer Media & Voice Notes

  • 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, .csv with 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 (πŸš€, πŸ›, ⚑, πŸ”’, πŸ“¦, πŸ™, πŸ› οΈ, πŸ’»).

5. Calls & Desktop Pair Programming

  • 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.

6. Notifications & Global Search

  • 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.

7. Brand Identity & Splash Screen

  • The Ack Mark: A primary #8B7CFF violet check with an offset #4E4485 echo 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.

🚧 Roadmap: What We Don't Have Yet (In Progress & Planned)

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.

🎨 Design System & Color Tokens

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

πŸ›οΈ Architecture & Directory Layout

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

πŸ”’ Security Architecture: Zero-Trust by Design

Ack treats privacy as a non-negotiable engineering primitive:

  1. Client-Side Key Derivation: Every secret created in a Vault message is encrypted using an ephemeral AES-GCM 256-bit key generated via window.crypto.subtle.
  2. In-Browser Decryption: The ciphertext is only decrypted in memory when an authorized recipient renders the secret card.
  3. 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.
  4. No Server-Side Plaintext: When cloud relays are enabled, the server only ever handles encrypted ciphertext payloads.

πŸ› οΈ Local Development & Quickstart

Prerequisites

  • Node.js >= 18.0.0 (Node 20+ recommended)
  • npm or pnpm

1. Clone & Install

git clone https://github.com/kingenious0/ProjectACK.git
cd ProjectACK
npm install

2. Start Local Development Server

npm run dev

Navigate to http://localhost:3000 (or the port output by Vite).

3. Production Build

npm run build

Compiles TypeScript and outputs an optimized bundle to dist/ with zero type errors.


🀝 Contributing

We welcome contributions from engineers who care deeply about developer experience, privacy, and performance:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/amazing-feature).
  3. Commit your changes with conventional commits (git commit -m "feat: add keyboard shortcut for review comments").
  4. Push to the branch (git push origin feature/amazing-feature).
  5. Open a Pull Request.

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

Developed with ❀️ for developers who ship.

Releases

Sponsor this project

Packages

Contributors

Languages