Shipped the public landing page — mascot art, bilingual, a real-capture carousel, and a demo video
The DalkkakAI landing page went live at ddalkkak.daeseon.ai: the sloth-robot mascot art used as a hero banner + roomy explainer bands (never faked as screenshots), an English-default page with a one-click Korean toggle, a data-driven screenshot carousel that adapts to however many real captures exist, and a ~1.5-min demo video (poster + click-to-play). Deployed from the local folder via the Vercel CLI onto an existing custom domain.
AI version
What shipped
A single self-contained static page (landing/index.html, no build step), now live at
ddalkkak.daeseon.ai:
- Mascot art, honestly. The cyberpunk-sloth illustrations are the hero banner, three roomy left/right "explainer" bands, and the Download app-icon — never dropped into a screenshot-shaped frame. The real-product carousel is kept visually distinct, so the art never reads as the UI.
- Bilingual, English-first. A nav toggle swaps the whole page (nav, hero, bands, download,
footer, and the JS-built carousel captions + demo placeholder) between EN and KO. One source —
English lives in the HTML, Korean in a
KOdict; choice persists (localStorage) and is shareable via?lang=ko. No file duplication. - A data-driven capture carousel. Screenshots come from one
SHOTSlist at the bottom of the file; the carousel (‹ › arrows, swipe, arrow keys, dots) rebuilds to however many you list — one shot hides the controls, many page through. Missing files show a "coming soon" placeholder, never a broken image. Shipped with 4 real captures (multi-pane cockpit with Claude and Codex panes; Usage Pulse; the ⌘I summary card; the ⌘L log). - A demo video. A ~1.5-min real-session recording (62 MB → 4.6 MB via
ffmpegx264 CRF 30 — screencasts compress beautifully) shown with a poster + click-to-play controls andpreload="metadata", so the page stays fast and the video only downloads on play. - Deploy: Vercel CLI from the
landing/folder onto the existingddalkkak.daeseon.aidomain. Hi-res illustration masters are kept out of the deploy via.vercelignore.
One gotcha worth remembering: Safari obeys EXIF orientation, Chrome (in my pipeline) didn't
One illustration (focusup) rendered rotated 90° in Safari but upright in Chrome. Cause: a
stray EXIF orientation tag — sips reported the pixels as landscape, but mdls/ImageIO (Safari's
engine) read it as portrait and rotated it. The fix was to bake the rotation into the pixels and
re-encode (verified with QuickLook as the Safari-engine oracle). Always check
mdls -name kMDItemOrientation X.jpg is 0 after converting images — a renderer that respects
EXIF will rotate what another renderer leaves alone. (Documented in landing/README.md.)
Review needed
No human review on this entry yet.