Projects

Selected work

Each project is written as a practical case study: the problem, the solution, the tools, and the result.

GoPowerShellGitHub ActionsWindows Task SchedulerINI Configuration

File Maintenance Automation Tool

Built to reduce repetitive manual file maintenance work by automating cleanup and backup behavior through a configurable workflow. The project focuses on safe file handling, runtime limits, file-age based processing, cross-platform structure, automated release builds, and maintainable documentation.

Highlights

  • Built configurable cleanup and backup behavior using an INI-based setup
  • Added runtime limits and file-age checks to control how files are processed
  • Designed a platform abstraction for Windows, Linux, and macOS support
  • Added automated tests around the core file-processing behavior
  • Set up a GitHub Actions workflow to test, build, archive, and publish release artifacts
  • Embedded version, commit, and build-date metadata into release binaries
  • Documented setup, configuration, scheduled execution, and release behavior
GoCobraViperFuzzy FinderGitHub ActionsGitHubCLI Tools

Backdrop CLI Wallpaper Manager

Helped build and maintain Backdrop, an open-source command-line wallpaper manager written in Go. The project provides terminal-based wallpaper management, including wallpaper selection, custom image directories, slideshow support, and setting wallpapers from image URLs. I also helped set up GitHub Actions workflows for release automation and format verification, strengthening my experience with open-source collaboration, CI/CD, and practical developer-facing CLI tooling.

Highlights

  • Contributed to an existing open-source Go codebase
  • Worked on a practical command-line tool used to manage desktop wallpapers
  • Supported terminal-based workflows for selecting and setting wallpapers
  • Set up GitHub Actions release automation for packaged Linux and Windows builds
  • Added PR format verification to help keep Go code formatting consistent
  • Used Git and GitHub workflows to collaborate on project changes
  • Improved experience with CLI structure, project organization, and maintainability
Node.jsExpressReactPrismaMongoDBCodat APIJWTJavaScript

Portfolio Manager Capstone

Worked on the backend side of a capstone portfolio management application designed to support startup and investor workflows. My work focused on creating the database structure, building backend API functionality, connecting frontend workflows to backend services, and supporting a Codat integration for financial data such as profit-and-loss and balance sheet information.

Highlights

  • Worked on the backend API structure for a full-stack capstone application
  • Created database models for users, investors, startups, posts, cap table data, and related portfolio information
  • Helped connect frontend workflows with backend API routes
  • Supported authenticated backend routes using JWT-based access control
  • Built integration logic for retrieving financial data through the Codat API
  • Handled backend support for startup profiles, investor relationships, cap table data, KPIs, and financial reporting views
PythonGoogle Sheets APIgspreadCSV ProcessingJSON ConfigurationAutomation

Auto Finance Processor

Built to automate personal finance tracking by converting monthly bank CSV exports into structured Google Sheets records. The project uses configurable rules to categorize transactions, sends each month to the correct worksheet, avoids reprocessing files that were already handled, updates summary information, and archives completed files for traceability.

Highlights

  • Automated transaction import from monthly bank CSV files
  • Applied custom categorization rules using configurable JSON settings
  • Uploaded categorized transactions into month-specific Google Sheets tabs
  • Prevented duplicate processing by tracking completed files
  • Updated yearly summary information from spreadsheet data
  • Archived processed CSV files into year-based Completed folders
  • Protected local configuration and service-account credentials through ignored files