PRANAV.GEngineer · Builder · Privateer
Black Flag
PROJECTS LOGBOOK

PROJECT 06 OF 06

Loopback only utility

Local job control

Discordify

Turn a destructive cleanup into a job someone can preview, monitor, stop, and understand before it touches their message history.

Built for
People cleaning up messages from their own Discord account
My role
Utility design, API client, job engine, and local interface
PRODUCT INTENT
  1. 01
    INPUTA cleanup scope and filters
  2. 02
    SYSTEMA previewable, throttled local job
  3. 03
    OUTCOMEVisible progress with a stop control

Repository grounded case study. No staged product demo.

The product starts with the problem.

Bulk deletion is not a single button problem. Search scope, filters, rate limits, retries, progress, and cancellation all matter. Discordify makes that operational state visible instead of hiding it inside a script or browser extension.

Three jobs, one clear promise.

These are the product outcomes the repository is organized to deliver.

01

Know the scope first

Users can target one server, direct messages, all servers, every reachable source, or exact message links and IDs.

02

Preview before deletion

The same search and filtering path can run without deleting so a user can inspect what would match.

03

Operate the job

Progress, current target, throttling, failures, bounded logs, and an abortable stop request stay visible while work runs.

How the idea becomes useful.

A short path from the user’s starting point to a useful result.

  1. 01

    Validate the local session

    A user supplied Discord authorization token identifies the account for that local run.

  2. 02

    Choose scope and filters

    Date, content, regular expressions, links, files, pinned messages, and exact targets narrow the search.

  3. 03

    Run a preview

    Matching messages and target estimates can be inspected before a destructive job begins.

  4. 04

    Monitor or stop

    The local job manager tracks requests, waits through rate limits, retries within bounds, and can abort active work.

The choices that define the product.

Architecture matters here because each constraint changes what a user can safely believe or do.

Loopback only server

The Node server binds to 127.0.0.1 so the interface is not presented as a remotely hosted account service.

Explicit job state

Queued, running, stopping, stopped, completed, and failed states make the cleanup lifecycle inspectable.

Small dependency surface

The runtime uses built in Node HTTP, fetch, files, and crypto APIs without production package dependencies.

Evidence, not feature theatre.

Each point below comes from the current repository structure, code, or documented reference data.

0

Runtime packages

The package manifest declares no production or development dependencies.

5

Cleanup scopes

Selected sources, all DMs, all servers, every source, and exact targets cover the job model.

127.0.0.1

Server boundary

The interface is intentionally served only on the local machine.

Node.jsDiscord RESTJob controlLoopback HTTP

HONEST BOUNDARIES

What this product is not.

  • Discordify requires a Discord authorization token and handles destructive actions against the user’s own messages.
  • Discord rate limits apply, and this workflow may conflict with Discord’s rules or change when its private client API changes.
  • The project is designed for local operation and should not be exposed as a public hosted service.
NEXT PROJECT

Fin Lab

A strategy lab that keeps the assumptions and the money visible.

View project