Style guide

The colours, type and components this site is built from. Everything here is the real thing, not a picture of it, so switch between dark and light with the toggle in the header to see both themes.

Colour

Colours are tokens (CSS variables), each with a dark and a light value. Components only ever use the tokens.

--bgPage background
--bg-cardCards, tiles, form fields
--tag-bgPills, tags, filter chips
--borderHairlines and card outlines
--border-strongEdges of inputs and controls
--textBody copy
--headingHeadings and card titles
--mutedSecondary text and labels
--accentLinks, primary button, active states
--accent-hoverHover state of accent fills
--successAvailability dot, positive states
--dangerErrors and destructive actions
--code-bgCode block background
--code-textText inside code blocks

Type

Three typefaces: Jura for headings and interface text, Manuale for reading, JetBrains Mono for code and the terminal-style details.

Oscar Dyremyhr
Jura 700 · hero name
Projects
Jura 700 · page title (h1)
> Databricks Champion_
JetBrains Mono 600 · role line
Databricks Platform & Governance
.card-title

I design and deliver data platforms that hold up at scale, from platform governance to cloud migration and metadata-driven pipelines.

Manuale 400 · body copy

What I focus on

.eyebrow

Buttons

Three levels of emphasis. Use one primary button per view.

.hero-cta .hero-cta-primary
.hero-cta .hero-cta-secondary
.hero-cta .hero-cta-tertiary
.cv-print-btn

Labels

Small pieces that tag, group or show status.

DatabricksDelta LakeUnity Catalog
.tag-pill
Open to freelance opportunities
.status-badge
NOEN
.locale-toggle

Cards

Cards share one surface: bg-card with a hairline border and a 10px radius.

Databricks Platform & Governance

Catalog structure, compute policies and asset permissions, set up so a platform team can run them.

Metadata-Driven Pipelines

Pipelines defined by metadata, so new data is delivered consistently and at scale.

.card with .card-title and .card-desc
Financial services2025 — Present

Mainframe-to-Cloud Migration & Metadata-Driven ETL for a CSD

Data Engineer, Data Services · Central Securities Depository (CSD)

Data Engineer in the Data Services team on an ongoing Nordic transformation for a Central Securities Depository (CSD). The work moves mainframe data to the cloud and builds a metadata-driven ETL framework to deliver migration and data pipelines consistently across a large estate.

  • Building cloud data capabilities for a mainframe-to-cloud migration in a regulated financial-services environment.
  • Developing a metadata-driven ETL framework that standardises pipeline delivery and supports repeatable onboarding at scale.
  • Applying the framework to a migration scope of more than 1,000 tables; delivery is in progress.
  • Working across Azure, Databricks, Kafka, Event Hubs and IBM IIDR.

OutcomeOngoing engagement. The programme is migrating 1,000+ tables through the metadata-driven model.

AzureDatabricksKafkaEvent HubsIBM IIDRMetadata-Driven ETL
<CaseStudyCard />

Forms

.field

Post elements

What a blog post is built from.

<ShareButtons />
.post-note (AI disclaimer)

A heading inside a post

Body text in a post is set in Manuale, with inline code and links in the accent colour.

A quote, set apart from the text around it.
ModelInputOutput
Claude Fable 5.2$8.00$40.00
Claude Opus 5.5$4.00$20.00
.prose (headings, quote, code, table)