Post

Shapeify – My AI Final Project Turned Passion Project

Recreate your images with simple shapes and local search algorithms

Shapeify – My AI Final Project Turned Passion Project

Shapeify – My AI Final Project Turned Passion Project

For my final AI class project, I wanted to go beyond the standard requirements and create something that truly excited me — especially something related to computer graphics.

I developed Shapeify, an application that takes a set of input images and reconstructs any target image using those images. It leverages local search algorithms, such as hill climbing and genetic algorithms, to optimize the reconstruction.

After passing the AI final exam, I felt so passionate about the project that I spent the entire summer continuing to develop it. It became the biggest project I’ve worked on so far, and it taught me an incredible amount — particularly in the areas of computer graphics and artificial intelligence.

Video

GitHub Itch.io download link

🧠 Skills I Gained

Here are some of the many skills and technologies I learned while building Shapeify:

🧱 Graphics & Rendering

  • Explored Godot’s low-level rendering pipeline
  • Built a custom batched sprite renderer
  • Developed a variety of compute shaders, including:
    • Gaussian Blur
    • Sobel Operator and Difference of Gaussians for edge detection
    • Parallel reductions for summing image pixels
    • Average color samplers (multiple strategies)
    • Error metrics between images using Delta-E and CIELAB color space for perceptual accuracy

🤖 Artificial Intelligence

  • Integrated local search algorithms (hill climbing, genetic algorithms) into an image-based optimization problem
  • Tuned AI behaviors for artistic and perceptual objectives

🛠️ Tool & UI Development

  • Built a large, customizable UI system in Godot
  • Developed the app into a full standalone desktop tool
  • Added support for animations and post-processing effects, including:
    • Hue, Value, and Saturation Shifts
    • RGB Shift
    • CIELAB Shift

📝 Professional & Collaboration Skills

  • Wrote a whitepaper detailing the algorithms and techniques used
  • Published and maintained the app on GitHub
  • Tested across platforms (Windows & Linux)
  • Engaged with the community and collaborated through GitHub

Some samples!

This post is licensed under CC BY 4.0 by the author.