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
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)
- Run suggester to generate sender list
- Show suggested addresses file and quick review/edit
- Run cleanup in dry-run mode
- Run execute mode and show successful deletion summary
More Projects Coming Soon
Check back regularly to see new projects as I continue to build and learn!