Marketing site lands, gets consolidated into the product app, then rebranded premium

Four commits build and reshape Davemaina1's public-facing marketing presence. The structural moves are mostly Iroh-specific, but two bugs buried in the rebrand commit - a `workflow` column schema mismatch and a Next.js favicon override - are worth knowing about if your fork shares upstream code.

brandingchat-ui

The fork starts with a standalone Next.js app under landing/ (~3K insertions): hero, jurisdictions, features, FAQ, privacy policy, terms, and a signup page, with its own build config. A second commit (18f758ac) dissolves it: the marketing components move into frontend/src/components/marketing/ and the pages into frontend/src/app/, with the root page.tsx now rendering the landing rather than redirecting to /assistant. The standalone landing/ directory is deleted. framer-motion ^12.38.0 is added for animations. Playfair Display joins Inter and EB Garamond in the font stack, with CSS variables for --color-gold: #C4A882, --color-cream: #F5F0E8, and --color-dark: #0A0A0A.

The rebrand commit (5fa79a9f, +726/-721 across 36 files) is a multi-concern bundle. The headline is the dark landing page redesign with Stats and Trust sections, a new flame SVG logo, and an IrohSpinner component. But two schema/auth fixes are in the same commit. First: chat.ts and projectChat.ts both had workflow: lastUser.workflow ?? null in their chat_messages insert - a column that doesn't exist in the schema. The insert silently failed or errored depending on the Supabase client version. Removed. Second: GET /user/profile and PATCH /user/profile endpoints are added to user.ts, routing all profile reads and writes through the backend API. The motivation is bypassing Supabase RLS policies that were blocking direct client-side reads in some auth states.

c183caaa is the favicon fix. In Next.js, any file matching app/icon.* takes priority over public/favicon.* as the site icon. The fork had src/app/icon.svg from an earlier iteration, which silently overrode the newer flame favicon in public/. Removing icon.svg lets the proper square favicons (16, 32, 180, 192, 512) and apple-touch-icon.png take effect.

So what The landing site itself doesn't transfer - it's Iroh's brand. The `workflow` column removal is worth checking against your own schema if you're on the same upstream. The `src/app/icon.svg` favicon override is a Next.js gotcha that bites silently if you add icons to both `app/` and `public/`. The RLS-bypass profile API pattern is worth examining before importing: it may signal a permissive auth posture you don't want.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

4 commits from Davemaina1/iroh_, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
2114cfaf feat(landing): initial Next.js marketing site with hero, jurisdictions, features, FAQ, privacy, terms Davemaina1 2026-05-14 ↗ GitHub
18f758ac feat(landing): migrate marketing site into product app, wire waitlist to Supabase Davemaina1 2026-05-14 ↗ GitHub
5fa79a9f Rebrand to Iroh: premium landing page, fix profile persistence, cleanup Davemaina1 2026-05-14 ↗ GitHub
commit body
- Revamp landing page: dark hero, Stats section, Trust section, editorial
  features grid, dark How It Works, refined FAQ/CTA/Footer
- Fix display name not persisting: route all user_profiles reads/writes
  through backend API (GET/PATCH /user/profile) to bypass RLS
- Fix user messages not saving: remove non-existent 'workflow' column
  from chat_messages inserts
- Replace MikeIcon with IrohSpinner (flame-black idle, Loader2 spin)
- Replace all placeholder logos with flame-gold/flame-black SVGs
- Add favicon.ico + favicon.png for Safari compatibility
- Add product screenshot to hero
- Remove Models & API Keys settings page
- Password show/hide toggle on login/signup
- Signup: default display_name to first name, fix terms/privacy links
- SiteLogo: remove mikeoss.com reference

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
c183caaa fix: proper Iroh gold flame favicon for Chrome + Safari Davemaina1 2026-05-14 ↗ GitHub
commit body
- Generated proper square favicons from flame-gold.svg (16, 32, 180, 192, 512)
- Removed old grey blade icon.svg that was overriding the favicon
- Added apple-touch-icon.png (180x180 square) for Safari
- Updated layout.tsx metadata to reference correct icon paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-382.md from inside the repo you want the changes in.

⬇ Download capture-thread-382.md