Jakob

Websites built properly from day one

Fast, secure, and built to be found by people and AI.

Built in from the start

What your website does for you

Four things are handled from day one so your site earns its keep: it gets found in search, speaks every customer’s language, launches without surprises, and stays easy to keep updated.

Website feature / SEO signal

Found in Google search

Metadata, speed, and accessibility are tuned together so search engines can read, rank, and trust every page, which means more of the right people find you.

Website feature / Languages

A real page in every language

Each language gets its own URL, metadata, and search listing, so customers find you in their own language instead of behind a translate button.

Website feature / Launch

A launch with no surprises

Your project moves through a clear path (plan, build, ship, and measure) so you always know where the site stands and what happens next.

Website feature / Content

Content you can keep updating

A draft turns into a polished, published page, so you can keep the site fresh and add new content without touching code.

From first conversation to launch

Four clear stages. You always know what is happening and what comes next.

  1. Step 01

    We understand what you need

    We discuss your business, your customers, and what the website needs to achieve.

  2. Step 02

    We plan the right structure

    Pages, content, languages, and search opportunities are mapped before design begins.

  3. Step 03

    I design and build the site

    You see clear progress while the design, content, and code come together.

  4. Step 04

    We test, launch, and improve

    Everything is checked before launch. Afterward, real data guides what comes next.

What I guarantee before launch

Every item here is handled and verified before handoff. Open one for the detail.

Performance

Quick on real devices, not only in a demo.

  • Lighthouse 100Verified at launch

    Why: SEO and accessibility land at 100 and performance at 90 or above before handoff. You can rerun the audit yourself.

  • ImagesLazy-loaded

    Why: Below-the-fold images wait until they are needed, which protects first paint and keeps the initial page lighter.

  • Image compressionAutomatic

    Why: Images are compressed and converted to modern formats automatically, so pages stay light without manual editing.

  • Image sizingNo layout shift

    Why: Explicit dimensions and responsive sizes reduce layout shift and avoid shipping images larger than the screen needs.

  • JavaScriptKept to a minimum

    Why: Server components and static pages reduce browser work, so visitors can read and interact sooner.

  • Code splittingPer route

    Why: Each page only loads the code it needs, which keeps nonessential features away from the first visit.

Search and AI visibility

Search engines and AI systems get a clean signal about what each page means.

  • MetadataGenerated, one source

    Why: Titles, descriptions, canonical URLs, Open Graph data, and language alternates stay consistent across the site.

  • Semantic HTMLReadable by agents

    Why: Clear landmarks, headings, lists, and links help users, crawlers, screen readers, and AI agents understand the page.

  • JSON-LD structured dataEligible for rich results

    Why: Accurate schema for your business type (LocalBusiness, Product, Article) makes the site eligible for rich results, including review stars in the search snippet.

  • Sitemap and robots.txtGenerated

    Why: Generated correctly and served on the production domain, listing the live URLs in every language with their hreflang relationships.

  • CanonicalsOn the live domain

    Why: Every page points its canonical at the live domain (never a staging or preview URL) so the site never competes with itself as a duplicate.

  • Old URLs301s, single hop

    Why: We inventory the URLs Google has actually indexed and 301-redirect each one to its new home in a single hop, so rankings, backlinks, and bookmarks keep working.

  • Dead pages410 Gone, not redirected

    Why: Demo and junk pages get an explicit 410 Gone instead of a misleading redirect to the homepage, so crawlers stop wasting your crawl budget.

  • Missing pagesReal 404s

    Why: Missing pages return a true 404 and thin or transactional pages stay out of the index, so crawl budget is not quietly wasted.

  • Previewsnoindex

    Why: Non-production deployments are blocked from indexing, so a preview can never leak into search and dilute the live site.

  • Content modelTyped records

    Why: Content lives in typed records, making it easier to extend pages with schema, FAQs, localized copy, and future AI workflows.

Languages

