On-Demand Digital Reputation Reports with AI-Rewritten PDFs and Secure Checkout
Built a consumer web app that searches public individuals via Whitebridge’s API, sells one-off reports via Stripe, and delivers a unique AI-rewritten interactive report + downloadable PDF with 30‑day retention.
Problem Statement
The client needed a launchable, investor-ready reputation-reporting product fast—without exposing the partner API key, while handling long-running report generation (3–5 minutes), credit-based costs, inconsistent third‑party data behavior, and a requirement to generate a non-identical (reworded) PDF report for differentiation during fundraising.
Our Approach
Architected a Lovable front end backed by Supabase Auth + RLS and a set of Supabase Edge Functions that securely proxy Whitebridge API calls (search, preview, create lookup, polling). Added report caching to avoid repeat partner charges, stored final JSON/PDF in Supabase Storage with retention rules, integrated Stripe Checkout to gate access, and implemented an AI rewrite pipeline (Gemini) that paraphrases the full report content before generating a branded PDF via server-side rendering.
Full-Report AI Paraphrasing + De-duplication for Unique PDFs
Challenges We Solved
Secure API Proxying + RLS-Protected Data Access
Directly calling Whitebridge from the browser would expose the partner API key and allow uncontrolled usage, risking cost blowups and account bans.
Routed all partner API traffic through Supabase Edge Functions with secrets stored server-side. Implemented Supabase Auth + Row Level Security so each user can only access their own generated reports/history and cached artifacts.
Report Caching to Prevent Double-Charging Credits
Client requested that if a report is purchased again within a window (e.g., 3 months), it should be served without repaying the partner API.
Added caching keyed by candidate identity + lookup parameters. When a match exists within the configured TTL/window, the app serves the stored JSON/PDF from Supabase instead of triggering a new Whitebridge lookup.
Cross-Domain Image Blocking in Third-Party Report Assets
Images referenced in Whitebridge data failed to load on the new domain because the upstream image host restricted hotlinking / domain access, causing missing media in web and PDF outputs.
Implemented graceful fallbacks (brand logo placeholders) and added source links for credibility. Documented the upstream limitation; where possible, adjusted rendering to avoid layout breakage and added “broken image” alerts.
Stripe Checkout Gating + UX Iterations
Payment flow needed to unlock report generation/credits and match a familiar competitor UX, while avoiding confusing multi-step top-ups and new-tab redirects.
Integrated Stripe Checkout in the same tab, added post-purchase routing fixes (returning users to search instead of landing), auto-refresh credit state, and iterated on pricing presentation to align with competitor patterns.
Custom Domain Launch + DNS/MX Recovery Under Deadline
Switching DNS to Netlify for the product launch unintentionally disrupted Microsoft 365 email delivery (MX records overwritten), risking missed investor emails.
Restored mail deliverability by reapplying the correct Microsoft 365 DNS records and validating end-to-end delivery. Coordinated fixes across Netlify DNS and GoDaddy controls until inbound/outbound email stabilized.
Project Timeline
Discovery
Reviewed Whitebridge flows and API docs; clarified that AI must rewrite the full report text (not just sections) and that caching is required to avoid repeat partner credit charges. Confirmed stack: Lovable + Supabase + Stripe, plus domain/branding constraints (\"hide Lovable/Supabase\").
Build
Delivered a functional beta: candidate search + match selection, preview/loading states, create-lookup + polling, authenticated user history, and secure Edge Function proxying. Added caching, fixed missing sections by coordinating with Whitebridge support, introduced competitor-style preview improvements, implemented Gemini-based rewrite, and generated branded PDFs from templates. Integrated Stripe (test mode) and iterated pricing UX and checkout routing.
Launch
Connected custom domain (getholmz.com) via Netlify, addressed SSL propagation, removed platform artifacts (favicon), and stabilized DNS/email configuration after MX disruptions. Released landing page v2 with iterative above-the-fold improvements and enabled anonymous search before forcing signup at checkout.
Ready to Build Something Similar?
Let's discuss how we can help transform your business with AI.
Start Your Project