Comparison hub, referral rework, footer redesign
The month TrimLink stopped looking like a side project and started looking like a real product. We finished the comparison-page push (one per major competitor), tore up the referral program and rebuilt it on infrastructure we can actually deliver against, and gave the footer the bones a finished SaaS needs — proper brand anchor, trust signals, real legal alignment.
New
- Dedicated comparison pages at /vs/bitly, /vs/dub, /vs/short-io, and /vs/rebrandly — each with verified pricing, side-by-side feature tables, and a scoreboard of hero savings stats.
- Referral rewards reworked from "1 free Pro month" to stackable bonus links — +10 per signup, +20 more per paid upgrade. Cleaner, more deliverable, scales without bookkeeping debt.
- Public /referrals explainer page (auth-aware — signed-in visitors see their actual link + share buttons + stat snapshot) plus a /dashboard/referrals deep-dive.
- Manually-curated /changelog (you are here) with monthly anchors and shareable URLs.
- Multi-currency pricing display with IP-based geo detection — prices render in the visitor’s local currency automatically.
- Contact page at /contact with form submission to hello@trimlink.co.
Improved
- Footer redesign: 5-column nav (Product / Free Tools / Resources / Compare / Company), Featured On row with Trustpilot rating chip, brand wordmark + tagline anchor on the left, GDPR-aligned legal strip below.
- Workspaces page rebuilt — cleaner switching flow, usage placeholders, faster team management UX.
- Pricing page rebuilt with audience tabs (Individual / Team & Enterprise) and a per-card billing toggle. New /pricing/compare for the full feature matrix.
- Landing page redesign — clearer hero, polished empty states, sharper CTA hierarchy.
- In-app plan change + downgrade modals — no more bouncing to Polar for routine billing actions.
- Critical E2E test coverage added for billing flow, API keys management, and QR generator.
- Launch-promo system reworked with eligibility enforcement in checkout — no more stale promos leaking into the wrong flows.
- Calm brand-aligned error boundary replaces the default Next error page.
Fixed
- LinkedIn referral share switched from the deprecated share-offsite endpoint to the modern compose-intent URL — prefilled text now actually appears.
- Logo wordmark cap-height rebalanced against the icon tile so the lockup reads as one unit at every size.
- Husky pre-commit hooks hardened — lint + format enforced on every commit, policy enforced on push.
- High-severity dependency vulnerabilities patched.
- Production hardening pass — CPU caching, CI repair, email-template polish.
- PricingPlansGrid wrapped in Suspense to fix a prerender bailout.