Project brief
Highlights
Architecture
Standalone site consuming a platform API
JOBDA is deployed as its own Next.js site but owns no content database. Every post, blog metadata, category, and view count comes from Yurasis via /api/public/external-sites/jobda — a dedicated public read API that requires no auth. The site is purely a rendering layer: it fetches, formats, and presents content without managing it.
This decoupling means the content editing, AI generation, scheduling, and SEO tooling all live in Yurasis. JOBDA inherits improvements automatically. The only thing the site manages is its own design system, i18n dictionaries, and ad slot placements.
i18n
Eight locales, server-rendered, zero client locale resolution
Every supported locale (en, ko, ja, zh, fr, de, es, it) gets a URL prefix: /en/, /ko/, /ja/, etc. The [lang] segment drives locale selection server-side — the dictionary is loaded synchronously in getT(lang) and rendered into the HTML before it reaches the browser. There is no runtime i18n library, no dynamic import, and no client-side locale check.
Language switching is a plain anchor navigation that replaces the locale segment in the current path. The locale switcher uses usePathname() to detect the active segment, replaces it, and renders a dropdown — no state, no router.push, no flash of untranslated content.
Monetization
AdSense slots integrated without layout shift
Three ad slots are placed across the blog: a leaderboard below the global header (AD-1), a rectangle in the article sidebar visible on large screens (AD-2), and an in-article unit injected after the third paragraph of post content (AD-3). A fourth in-feed unit (AD-4) appears mid-grid on the archive page after the 9th post.
In the live site these are real AdSense units. In the portfolio demo they render as labeled placeholder blocks that preserve the same dimensions so the layout is identical — no cumulative layout shift.
Content pipeline
AI-generated posts from topic to published article
Content is authored through the Yurasis AI pipeline: a job specifies the topic, target locale, template, and writing style profile. The pipeline runs Opener (topic analysis, SEO keywords), Researcher (web search), Writer (draft with active fine-tuned model), Critic (independent review), FinalEditor (polish), and Styler (platform formatting). The resulting post is published directly to the JOBDA blog.
Because JOBDA uses the Yurasis platform API as its CMS, every post benefits from built-in SEO fields — metaDescription, faqSchema, tags, readingTime, and hreflang alternates — without any bespoke tooling on the site side.
This demo connects to the live JOBDA API and renders real published content. You can browse the blog homepage, navigate the post archive with category and tag filters, and read full articles — the same experience as the deployed site, running within the Yurasis portfolio.
See demo