// C++
Photo Editor
- shipped
- 2024
Command-line image processing app in C++ for JPEG load/manipulate/export. Implements Gaussian blur, grayscale, Sobel edge detection, mirroring, sepia, color inversion in a clean OOP architecture.
- C++
- OOP
- CMAKE
A command-line image processor I built to learn JPEG internals the hard way. It implements its own JPEG load/manipulate/export pipeline without external image libraries, then layers classical computer-vision operators (Gaussian blur, Sobel edge detection) and stylisation filters (sepia, grayscale, color inversion) on top. The architecture is split into an Image class, per-filter strategy classes, and a CLI parser, which made it easy to add new filters as I learned them.
Highlights
- Hand-rolled JPEG load/manipulate/export pipeline without external image libraries
- Gaussian blur, Sobel edge detection, sepia, grayscale, mirroring, color inversion
- OOP architecture: Image class + per-filter strategy classes + CLI parser
Challenges
- Implementing JPEG decoding well enough to round-trip files without visible drift
- Choosing convolution kernels and stride values that look correct on real photos, not just test images
What I learned
- Image formats are not magic — DCT + quantisation + Huffman is enough to know why JPEG artefacts look the way they do
- Strategy pattern keeps filter pipelines easy to extend and benchmark
// more work
Other projects
- HelloMedHospital management web platform with AI-assisted recommendation features using LLM-powered workflows, relational schema and validation logic.
- AI Function ValidatorEnd-to-end AI function-calling simulator. Natural language → structured JSON tool calls → validation → SQL execution → dataset quality analysis. Includes a multi-layer validation engine (JSON schema, type check, registry enforcement, SQL injection detection) and analytics dashboard.
- ClassOSClassroom attendance platform powered by FastAPI + PostgreSQL with computer-vision pipelines using OpenCV, deployed on Raspberry Pi.