Case study
MediaVision
MediaVision is a technology and marketing partner for the pharmaceutical industry. This case study covers the bilingual marketing site built for them: a static-exported Next.js front-end fed by headless WordPress, with a delivery pipeline that rebuilds automatically on every content change. It was built end to end with an AI-assisted engineering process.

- Client
- Technology and marketing partner for the pharmaceutical industry
- Year
- 2026
- Role
- Architecture, front-end, DevOps
- Live
- mediavision.pl
- Stack
- Next.js 16
- TypeScript
- Tailwind 4
- GSAP
- Headless WordPress (ACF, Polylang, Yoast, Contact Form 7)
- GitHub Actions
Brief
MediaVision needed a bilingual (Polish/English) marketing site with product and service pages and a portfolio of past work, editable by the client without a developer, and fast and indexable for search.
Architecture
The site runs headless. WordPress is the admin: ACF field groups are defined in code as local JSON, Polylang pairs the Polish and English content, Yoast supplies SEO metadata and schema, and Contact Form 7 submissions come through the REST API.
The front-end is Next.js 16 on the App Router, built with output: 'export' to produce static HTML. Every page ships with full Polish and English defaults written in code, so the site renders correctly even without any content from the CMS. A single routes.ts file is the source of truth for localised routes.
Delivery pipeline
The code lives in a GitHub monorepo. The staging branch deploys to a staging environment, main to mediavision.pl. GitHub Actions builds the static export and rsyncs it over SSH to shared hosting, excluding .htaccess.
A small WordPress plugin fires a repository_dispatch event whenever an editor saves content, which triggers an automatic rebuild of staging and production. Robots and indexing behaviour are driven by an environment variable, so a single WordPress instance can feed a noindexed staging site and an indexed production site safely.
Performance & SEO
The hero video was re-encoded from 22 MB to 4 MB on desktop and from 28 MB to 3 MB on mobile. Imagery moved to WebP with explicit loading, decoding and fetch-priority attributes, and the poster frame is preloaded.
The sitemap is generated after build. Hreflang, canonical tags and JSON-LD come from Yoast, and canvas and video sections carry crawler-readable text. The root path redirects to /pl/ with a 301, and www redirects to the apex domain.
How AI was used
The whole project ran as an AI-assisted engineering process with Claude Code: a brainstorm, a written design spec, an implementation plan, parallel subagents building separate pages from Figma frames, a pixel audit of every page against the Figma exports in a real browser, and a review loop.
Bilingual content models and translation scripts were generated and verified the same way. The point is not autocomplete. It is AI used as a disciplined process: spec, plan, review.
Operations
After go-live, the hosting account suffered a malware incident. Because the front-end is a static export of the repository, the site was rebuilt from source, the entry vector was removed, and the hosting was hardened.
Outcome
Editors publish content without a developer. Every publish triggers a fresh static build. The site runs on two environments, staging and production, and the front-end itself is a plain static site that any host can serve.