FROM PUBLIC REPOSITORIES

01 / TECHNOLOGY STACK

Tools I use to build things.

The languages, tools, and libraries I use across my projects. No arbitrary percentage bars or buzzwords — just the stack backed by actual code in my public repositories.

02 / QUICK INDEX & FILTER

Browse by layer.

K

03 / LANGUAGES

The languages behind my projects.

A practical look at where and why I use each language.

SQLSTORAGE & SCHEMAS

SQL / SQLite

Writing structured queries, schema indexes, and relational ledgers for forensic case events and timeline reconstruction.

structured queries · WAL mode · event indexing · forensic schemas
BASHSYSTEMS

Bash

Small shell scripts for environment checks, setup automation, and diagnostics.

bootstrap scripts · platform tooling · release helpers
JAVASCRIPTAUTOMATION

JavaScript / Node.js

Browser automation scripts, lightweight web interfaces, and earlier automation bots.

event-driven automation · media bridge · web runtime

04 / RUNTIME & AUTOMATION

Where the code meets a real runtime.

Libraries and runtimes I rely on to drive automation workflows.

PLAYWRIGHTBROWSER

Playwright

Drives headless Chromium in Astra Engine for reliable WhatsApp Web automation.

browser automation · async workflows · Chromium
ASYNCIOPYTHON

Async Python

Used across Astra and my other Python tools for non-blocking I/O and concurrent event handling.

event loop · async handlers · typed APIs
CLIWORKFLOWS

Command-line tooling

TraceForge is built as a command-line interface with subcommands, progress indicators, and structured output.

commands · case workspaces · diagnostics · reporting

05 / DATA

Data systems used where they fit.

Storage choices picked to fit each project: embedded databases for local tools, document stores for session data.

SQLITELOCAL

SQLite

My go-to choice for local storage. No separate database server to configure or keep running.

local persistence · zero-service setup
MONGODBDOCUMENT

MongoDB

Used in earlier Node.js automation bots where storing chat history and session tokens as JSON was straightforward.

sessions · persistent state · cloud URI support
SQLFUNDAMENTAL

SQL

Basic relational queries for managing structured data and filtering records.

queries · relational thinking · local databases
AIOSQLITEASYNC

Async SQLite

Non-blocking database operations in Python so the event loop never hangs during disk writes.

async data access · Python

06 / ENGINEERING TOOLING

The tools that keep projects maintainable.

The linters, test runners, and packaging tools I use to keep code clean and working.

TOOLROLEPROJECT EVIDENCE
Git / GitHubsource control · issues · releasespublic repositories
pytesttestingTraceForge / Astra development configs
Rufflinting / formattingAstra development tooling
mypystatic typingAstra development tooling
setuptoolsPython packagingTraceForge / Astra package metadata
PyPIpackage publishingTraceForge package
Sphinx / ReadTheDocsdocumentationTraceForge / Astra docs
build / twinerelease workflowPython package development
openpyxl / python-docxreporting exportsTraceForge optional reporting deps

07 / SECURITY & INVESTIGATION

Security & investigation tooling.

The tools, formats, and workflows I use for security labs and incident triage.

TRACEFORGEMAIN PROJECT

OSINT & DFIR Tooling

Local investigative workflows for IOC extraction, evidence hashing, timeline processing, filesystem baselines, case management, and structured threat reports.

IOC extractionevidence hashingtimeline processing filesystem baselinescase managementSTIX 2.1 / MISP
View TraceForge on GitHub ↗
01Build first

Writing real tools is the best way to understand how systems work.

02Keep it honest

Focus on what I've actually built and tested rather than inflating skills.

03Keep learning

The stack evolves as I explore deeper into systems and security.

KALI LINUXSECURITY LAB

Kali Linux

My primary virtualized testbed for defensive triage, CTF labs, network packet inspection with tshark and Wireshark, and offline DFIR auditing.

DFIR lab · packet capture · tshark · system forensics · triage testbed
MACOSDAILY WORKSTATION

macOS (Apple Silicon)

My daily engineering environment. Unix zsh shell, native Python development, local container tooling, and terminal workflow optimization.

Darwin arm64 · native zsh · Homebrew · local developer environment

08 / PRACTICE

How I pick technologies.

A few simple principles behind how I choose tools for projects.

01

Right tool for the job

Python for workflows and rapid iteration; multiprocessing and streaming I/O when processing large files.

02

Local-first by default

Security and investigation tools should keep case data on your machine, not in third-party clouds.

03

Document everything

Good READMEs, clear setup instructions, and clean code comments are part of the work, not an afterthought.

04

Keep it simple

Avoid unnecessary dependencies or complex infrastructure when a simple script or SQLite file does the job.