feat: remote without fixed office hours, said on the freelance page
Build & Deploy / 🔔 Notify (push) Successful in 2s
Build & Deploy / 🔍 Prepare (push) Successful in 4s
Build & Deploy / 🏗️ Build (push) Successful in 7m6s
Build & Deploy / 🚀 Deploy (push) Successful in 21s
Build & Deploy / 🩺 Smoke Test (push) Successful in 4s

The site said "available during European business hours". That is not how
the owner works: he works from wherever he is and plans his own time;
meetings can be arranged, all-day availability cannot. The freelance page
now says so in its booking section, and the homepage answer on how to reach
him no longer promises business hours.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 12:45:18 +02:00
co-authored by Claude Opus 5.5
parent 2cb15608dd
commit 710d3d06e6
5 changed files with 21 additions and 3 deletions
+8
View File
@@ -241,6 +241,14 @@ export default async function FreelancePage({ params }: Props) {
</div>
</div>
</Reveal>
<Reveal>
<div className="mt-12 border-t border-slate-900 pt-6 md:mt-20">
<h3 className="m-0 font-sans text-2xl font-bold tracking-tight text-slate-900 md:text-4xl">
{booking.remote.title}
</h3>
<p className={`${BODY} mt-4 max-w-3xl`}>{booking.remote.text}</p>
</div>
</Reveal>
</Block>
<Block
+1 -1
View File
@@ -16,7 +16,7 @@ Status note: sections 3 to 6 describe the site as built. Sections 2 and 9 are ke
- **Never mention AI as my own tool.** How I work is none of the client's business: no "AI-built", "AI-accelerated", "AI-code rescue", no FAQ about AI tools. The one exception is the automation service, where AI steps are part of what the client gets (sorting, summarising, reading documents).
- **Modest and factual.** No promises I have not made (response times, weekly updates, start dates, search ranking). Only state what the owner confirmed. No superlatives.
- **No internal method vocabulary** on client-facing pages: no specs, TDD, mutation testing, coverage, pull requests. Translate into what the client gets: changes do not break things, predictable cost.
- Do not say: "everything", "fullstack for anyone", "vibe coding". No location or tax talk; say "remote, available during European business hours".
- Do not say: "everything", "fullstack for anyone", "vibe coding". No location or tax talk; say "remote". Not "available during European business hours" (owner, 2026-10-05): he works as a digital nomad without fixed hours; meetings can be arranged, all-day availability cannot. This is said on the freelance page only.
- Pick the visitor up: introduce me first, then let them choose their need (developer for a product, make an app reliable, just a website), then explain for that need what they get, how it runs, what it costs.
- Language (owner decision, 2026-10-04): German is the main language at the root, English lives under `/en`. The language is detected from the browser and can be switched in the header. The videos and their post texts exist in both languages too (`apps/video/src/content/videos.ts`).
+5 -1
View File
@@ -585,6 +585,10 @@ export const de: Content = {
"Einzelne Tage buche ich nicht",
],
cta: "Verfügbarkeit anfragen",
remote: {
title: "Remote, ohne feste Bürozeiten",
text: "Ich arbeite ortsunabhängig und teile mir die Zeit selbst ein. Für Meetings mit Ihrem Team bin ich nach Absprache da. Eine durchgehende Erreichbarkeit über den ganzen Tag gibt es nicht; dafür arbeite ich in der übrigen Zeit ungestört an Ihrem Projekt.",
},
},
teaser: {
title: "Sie entwickeln selbst oder leiten ein Team?",
@@ -802,7 +806,7 @@ export const de: Content = {
{
question: "Wie erreiche ich Sie?",
answer:
"Per E-Mail oder Videocall. Ich arbeite remote und bin zu europäischen Geschäftszeiten erreichbar.",
"Per E-Mail oder Videocall. Ich arbeite remote; einen Termin vereinbaren wir so, dass er für Sie passt.",
},
],
},
+5 -1
View File
@@ -572,6 +572,10 @@ export const en: Content = {
"I do not book single days",
],
cta: "Ask about availability",
remote: {
title: "Remote, without fixed office hours",
text: "I work from wherever I am and plan my own time. For meetings with your team I am there by arrangement. I am not reachable all day long; in return I work on your project undisturbed the rest of the time.",
},
},
teaser: {
title: "You develop yourself or lead a team?",
@@ -782,7 +786,7 @@ export const en: Content = {
{
question: "How do I reach you?",
answer:
"By email or video call. I work remotely and am available during European business hours.",
"By email or video call. I work remotely; we agree on a time that suits you.",
},
],
},
+2
View File
@@ -279,6 +279,8 @@ export type Content = {
readonly example: PathPrice;
readonly terms: readonly string[];
readonly cta: string;
/** Where and when the owner works: remote, no fixed hours, meetings by arrangement. */
readonly remote: TitledText;
};
/** The pointer to this page on the homepage. */
readonly teaser: TitledText & { readonly cta: string };