All Projects
Mid-Core / System Developer Tooling

DevSelfie

CLI Tool

01 — Project Overview

DevSelfie is a terminal application that converts your local and remote coding productivity into stylized terminal-based ASCII art.

Systems Engineer

Stack

GoGit
Private / Offline GitHub ↗

02 — The Problem

Goal

To create a unique, personalized visualization of a developer's coding habits without relying on web-based dashboards.

User Issue

Standard commit graphs are flat and lack personality. Developers spend all day in the terminal and need native tooling.

03 — The Process

01

Golang Selection

Chosen for its unparalleled CLI ecosystem, static binary compilation, and exceptional I/O performance.

02

Local File Parsing

Decided to directly parse .git/logs/HEAD to ensure zero-latency heuristic extraction.

Key Challenge

Synchronizing and chronologically normalizing local file system logs with remote GitHub PushEvent datagrams across different time zones.

snippet
scanner := bufio.NewScanner(file)
for scanner.Scan() { /* Temporal aggregation */ }

04 — The Solution

Built a dual-engine architecture: a local lexical parser for git object models, and a stateless REST client for remote telemetry, outputting rich ASCII graphics.

DevSelfie Terminal ASCII output

05 — Results & Learnings

Impact

Created a highly performant, single-binary CLI tool that generates instant, personalized developer badges right in the standard output stream.

Learnings

Low-level file system traversal in Go is incredibly fast, and building native CLI tools provides unique UX opportunities.

What I'd do differently

Add a TUI (Terminal User Interface) layer for interactive exploration of the data.