← Back to Portfolio

Software Development

Desktop and web applications built from scratch

Python CustomTkinter Pillow JavaScript HTML/CSS Canvas API LocalStorage Desktop & Web Apps

A collection of software tools built to solve real, everyday problems. These projects span desktop GUI applications and standalone web apps, each designed with a focus on usability, clean interfaces, and practical functionality. They demonstrate proficiency in both Python and JavaScript ecosystems, from image processing and GUI development to interactive data visualization.

[ Carousel Generator screenshot placeholder ]

Instagram Carousel Generator

Desktop Application — Python
Python CustomTkinter Pillow Image Processing GUI

A desktop application for creating polished Instagram carousel slides from images and text. Features multiple visual themes (Lifestyle, Corporate, and more), automatic background brightness detection for optimal text contrast, font management, watermarking, and live preview. Built with CustomTkinter for a modern GUI and Pillow for image compositing and rendering.

Key Features

  • Multiple theme presets with adaptive brightness-aware color schemes
  • Rich text formatting with title, subtitle, and body text layers
  • Automatic EXIF-aware image orientation handling
  • Live canvas preview with real-time slide editing
  • Batch export of multi-slide carousels as individual images
  • Customizable watermarks and font sizing
[ Time Tracker screenshot placeholder ]

Time Tracker

Standalone Web Application — JavaScript
JavaScript HTML/CSS Canvas API LocalStorage

A single-file web application for tracking how time is spent throughout each day. Features an hourly activity logger, a full-year heatmap visualization rendered on HTML Canvas, analytics with category breakdowns, and customizable activity categories. All data is stored in the browser via LocalStorage, requiring no server or database.

Key Features

  • Hour-by-hour daily activity logging with color-coded categories
  • Year-at-a-glance heatmap rendered on HTML Canvas (24 hours x 365 days)
  • Analytics dashboard with time distribution and visual breakdowns
  • Custom categories with user-defined names and colors
  • Weight tracking integrated into daily logs
  • JSON backup and restore for data portability