M
Mahyar NasiriDeveloper
Back to Projects
CliCompleted2025

DOSSIER

A Mr. Robot-inspired terminal dossier database for creating, viewing, and editing character profiles through a retro interactive CLI.

DOSSIER

Overview

DOSSIER is a terminal-based dossier database inspired by the aesthetics and themes of Mr. Robot. Built with Python and the curses library, it provides an interactive retro terminal interface for creating, viewing, and editing character profiles. Dossiers are dynamically loaded from a structured local data directory, with each subject stored in a dedicated folder containing a JSON profile. The project combines keyboard-driven navigation, ASCII art, persistent local storage, and a menu-driven terminal interface to create the feeling of a private intelligence database.

Key Features

Interactive Retro Terminal UI
Create, View & Edit Dossiers
Keyboard-Driven Navigation
Dynamic Dossier Loading
JSON-Based Local Storage
Subject-Based Directory Structure
ASCII Art Banners
Menu-Driven CLI
Automatic Data Directory Creation

Development Process

Challenges Faced

  1. 01

    Building a fully interactive terminal interface without relying on a graphical UI framework

  2. 02

    Managing keyboard navigation, screen rendering, and terminal state with curses

  3. 03

    Designing a flexible local data structure for dynamically loaded dossiers

  4. 04

    Creating an authentic retro terminal experience while keeping the application practical and easy to navigate

Solutions Implemented

  1. 01

    Used curses to build a stateful terminal UI with interactive menus and keyboard navigation

  2. 02

    Implemented a directory-based JSON storage model where each subject owns an independent profile

  3. 03

    Added dynamic filesystem scanning so dossiers can be discovered without hardcoding subjects into the application

  4. 04

    Integrated pyfiglet-powered ASCII banners and terminal-focused interaction patterns to reinforce the project aesthetic