← Projects

Image Processing Application

Developed a desktop image editor using Java, following strict object-oriented design principles and the Model-View-Controller architecture. The application allowed users to load, edit, and save images with a variety of filters and transformations.

Key Skills Demonstrated

  • Designed and implemented a clear separation of concerns using the MVC pattern to organize the application's logic, UI, and data processing layers.
  • Built core image manipulation features including brightness adjustment, grayscale, inversion, and basic filtering operations.
  • Developed flexible image processing pipelines that could be extended with additional filters and transformations.
  • Applied object-oriented design best practices such as encapsulation, abstraction, and polymorphism to promote maintainability and scalability.
  • Handled file I/O for loading and saving various image formats to support user workflows.

Project Insights & Learnings

This was one of my first large-scale projects, giving me valuable hands-on experience applying object-oriented design beyond classroom exercises. Building a full GUI application also helped me think carefully about usability, code organization, and long-term extensibility.

The experience laid a strong foundation for many of the larger software projects I tackled later in my academic and professional career.