About

About PocketZot

PocketZot is an unofficial DCSS WebTiles client designed for mobile phones in portrait mode.

PocketZot account picker with two saved WebTiles accounts (CDI and CAO) and a guest spectate option
ASCII dungeon map on Dungeon:1 as a Spriggan, with a ball python nearby, HUD, message log, and on-screen touch controls
Full-screen monster description for a deep elf annihilator showing HP, spells, and to-hit, with the virtual keyboard open
Spectator view of a Felid run in Cocytus, rendered in ASCII, with the floating monster list
Spectator view of a Minotaur run in a Gauntlet, rendered in ASCII
Spectator view in the Shoals, rendered with graphical tiles

Swipe to browse screenshots →

Features

Controls

The controls are organized into three tabs: @, >, and ?. While the sorting is not 100% perfect, the mental model is as follows:

Obligatory virtual keyboard also available.

Security

Accounts

"Account" refers to a WebTiles account between you and your DCSS server of choice. PocketZot does not have any sort of accounts of its own, and never stores your credentials.

Password handling

PocketZot only connects over wss:// (an encrypted WebSocket) so your credentials are protected in transit. Every server in the list requires it, with no plaintext fallback. Your password is held only as an in-memory JavaScript variable, just long enough to send {msg:"login", username, password}. It's never written to disk or stored anywhere.

"Resume as …" — what is stored

If the server issues a session cookie, the app stores it in localStorage under a per-{server, username} key. This is what allows you to connect again without entering your credentials, until the session token expires or is revoked.

Logging out sends {msg:"forget_login_cookie", cookie} to the server and removes the local entry, invalidating the token on both ends.

How it was built

Most of the implementation was written with Claude Code, under my direction and review. All product decisions, design, testing, and QA were mine.

The source is available at github.com/pocketzot/pocketzot, licensed under AGPL-3.0-or-later; see ATTRIBUTION.md for its relationship to DCSS.

Feedback

Please send any comments, questions, or bug reports to pocketzot@proton.me.

Support

If you like the app and want to support it, donations are greatly appreciated. Please see the Support page.