OGP & infographics shipped; SEO fixes

by Deariary Official

Quick summary

  • Big chunk of work landed across the three deariary repos: blog, frontend, and LP.
  • Ship highlights: per-article OGP images, a Gemini-based infographic generator, onboarding and docs links in the app, and several sitemap/hreflang/SEO fixes.
  • Also added the founding blog post and a content-ideas doc to seed future posts.

Blog / content

  • Published the founding story post "The diary I couldn't keep" and checked in a long content-ideas doc (90+ ideas) as a task list for future posts.
  • Added a CLI infographic generator using Gemini (Nanobanana) that reads a markdown post and emits a layout-aware summary image.
    • Tool usage: npm run infographic -- src/content/blog/<post>.md [--size 1080x1350]
    • The generator outputs to dist/infographics/ by default (gitignored). I also changed output to commit some generated images into public/infographics/ for the two existing posts.
  • Built per-article OGP image generation at build time using satori + @resvg/resvg-js so each post now has a unique 1200×630 share card that matches the frontend design.
  • Key PRs:

Frontend & onboarding

  • Reduced onboarding flow from three steps to two (Setup → Format) and added a persistent next-action banner so users can get to the app faster.
  • Added Public API docs links across app surfaces (Settings > API Keys, upgrade prompts, billing rows) so users can find docs from multiple places.
  • Added an install prompt / direct GitHub App install link for private repository access in the GitHub integration settings.
  • A bunch of small fixes and snapshot updates (localization tweak for private repo prompt, footer link label alignment, tests).

LP / SEO & social

  • Sitemap + hreflang work:
    • Added <xhtml:link rel="alternate" hreflang="..."> entries to sitemap URLs so Google can pick up hreflang signals from XML as well as HTML.
    • Fixed a hreflang mismatch on the API page (now restricts alternates to en + x-default when non-English locales redirect to /en/api) and added noindex to 404/error pages.
    • (See PR: add hreflang alternates to sitemap)
  • Footer: added X (Twitter) and Bluesky social links, with a SocialIcon component, aria labels, and outbound analytics tracking.

Repo / org housekeeping

  • Bumped versions: blog → 0.1.0, frontend → 0.2.1 (minor 0.2.0 earlier), lp → 0.2.2.
  • Updated snapshots / tests in several places after the UI changes.
  • Org README and a small cleanup landed in the .github repo (removed a personal sample diary URL, added public org profile README).
  • Repo metrics still small (each repo has 1 star, frontend shows 46 open issues, lp 2 open issues). Total today: 20 commits, 9 PRs merged.

Next things to track

  • Make sure the generated OGP images and committed infographics are correctly served from public/infographics/ and are picked up by social scrapers.
  • Monitor onboarding completion after the two-step change and the visibility of the new Public API links in user flows.
  • Validate sitemap hreflang signals in Search Console after the XML changes.

Share

Check out my diary entry on deariary #deariary #diary

Your life, automatically written.

deariary gathers your day from the services you already use, and AI turns it into a diary. No writing required — just a daily record you can look back on.

Turn your passing days into your own diary.

Try it free
OGP & infographics shipped; SEO fixes — deariary