AI‑Lens Visual · design validation
Does the build match the design?
Give AI‑Lens a test build and the approved Figma file. It installs the app, signs in, walks every designed screen and compares each element with its Figma layer: colour, size, corners, font and text. You get a report of what differs, with the measurements to prove it, and the bugs go straight to Jira.
Watch it work
A real run on the NovaBank Android app.
The first video shows the approved Figma design. The second shows AI‑Lens checking a test build against it and producing the report.
How it works
Jira ticket in, results back on the same ticket.
The check starts from a Jira ticket and ends on it. In between there are no screenshots to diff by eye and no pixel thresholds to tune: AI‑Lens reads the values the app actually renders and compares them with the values in the design file.
Reads the ticket
AI‑Lens reads the Jira ticket, including ones designers raise, to learn what to check and which issues are already reported.
A build and a Figma link
The test build (APK) and the approved Figma file. If Figma can't be reached, the last saved copy is used and the report says so.
Installs, signs in, walks
AI‑Lens installs the build on a device, logs in, and reaches each designed screen, including OTP and inner pages.
Element by element
Each app element is matched to its Figma layer and checked for fill and text colour, text size, weight, font, content, border and corner radius.
Report back on the ticket
The findings, with side-by-side evidence and measured values, are posted back to the same ticket. New problems are raised as linked bugs, never duplicates.
The report
Every check lands in one of four buckets.
The report separates real defects from things that need a person's judgement and from things that simply couldn't be compared, so the team only argues about what matters.
- Grouped by root cause. One corner-radius bug on 14 elements across three screens is one problem and one ticket, not fourteen.
- Decisions are remembered. Mark a difference Acceptable and it is asked again only if the value changes.
- Nothing silently skipped. Every item it couldn't check has a reason and a fix, such as renaming duplicate Figma layers.
- Full audit trail. Each screen lists every check (81 on Login) with the Figma value, the app value and the result.
Problems covering 28 elements on 5 screens.
Differences that may be intentional: countdown text, icon placeholders, split labels.
Items across 8 reasons, each with a way to make it checkable.
Checks on colour, size, corners and text that passed.
Problems found in the sample run
| Problem | Screens | Design | App | Ticket |
|---|---|---|---|---|
| Corner radius on inputs and buttons | Login, Verify OTP, Send Money · 14 elements | 12 dp | 8 dp | KAN-2 |
| Text size | Home, Transactions · 9 elements | 12 sp | 11 sp | KAN-3 |
| Add money: fill colour | Home | #82D400 | #8BD80F | KAN-1 |
| Recent transactions: font weight | Home | 600 SemiBold | 700 Bold | |
| Statement: text content | Home | “Statement” | “Statements” | |
| Subtitle: text colour | Login | #667085 | #6B7280 | |
| Title: font family | Login | Inter | Roboto |
From the sample run on com.novabank.app.drift, a demo build with design drift introduced on purpose. All seven are rated Major.
Jira, both ways
From design check to bug ticket, and back.
AI‑Lens connects to your Jira project. It raises the bugs it finds, and it reads the tickets your designers raise, so design QA and the bug tracker stay in one loop instead of two.
Raises the bugs it finds
Each confirmed problem becomes one ticket, with the screen, the Figma value, the app value, how it was measured and the side-by-side evidence. A problem that spans 14 elements is one ticket, and a problem that already has a ticket is not filed again.
Corner radius is 8 dp; design says 12 dp
01 Login, 02 Verify OTP, 04 Send Money · 14 elements
Reads what designers raise
When a designer logs a design issue or change in Jira, AI‑Lens reads it before the next check. It knows which differences are already reported, checks the build against what the designer asked for, and posts the result back to that same ticket instead of opening a duplicate.
Home: “Statement” label reads “Statements”
Read on the next run · result posted back to this ticket
- One source of truth. Designers, developers and QA work from the same tickets, with the evidence attached.
- No duplicate noise. Existing tickets, whether raised by AI‑Lens or a designer, are matched before anything new is filed.
- A person stays in control. Tickets are raised from the report, and differences marked Acceptable never become bugs.
See the full report.
Open any screen for its side-by-side evidence, the review queue and every check that ran.