Each language is a real, indexable page, never a background translation.

  • Per-language URLsServer-rendered

    Why: Every language is served from its own server-rendered URL (/en/…, /es/…), so each one is independently indexable instead of hidden behind a client-side widget.

  • hreflang and x-defaultGenerated

    Why: Language alternates are generated from the same source that builds the routes, so Google serves the right language to the right searcher instead of seeing duplicates.

  • URL slugsTranslated per language

    Why: Where it helps, the path itself is translated per language so each URL reads naturally and ranks on its own terms, with language menus, not flags.

  • Titles and descriptionsLocalized

    Why: Titles and descriptions are localized per language, so the search snippet always matches the page the visitor actually lands on.

Security and monitoring

The parts that break quietly are the parts that get watched.

  • Error tracking (Sentry)Wired in

    Why: Runtime errors are reported with the page, browser, and stack trace, so a broken form is something we find, not something a customer reports weeks later.

  • SSL and domainsAuto-renewed

    Why: Certificates renew on their own, so the site never shows a "not secure" warning because a certificate quietly expired.

  • DependenciesMonitored

    Why: Known vulnerabilities in the packages the site uses are flagged and patched, instead of ageing in place the way an unmaintained plugin does.

  • BackupsCovered

    Why: The site is code in version control, so every version is recoverable and a bad deploy can be rolled back in minutes.

  • Analytics and consentIn sync

    Why: Where required, analytics respects consent and the privacy disclosures stay in sync with what actually loads.

Accessibility

Part of the build, not a last-minute layer.

  • NavigationKeyboard tested

    Why: Menus, links, and interactive controls can be reached without relying only on a mouse.

  • Alt textOn every image

    Why: Images carry useful descriptions for assistive technology and give crawlers more context.

  • Contrast and spacingChecked

    Why: Text, buttons, and page sections are easier to scan across screen sizes and lighting conditions.

  • Reduced motionRespected

    Why: Animations respect users who prefer less motion, while still giving the page a polished feel.

After launch

What happens on launch day, and what you can do on your own afterwards.

  • Domain cutoverNo downtime

    Why: DNS, SSL, and email are planned together so the domain switch has no downtime and no "not secure" window.

  • Search ConsoleSet up, day one

    Why: Indexing coverage, Core Web Vitals, and query performance are tracked per language from day one.

  • Core Web VitalsWatched

    Why: The loading and stability metrics Google measures are monitored, so regressions surface before they cost rankings.

  • Index after launchMonitored

    Why: A fresh sitemap on the live domain, correct canonical URLs, and index monitoring after launch, so reporting and visibility never go dark.

  • Query performanceReported per language

    Why: You can see which searches each language version ranks for, instead of guessing what is working.

  • Blog postsWritten in Notion

    Why: You draft articles and pages in a familiar editor, and the content flows to the live site automatically. Publishing feels like writing a document.

  • Image libraryFree, on your account

    Why: Your images live in a free media library tied to your own account, where they are stored, reusable across pages, and served from a fast delivery layer without bloating the codebase.

  • Content filesEditable, separate from code

    Why: Copy, links, images, and page records are separated from layout code so updates are safer.

  • ComponentsReusable for new pages

    Why: New pages can reuse the same design system instead of rebuilding every section from scratch.

  • Code structureAI-readable

    Why: Clear file boundaries, typed content, and predictable patterns make future AI-assisted edits more reliable.

  • Lock-inNone, it is your code

    Why: The website can keep evolving as normal code, with modern tooling and a clean deployment path.

  • Hosting0 kr/month at regular traffic

    Why: With regular traffic the site runs on a free hosting tier, so there is no monthly hosting bill to pay after the build.

Optional content engine

Write in Notion, publish on your website

For blogs and editable pages, your Notion workspace becomes the content source. You write, add images, and the website updates, with compression and storage handled automatically.

Notion

Write posts and pages in a familiar editor.

Sync

Content and images flow to the site automatically.

Website

Pages publish fast, with images compressed and stored.

Have a site or an idea?

Send me your site or your idea. You get a fixed price before anything starts.