About & credits

Nika's Server is a personal web app: a chat room, a file drop and a small admin panel, all running on hardware I own.

How it is hosted

MachineA Windows PC at home, kept awake while the site is up
ApplicationPython 3 + Flask, listening only on 127.0.0.1:8090
Public entryCloudflare Tunnel (outbound connection only — no open router ports)
Domainnikaez.site, registered at Namecheap, DNS on Cloudflare
StorageJSON files in chattingchatlogs/, uploads in uploads/

Platform & architecture

The server renders pages with Jinja templates and exposes a small JSON API for chat and file operations. The browser polls that API for new messages, so no WebSocket infrastructure is needed. Accounts use Flask's signed session cookie; passwords are hashed with Werkzeug's PBKDF2 implementation.

Uploaded files are renamed to random identifiers on disk, and every read goes through an ownership/visibility check. Nothing in the uploads folder is served directly by path.

Credits

Design & developmentNika
Built withPython, Flask, Werkzeug, Jinja, plain CSS and JavaScript
TunnellingCloudflare Tunnel (cloudflared)
FontsSystem UI fonts only — nothing loaded from third parties

Reporting something

Use the Report / rate button in the footer on any page. Reports go straight to the admin's log, and you do not need an account to send one.