A few years ago I sent a landing page design to a client after spending three days on it. The feedback I got back was: "something feels off."
That is it. Nothing about what specifically felt off. Not which section. Not which element. Just a general sense of wrongness that I was supposed to interpret and fix.
I went back to the design and stared at it for another two hours. Changed the font weight. Moved a button. Adjusted the hero spacing. Sent it back. Got the reply: "much better, thank you."
I still do not know what I actually fixed.
That experience stuck with me. Not because it was the worst feedback I ever received, but because it was the most common. Vague reactions to visual work are the norm in the design industry. Clients say things like "make it pop" and "it needs more energy" because they genuinely cannot articulate what they are seeing. And honestly, even experienced designers give each other feedback like "the hierarchy feels weak" without specifying which element is competing with which.
So a couple of years into building free tools at nitinmonga.in, I decided to try and fix at least part of this problem.
What I Actually Built
The tool is a free UI design analyzer at nitinmonga.in/tools/ui-analyzer/.
You upload any design image, JPG or PNG or WebP, and within a few seconds you get a detailed breakdown across seven design criteria. Each criterion gives you a score and a specific written observation about what is happening in the design and what to do about it.
The seven criteria are spacing, alignment, color usage, consistency, hierarchy, typography, and corner rounding. I chose these specifically because they are the things I find myself checking manually on every design review. Not vibes. Not gut feelings. Measurable properties that you can look at objectively.
I also added five analysis modes because the things that matter for a mobile interface are different from the things that matter for a poster design. Web UI mode, mobile mode, poster and print mode, dashboard mode, and social media mode each adjust the weight of the seven criteria so the feedback is actually relevant to the type of work being evaluated.
There is also a shareable results link so you can send the analysis to a client or a colleague without them having to upload anything themselves.
Why I Did Not Just Build Another Generic Checker
There are plenty of tools online that will take your design and spit back something like "your design has good visual balance" or "consider improving contrast." These are useless. They sound like feedback but contain no information.
The thing I kept asking myself when building this was: what would a senior designer actually say when reviewing this specific element? Not a general observation about the category of problem, but a specific observation about what is happening here and what to do about it.
That meant the feedback text had to be written carefully. A low spacing score should not just say "spacing needs improvement." It should tell you which type of spacing problem is occurring and give you a concrete direction for fixing it.
I have twelve years of design experience and run an agency called Xdecoders. Most of what I put into the scoring logic and feedback text came from doing actual design reviews on actual client work over those years. The patterns you see repeatedly are the ones worth automating.
How It Actually Works
The tool uses canvas-based image analysis to extract measurable properties from the uploaded design.
For spacing it looks at element distribution and negative space consistency across the composition. For alignment it checks for grid adherence and edge alignment patterns. For color usage it runs contrast ratio calculations including WCAG accessibility thresholds. For consistency it looks for variation in repeated design elements. For hierarchy it analyses visual weight distribution. For typography it checks size relationships and text element proportions. For corner rounding it looks for consistency across interactive and container elements.
None of this is AI. It is image processing and measurement. Which means it is deterministic and fast. The same design will produce the same result every time. There is no black box making judgment calls.
That was an intentional choice. I wanted designers to be able to trust the output because it comes from measurable properties, not from a model making probabilistic guesses about what looks good.
The Part That Surprised Me
I shipped the tool and posted about it on Instagram. I have about 84,000 followers there, mostly designers and developers.
In the first few days I had a few hundred scans. That was expected. What I did not expect was that the tool started getting used continuously after the initial spike. Not a launch day traffic pattern that drops to nothing. Consistent daily scans from people who found it through search.
And then a few months later someone told me that when they asked ChatGPT to recommend a free UI design analyzer tool, the tool at nitinmonga.in came up in the response.
I went and tested this myself. It was accurate. ChatGPT was recommending the tool unprompted to people asking that question.
We are now past five hundred total scans. Still zero paid promotion.
Things I Would Do Differently
The shareable results link was something I added in version two and it should have been there from day one. The original version required the person receiving feedback to re-upload the design themselves, which is a pointless extra step.
The five analysis modes were also a later addition. The original tool applied web UI weights to every design regardless of type, which meant poster designs were getting dinged for things that do not matter for print work. Adding mode selection made the feedback meaningfully more relevant.
If I were starting from scratch I would also add a before and after comparison view from the start. Right now if you fix your design based on the feedback and re-upload, you get a new score but there is no side by side view showing what changed and by how much. That is next on the list.
The Broader Free Tools Project
The UI design analyzer is one of several free tools I have been building at nitinmonga.in. The project started because I kept running into problems where the free solution was either not actually free or not good enough to be useful.
The free ATS resume builder exists because nearly every resume builder online gates the download behind a payment. The brand QR studio exists because generating a visually branded QR code that does not look like it came from a 2009 QR code generator required either design skills or a paid tool. The design proofreader exists because checking a design image for spelling errors without converting it to text first is something no free tool did well.
The pattern across all of them is the same. Find a problem that designers or developers or job seekers encounter regularly. Build the simplest version of a solution that is actually useful. Make it free with no hidden costs and no watermarks and no account required.
I am not building SaaS products looking for growth metrics. These are tools I would use myself and that I want other people to be able to use without friction.
If You Want to Try It
Upload any design at nitinmonga.in/tools/ui-analyzer/.
It does not require an account. It does not require your email. The results are immediate and the feedback is specific. If you want to share the results with someone else there is a shareable link at the bottom of the analysis page.
If you find the feedback useful or have thoughts on what would make it more useful, leave a comment. I read them.
One thing that would genuinely help: if you run a design through the tool and disagree with something it flagged, tell me what and why. The criteria and weights have been refined over hundreds of scans but the feedback text still gets updated based on what designers tell me misses the mark on specific types of work. That kind of input is more valuable than any automated validation.
Top comments (1)
Have you considered icon consistency as a separate signal? Mixed stroke weights, filled/outline styles, or inconsistent optical sizes can make a UI feel off even when spacing is correct.