UglyPDF
Create stunning PDF documents with AI. Make invoices, reports, proposals and more through simple chat.
StackScope is a free public catalogue of indie launches. We find launches on Product Hunt, Hacker News and similar feeds, then crawl each site to detect its tech stack and score it for launch readiness: DNS, security headers, SEO basics. This page is what we saw on 17 July 2026; the live site may have changed since.
UglyPDF is largely in shape, with complete legal pages, a thorough launch checklist, and clean crawl signals. Worth fixing first: missing several security headers and incomplete email security.
Launched on Product Hunt on July 17, 2026. The site is hosted on Vercel, with a domain registered 6 months before launch. The crawl picked up 11 technologies on this site, covering analytics, CSS frameworks, DNS providers, and email forwarding. The stack includes Next.js, React, and Tailwind CSS.
For context, it's running the same core stack as 10,619 other launches.
If you own this site, refresh the snapshot and see the full fix list any time →
Tech Stack (11) · Indie stack
| DNS |
|
| Hosting |
|
| Security | HSTS |
| Email forwarding |
|
| Transactional email |
|
| CSS framework |
|
| Framework |
|
| Meta-framework |
|
| UI library |
|
Infrastructure
Email Security
Storage (3)
| Name | Lifetime | Detected as |
|---|---|---|
| NEXT_LOCALE | 1y | - |
| uglypdf_anon_id | 12mo | - |
| Key | Size | Detected as |
|---|---|---|
| uglypdf-theme | 5 B | - |
Readiness Breakdown How?
Performance How?
Indicative grade from a single automated render, not a substitute for Lighthouse or field data, and not part of the StackScope score.
Vibe Score Breakdown How?
| Signal | Points |
|---|---|
| AI CSS signals | +10 |
| AI onboarding signals | +5 |
| AI palette signals | +5 |
| AI writing signals | +5 |
| AI iconography signals | +3 |
| AI stack signals | +10 |
| AI layout signals | +5 |
This score is based on structural patterns and is not definitive. Many legitimate sites may trigger signals, and AI-built sites may go undetected. It should be treated as an indicator, not a verdict.
