Inchat - Zero-Dependency Secure Chat
A full-featured chat server built using ONLY Python Standard Library.
Technologies Used
Challenge
Building a modern chat application usually requires heavy frameworks (Django/Flask) and external dependencies. The challenge was to create a robust, secure messenger with Voice and Video notes capabilities using *nothing* but Python's built-in modules, ensuring persistence and concurrency without `pip install`.
Solution
I utilized Python's `http.server` and `socketserver` with `ThreadingMixIn` to handle concurrent requests. The frontend is a Single Page Application (SPA) served as a string, using Vanilla JS. Key achievements include implementing Client-Side Encryption (Web Crypto API) so the server never sees raw text, and building a custom media handler for circular "Video Notes" and voice messages using the MediaRecorder API.
Key Features
- Zero External Dependencies
- End-to-End Encryption
- Video & Voice Notes
- Threaded Polling System
Project Process
Phase 1: Core Server
Implementing a custom HTTP handler using `http.server` and setting up SQLite.
Phase 2: Security
Implementing PBKDF2 and AES-GCM encryption in JS and Python fallback logic.
Phase 3: Media Handling
Adding support for Voice recording and circular Video Notes (blob handling).
Phase 4: UI/UX
Building a responsive interface with Dark Mode and Swipe-to-Reply.
Results
Screenshots
Links
Have a similar project?
Let's discuss your product strategy and execution.
Request Free Consultation