// case study
FormFlow
A contact-form platform that can tell a real photo from a fake one. Multi-brand form management for consumer-goods companies, with every attached image screened by a three-stage authenticity pipeline.
// at a glance
The engagement
// the problem
Complaint photos
can no longer be trusted
A consumer-goods group runs dozens of brand websites, each with its own contact and complaint forms. Historically every form change — a new field, a new recipient, a new brand — meant a developer ticket. And the photos consumers attach as “evidence” went straight to the quality-management team, taken at face value.
That second part stopped being safe. Image generators and one-tap retouching tools made fabricated complaint photos cheap to produce — moldy product that never existed, damage added after the fact, doctored labels. Quality teams had no tooling to separate genuine product evidence from manufactured images, and each false positive costs real money in refunds, recalls, and investigation time.
FormFlow addresses both halves: a self-service, multi-brand form CMS for the teams that own the forms, and an automated image-authenticity pipeline for the photos that arrive through them.
// the pipeline
Three independent checks
per attached image
AI-generation detection
Classifies whether the photo was synthesized by a generative model rather than captured by a camera, with a per-image confidence score.
Manual-edit detection
Estimates the edited surface area of the image and flags local manipulations — cloning, splicing, content-aware fills — as a retouch heatmap.
Metadata verification
Checks EXIF consistency — capture date, device, geolocation, re-save signatures — against what the submission claims.
// the platform
Forms as a product,
not a ticket queue
The CMS half of FormFlow gives brand and quality teams full ownership of their forms. Non-technical staff assemble, version, and publish forms; the embed runs on the brand's own domain; submissions land in one cross-brand inbox with verification verdicts attached.
- Multi-brand workspace — one tenant, many brands, each with its own forms, domains, and routing rules.
- Drag-and-drop builder — field palette, validation, tooltips, required flags, draft → publish versioning with full history.
- Topic-based routing — complaints, questions, and opinions land with the right people; recipients configured per brand × topic.
- Embeddable forms — a lightweight embed served on the brand site's own domain, with per-form domain allow-lists.
- Cross-brand inbox — filterable by brand, topic, status, and verification verdict; every attachment carries its authenticity report.
The consumer side
What the consumer sees is deliberately boring: a clean, fast, accessible form on the brand's own website. Polish-first, with validation and file upload that just works. The interesting part — the verification pipeline — runs after submit, invisibly.
// under the hood
Boring infrastructure,
on purpose
FormFlow is a single Go service with a Next.js frontend, PostgreSQL for storage and queueing, and S3-compatible object storage for attachments — no separate message broker, no microservice sprawl. It ships as one Helm chart with overlays for SaaS and on-premise deployment, and runs on Kubernetes.
That shape is deliberate. A quality-management tool earns trust by being predictable: fewer moving parts, fewer failure modes, an audit trail for every verdict, and a deployment a client's own platform team can operate.
Screenshots show the product with demonstration data. Client names, brands, and submissions in the images are fictional.
// co-financing
Built within an
EU-backed programme
FormFlow is developed by Applied AI sp. z o.o. within KPT ScaleUp Booster (Edition III), co-financed by the European Funds for a Modern Economy 2021–2027 (FENG). Details on the project funding page.