Thor Labrum

Projects & Portfolio

My Projects

A collection of software projects showcasing my development skills and interests.

Go Terminal Game

Technologies: Go, WebAssembly, JavaScript

An interactive game built with Go and compiled to WebAssembly, demonstrating proficiency in:

  • Go programming and concurrent programming patterns
  • WebAssembly compilation and browser integration
  • Game logic and state management
  • JavaScript/Go interoperability via syscall/js

Features

  • Runs directly in the browser via WebAssembly
  • Real-time interactive gameplay
  • Efficient Go routines for game mechanics
  • No server required - pure client-side execution

Status: In Development

Play Now View on GitHub

Inbox Cleanup Assistant

One-Liner: Python-based email automation tool that analyzes inbox activity, suggests high-volume senders, and performs safe bulk cleanup through an IMAP workflow.

Problem

My inbox had thousands of emails, and manually finding repeat senders to clean up was slow and inconsistent.

Solution

I built a two-step CLI system:

  • Address Suggester: scans inbox headers and ranks frequent senders
  • Cleanup Engine: deletes messages involving approved addresses, with dry-run safety by default

Key Features

  • Sender-frequency analysis from IMAP headers
  • Sender-only suggestion logic (no TO/CC noise)
  • Domain exclusion rules (e.g., ignores missionary.org)
  • Multithreaded processing for large inboxes
  • Safe execution model: suggest → review → execute

Technical Stack: Python, IMAP (imaplib), concurrent.futures, argparse, logging

Impact

  • Processed ~6,000 inbox messages
  • Reduced cleanup workflow from manual hours to minutes
  • Improved scan speed with multithreading (3–4x faster vs single-threaded)

Challenges & Engineering Decisions

  • Gmail authentication required app-password flow and clearer user guidance
  • IMAP thread safety required one connection per worker thread
  • Performance improved by switching from full-message fetches to header-only fetches

Demo Script (30–45 sec)

  1. Run suggester to generate sender list
  2. Show suggested addresses file and quick review/edit
  3. Run cleanup in dry-run mode
  4. Run execute mode and show successful deletion summary

View on GitHub

More Projects Coming Soon

Check back regularly to see new projects as I continue to build and learn!