Productivity Tools

These apps are small, focused tools for structured thinking, creative work, and personal knowledge management. Each one is designed around a specific workflow: outlining an idea, tracking writing progress, managing projects, or turning scattered effort into visible momentum.

The emphasis is on lightweight, local-first software that respects the user’s attention. These are not platforms pretending to be ecosystems. They are practical tools for people who make things, organize complexity, and need software that helps rather than supervises.

Personal Project Portfolio

A lightweight command center for managing creative and technical work.

Personal Project Portfolio

Personal Project Portfolio is a minimalist desktop application for managing, scheduling, and executing work across a portfolio of creative and technical projects. Built for a single user, it helps writers, developers, researchers, and independent makers organize active work, plan focused sessions, track milestones, and review weekly progress without turning personal work into corporate theater.

The application is intentionally lightweight, local-first, and direct. It is designed for people managing multiple parallel projects who need a fast operational view of what matters, what is moving, and what needs attention next.

Documentation and code

Key Features

  • Manage a portfolio of creative and technical projects from a single desktop dashboard.
  • Track project status using traffic-light indicators, scores, weekly session totals, and upcoming milestones.
  • Organize projects across active, backlog, and archive states.
  • Prioritize projects using a simple 1-5 ordering system.
  • Schedule time-boxed work sessions linked to projects, milestones, and calendar weeks.
  • Track a configurable weekly work budget with planned, completed, and remaining session time.
  • Define outcome-based milestones and move them through a full lifecycle from backlog to done.
  • Write per-project planning notes in Markdown.
  • Preview Mermaid diagrams directly inside project plan documents.
  • Complete structured weekly reviews and browse prior reflections.
  • Use configurable scoring based on session completion and milestone progress.
  • Auto-save all changes immediately without requiring manual save actions.
  • Launch from a macOS Dock shortcut using a native .app bundle.

Supported Formats

  • Markdown (.md): Create and maintain per-project plan documents using plain-text Markdown.
  • Mermaid: Preview diagrams embedded in project planning documents.
  • TOML: Configure application settings such as theme, log level, session duration, weekly budget, and database path.
  • SQLite database: Store portfolio, project, milestone, session, and review data locally.
  • MkDocs documentation: Publish and maintain project documentation as a static documentation site.

Use Cases

  • Managing a personal portfolio of books, apps, tools, essays, and research projects.
  • Planning focused work across multiple creative and technical commitments.
  • Scheduling time-boxed work sessions for deep work.
  • Tracking project momentum without needing a full team-oriented project management system.
  • Reviewing weekly progress and deciding what deserves attention next.
  • Balancing active work against backlog ideas and archived projects.
  • Supporting independent studio, solo developer, consulting, or publishing workflows.

Status: Beta

Progress Tree

A structural snapshot of what your codebase has become.

Progress Tree is a lightweight command-line tool for quickly understanding the structure and size of a software project. It recursively scans a repository, generates a clean ASCII directory tree, counts files, directories, and lines of code, and produces a timestamped report. It is particularly useful in AI-assisted development, where a codebase can expand rapidly and developers need a simple way to see what has actually been created rather than trusting the coding agent’s increasingly optimistic account of events.

Documentation and code

Key Features

  • Generate a recursive ASCII tree showing the structure of a repository.
  • Count directories, files, and total lines of code to provide an immediate measure of project size.
  • Create timestamped reports that capture the state of a project at a particular point in development.
  • Filter generated files, virtual environments, build artifacts, version-control data, and other noise using Gitignore-style patterns in tree_ignore.txt.
  • Skip line counting when a faster structural scan of a large repository is needed.
  • Display configurable progress updates while scanning larger projects.
  • Use custom input directories, output locations, ignore files, and logging levels from the command line.
  • Safely skip symbolic links while traversing the filesystem.
  • Run with zero runtime dependencies beyond the Python standard library.
  • Use the scanning and reporting components programmatically through the Python API.

Supported Outputs

  • ASCII Tree: A hierarchical representation of project directories and files using box-drawing characters.
  • Project Metrics: Directory count, file count, total lines of code, and scan duration.
  • Timestamped Text Report (.txt): A persistent snapshot combining repository structure and project metrics.
  • Standard Output: Reports can be printed directly to the terminal for interactive use, scripting, piping, or inclusion in AI development workflows.
  • Python API: TreeScanner, ScanResult, metrics, and ReportBuilder provide structured access for integration into other Python tools and automation.

Use Cases

  • Understanding the structure of an unfamiliar repository
  • Taking structural snapshots during software development
  • Tracking how rapidly a project is growing
  • Reviewing repositories produced or expanded through AI-assisted coding
  • Identifying unexpected files, directories, or generated artifacts
  • Measuring files and lines of code across development milestones
  • Creating compact repository maps for use as LLM or coding-agent context
  • Filtering repository noise before inspecting or analyzing a codebase
  • Generating lightweight project inventories for documentation, review, or handoff

Progress Tree is deliberately narrow in scope. It does not analyze code quality or attempt to help write software. Its purpose is more fundamental: show what is actually there, how large it is, and what can safely be ignored. In that sense, it functions as infrastructure for understanding a codebase rather than another layer of development automation.

Status: Version 1.0.0