AI SaaS case study

TextGPT + IQR.Codes

A platform that turns a PDF — including the scans nobody can search — into something people can ask questions of, over web chat, over SMS, or by pointing a phone camera at a QR code printed on the thing they are asking about.

TextGPT + IQR.Codes: AI Knowledge Platform
  • IndustryAI knowledge and support SaaS
  • ClientModezilla LLC, USA
  • RetrievalUnder a second at p95
  • ServicesProduct Design, Development, AI

Overview

TextGPT + IQR.Codes is two products on one pipeline, built for Modezilla LLC. TextGPT is the personal side: upload a document, pick a persona, ask it questions. IQR.Codes is the business side, where a company uploads its manuals and policies, prints a QR code, and every customer who scans it starts a conversation that already knows the answers.

The pipeline underneath is the same either way — upload, OCR, chunk, embed, retrieve, answer with citations. What made it hard is the state a PDF actually arrives in. A clean digital export is a solved problem; a photograph of a page from a fifteen-year-old manual is not, and those are the documents businesses actually have.

The rest of the architecture follows from two requirements that were fixed before the first line: an answer has to come back in under a second, and no organisation may ever see another's documents. The second one is enforced in Postgres by row-level security, rather than by the application remembering to filter.

  • Next.js 14
  • React 18
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • Supabase
  • Postgres & pgvector
  • Vercel Serverless
  • Mistral AI
  • OpenAI Embeddings
  • Stripe Payments
  • Telnyx SMS

Project video

Upload a PDF. Get a chatbot.

A walkthrough of TextGPT and IQR.Codes, from a PDF dropped into the dashboard through to a customer scanning a printed code and getting the answer back as a text message.

Key capabilities

  • PDF ingestion with OCR

    Documents go in as they are, scans included. An OCR pass and a cleanup step run before anything reaches the parser, so a photographed page becomes searchable rather than being skipped.

  • Answers with citations

    Retrieval-augmented chat that answers out of the uploaded documents and shows which one it came from, rather than out of whatever the model already believed.

  • QR and SMS channels

    A scanned code opens a branded web chat or a text conversation. Nothing to install and no account to create, and over SMS the customer keeps the thread in their messages.

  • Multi-tenant by default

    Every row and every file is scoped to an organisation in Postgres itself, through row-level security and signed URLs rather than an application-layer filter.

  • Subscriptions and billing

    Stripe tiers decide which channels an account gets and how much of them it may use, with a customer portal for everything after the first payment.

Businesses were sitting on documents that already contained every answer their customers ask for — product manuals, policies, spec sheets, returns terms — in a format nobody can query. Where those documents were photographs of pages rather than digital exports, even a plain text search returned nothing. The workaround was a support queue: somebody re-reading the same PDF and retyping the same paragraph, all day, while a customer waited for it.

  • Unsearchable documents

    The knowledge existed, in PDFs — and the worst of them were images of pages, where even a text search came back empty.

  • Friction at the front door

    Anything that asked the customer to install an app or create an account lost them before the question was ever asked.

  • Cost and isolation at scale

    The system had to stay fast and cheap across millions of documents while guaranteeing that no organisation could read another one's.

Questions

The platform was proudly designed, developed, and managed end-to-end by the expert team at CodeMyPixel for our client, Modezilla LLC (USA).

Have documents nobody can search?

Let's turn them into answers.