Skip to content

damkandev/whatkind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

whatkind

WhatsApp Web client optimized for e-ink devices (Kindle). Built with Python, FastAPI, HTMX, and neonize.

Features

  • 📱 Multi-user sessions — Each user links their own WhatsApp via QR
  • 📖 E-ink optimized UI — High contrast, large fonts, no animations
  • Lightweight — Pure HTML + HTMX, no heavy JS frameworks
  • 💬 Real-time messaging — Send & receive text messages
  • 🔒 Session isolation — Each user gets their own WhatsApp client & data

How it works

Each user visiting the web app gets a unique session cookie. On first visit, a WhatsApp client (via neonize) is created for that session with its own SQLite database. The user scans a QR code with their phone to link their WhatsApp, and from there they can view chats and send/receive messages — all through an e-ink friendly interface.

Quick Start

Prerequisites

  • Python 3.10+
  • A device on the same network to access the web UI (e.g., a Kindle)

Setup

# Clone the repo
git clone https://github.com/damkandev/whatkind.git
cd whatkind

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run
python main.py

The server starts on http://0.0.0.0:8000. Open it from your Kindle or any browser on the same network.

Usage

  1. Open http://<your-ip>:8000 on your device
  2. Wait for the QR code to appear
  3. Open WhatsApp on your phone → Settings → Linked Devices → Link a Device
  4. Scan the QR code
  5. Start chatting!

Project Structure

whatkind/
├── main.py                          # Entry point — starts FastAPI server
├── requirements.txt                 # Python dependencies
├── internal/
│   ├── session.py                   # Per-user session management
│   ├── server/
│   │   └── app.py                   # FastAPI routes (session-aware)
│   └── whatsapp/
│       └── client.py                # Neonize client factory (per-session)
├── templates/                       # Jinja2 HTML templates (e-ink optimized)
│   ├── base.html
│   ├── index.html                   # QR login page
│   ├── chats.html                   # Chat list
│   ├── chat.html                    # Chat detail / messaging
│   └── partials/                    # HTMX partial templates
└── sessions/                        # Auto-created session SQLite DBs (gitignored)

Tech Stack

Component Technology
Backend FastAPI
WhatsApp neonize
Frontend HTML + HTMX
Templates Jinja2
QR Codes qrcode

Roadmap

  • 👥 Group chats support
  • 🖼️ Convert stickers to images and display in chats
  • 🎙️ Transcribe audio messages and display as text
  • ✏️ Edit contact names
  • 🔄 Sync previous chat history
  • 🚀 Deploy to production

License

MIT — see LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors