Inspiration

Let’s begin with a short confession: I suck at photography. Like, really bad. Every time I try to take a picture of my wife, it somehow ends up with a chopped head, weird perspective, or that lovely “is this person okay?” vibe.

I tried to learn photography, but nothing changed. I just can’t catch all the necessary details. I realized that not everyone is born a photographer when I talked to my friends and their partners — some of them had exactly the same problem. And since I’m a developer, I thought: why not let an AI help us out? It won’t create a world-class photo, but it can make it good enough to be shown to others.

What it does

With some computation, computer vision, and custom ML models, the app helps users take better shots by checking common photo mistakes such as cropped body parts, closed eyes, bad composition, and awkward perspective.

The paid part of the app fine-tunes the model to follow the user’s subjective “good” examples and adapt the score to what matters most in their photos.

How I built it

I got this idea about two years ago, after being unable to take a single good photo of my wife during our vacation. I needed a huge dataset — and it wasn’t easy to build. At first, I made a very simple prototype that used the camera to check whether a photo was good, based on just 100 “acceptable” and “unacceptable” images.

I tried several times to collect more photos for the dataset, but my sweet procrastination (and a heavy workload at my main job) kept me from succeeding. Recently, I heard about this hackathon and thought it could actually make me push forward.

First, I realized I could check some parameters without my custom AI model. So I used Apple’s Vision framework to detect cropped body parts. Then, I started computing “golden ratio,” “rule of thirds,” brightness, and other features directly with CV.

Meanwhile, I found datasets of people’s photos and augmented them heavily. While developing (in just one month), I kept adding features as they came to mind.

Challenges I ran into

As someone diagnosed with ADHD, I struggled to stay consistent with the project, especially because of the dataset problem. I asked many people to help me collect examples, but it was almost impossible — even my recent question on a popular forum got quite a critical reaction. Many skilled photographers don’t like the idea of AI helping to take photos.

Accomplishments that I'm proud of

The fact that I’ve built this at all is something I consider worth being proud of. Having it running on my phone and actually helping me is inspiring, and it gives me motivation to move forward with all my other pet projects.

What I learned

I’ve never worked so closely with Vision before, nor used data augmentation to distinguish “good” from “bad” photos. It taught me a lot about combining rule-based CV with ML models.

What's next for Better Angle

I would like to add support for all camera features such as zoom, manually controlled focus, and portrait effects. I also want to support multi-person photos and make the photo rating process (and other personalization features) more relevant to the user through feedback analytics.

Built With

Share this project:

Updates