Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
8.2 KiB
CONTENT_STRATEGY.md
1. Voice & tone
| Attribute | Do | Don't |
|---|---|---|
| Plain-spoken | "I build and run web systems." | "Passionate technologist crafting digital experiences." |
| Evidence-led | "Replaced spreadsheet-driven reporting workflows for a UK county council." | "Extensive experience with stakeholders." |
| Understated confidence (Norwegian-market calibrated) | "Eight years building and maintaining production systems." | "Senior rockstar engineer." |
| Honest | "SQLite was the right call for a single-user app; I'd move to Postgres for multi-tenant." | Hiding limitations. |
Seniority framing decision: the site never self-labels "senior". Role line = "Systems Developer" (EN) / "Systemutvikler" (NO), qualified by "8+ years". Seniority is demonstrated through trade-off writing, security notes, and production thinking. This is honest against the CV ("mid-level, eight years"), safe in Norwegian culture, and more convincing to P2/P3 than a claimed title.
2. Hero copy (approved-draft level)
EN
Connor Babbington Systems Developer — .NET, full-stack & infrastructure I design, build and run web systems: eight-plus years delivering internal software for UK local government, now building full-stack products in Norway. Chips:
Tønsberg, NorwayWork permit ✓Open to remote / hybrid / on-siteEnglish native · Norsk B1CTAs: [View projects] [Download CV]
NO (written natively, not translated)
Connor Babbington Systemutvikler — .NET, fullstack og infrastruktur Jeg utvikler og drifter websystemer. Åtte års erfaring med fagsystemer i britisk offentlig sektor — nå bygger jeg fullstack-løsninger fra Tønsberg. Chips:
Bosatt i TønsbergGyldig oppholdstillatelseÅpen for remote / hybrid / oppmøteEngelsk morsmål · Norsk B1CTAs: [Se prosjekter] [Last ned CV]
3. Section content rules
- Skills: grouped chips + one context line per group. Never percentage bars, never star ratings. Groups: Development (C#, .NET, Python, JavaScript/TypeScript, React, SQL) · DevOps & Infrastructure (Docker, Linux, CI/CD, Azure DevOps, nginx/reverse proxies, monitoring, self-hosting) · Practices (testing, security hardening, OAuth2 integrations, stakeholder communication, production support). Each chip must be defensible in an interview.
- Experience: the 2015–2023 Warwickshire role gets 3–4 highlight bullets (outcomes, not duties), with the 2015–2017 apprenticeship shown as progression on the timeline (apprentice → developer — a retention/growth signal, not a footnote). Non-dev roles (sales, bartender, receptionist — held alongside/before the council role) collapse into one line — "Earlier & alongside: customer-facing roles that shaped how I communicate" — present for timeline honesty, de-emphasised visually. NO version frames council work as "fagsystemer for lokalforvaltning". Canonical facts: see CANONICAL_CONTENT.md.
- About: 3 short paragraphs — (1) how I work, (2) the homelab/personal-projects habit as evidence of currency, (3) life in Norway + language journey + interests (games → strategic thinking framing kept light). Photo: the outdoor headshot (warm, approachable); the suit photo reserved for CV/LinkedIn.
4. Case-study content sources & angles
JobTrack (/projects/jobtrack)
- Source:
D:\Job tracker\website_details.md(already portfolio-shaped — reuse its headline, features, use cases) + README (stack: React, ASP.NET Core (.NET 9), SQLite, FastAPI summarizer, Ollama, Docker, PWA share-target). - Angle: product thinking + integration depth. Story: "I had a real problem (job hunting), built a real tool, then hardened it like production software."
- Decision candidates: SQLite vs Postgres for single-user; local AI (Ollama) vs cloud API (privacy + cost); PWA share-target vs native app; no offline cache by design (deploy freshness) — this one is gold: a deliberate anti-feature with reasoning.
- Security notes: Google ID-token auth, ownership checks, secure file uploads.
InboxIntel (/projects/inboxintel)
- Source: repo README + docs/ARCHITECTURE.md.
- Angle: architecture discipline. Story: "Clean Architecture in practice: four-layer .NET solution, background sync worker, safe-by-design destructive operations."
- Decision candidates: Clean Architecture layering & dependency rule; encrypted-at-rest OAuth refresh tokens (Data Protection API); preview-then-confirm for all destructive cleanup; advisory-only AI layer; Polly retry/backoff against Gmail API.
- Honesty note: README calls it a scaffold with marked extension points — the case study says "in active development" with a roadmap, and status chip
In development. Never overclaim; P4 will probe.
Homelab (/projects/homelab) — capability page, lighter template
- Ubuntu + Docker services, reverse proxy, auth, monitoring, self-hosted Gitea (git.cesnimda.uk — itself proof), backups. Angle: operations competence — "I don't just deploy; I keep things running." Include a small topology diagram.
The site itself (footer meta-link)
- One short page/footnote: performance budget, accessibility choices, bilingual architecture. Written after implementation (Phase 3 content); designed now as a P2 hook.
5. Localisation strategy (content level)
- Write EN and NO as siblings, not source→target. NO sentences should be shorter and plainer; Bokmål tolerates directness English pads out.
- Equivalence, not identity: the NO About may spend more words on the Norway/language story; the EN version more on UK career detail. Facts identical; emphasis local.
- Glossary (fixed term pairs): Systems Developer/Systemutvikler · case study/prosjektgjennomgang · public sector/offentlig sektor · work permit/oppholdstillatelse · experience/erfaring · skills/kompetanse · self-hosted/egendriftet. Keep product names (JobTrack, InboxIntel) and technology names untranslated.
- Quality gate: a native/fluent Bokmål speaker reviews all NO copy before launch (flagged as an explicit pre-launch task — the current CV's Norwegian has minor tells, e.g. "Ytret fremragende kundeservice" should be "Ytet…"; the site must be cleaner than the CV).
- Tone parity: understated in both; the NO version must never read as marketing-translated.
6. CV improvement recommendations (assets provided → must improve)
The current PDFs are two-column, heavily letter-spaced graphical CVs. Problems: (a) letter-spaced headings ("E X P E R I E N C E") and two-column order break ATS parsing badly — text extraction confirms scrambled reading order; (b) content undersells projects; (c) "mid-level" self-label undercuts an 8-year record.
Recommendations (content design, no implementation):
- Produce a single-column, ATS-safe layout: standard headings (Experience, Education, Skills, Projects), no letter-spacing tricks, real text, consistent date formats.
- Replace "Mid-level system developer" with "Systems developer with eight years' experience" in both languages.
- Add a Projects section (JobTrack, InboxIntel, homelab — 2 lines each with stack) — currently the CV omits his strongest recent evidence entirely.
- Split the 2015–2023 role into outcome bullets mirroring site copy (single source of truth with the site content model).
- Fix Norwegian errors ("Ytret" → "Ytet", "holdt baren oppdatert på lager" → "holdt baren velfylt"); native review pass.
- Add the website URL prominently; site and CV cross-promote.
- Keep a designed "pretty" variant for humans if desired, but the download default is the ATS-safe version. Filenames:
Connor-Babbington-CV-EN.pdf/Connor-Babbington-CV-NO.pdf.
7. SEO content (conceptual)
- Title patterns:
Connor Babbington — Systems Developer (.NET, React) · Tønsberg, Norway/Connor Babbington — Systemutvikler (.NET, React) · Tønsberg. Case studies:JobTrack — case study · Connor Babbington. - Meta descriptions handwritten per page per language (≤ 155 chars), answering "who/what/where".
- Structured data (conceptual):
Personon home (name, jobTitle, address locality, sameAs → LinkedIn/Gitea),SoftwareSourceCode/CreativeWorkper case study. - OpenGraph: per-language OG images (name + role line + accent motif; generated per design system).