Files
fivedevs.com/new-site/src/components/how-i-work.tsx
Chris Smith f96adbc99a add new-site/ — next.js marketing site for five devs
Replaces the hugo site with a custom Next.js 16 app under new-site/.
Old hugo site is untouched until cutover.

What's in here:
- Next.js 16 (App Router, Turbopack) + React 19 + Tailwind v4 + MDX
- Pages: home, services, about, work (+ 2 case studies), contact, blog
  (3 seed posts), thank-you, /sitemap.xml, /robots.txt
- Stripe Payment Link checkout for retainer + 5/10/20-hour blocks,
  with website-redesign-launch sale (50% off) toggleable in
  src/lib/pricing.ts. Falls back to /contact when env vars unset.
- Guarantees component on home + services (4 promises in writing)
- HowIWork principles on about
- Client logo strip with the 8 named clients (text wordmarks for now)
- JSON-LD on every important page (Organization / Person / Service /
  Article / BreadcrumbList) for SEO + LLM discoverability
- /llms.txt at site root
- STRATEGY.md with positioning, 30-day content plan, Stripe setup
  walkthrough, SEO checklist, and a list of what Chris needs to wire
  before launch (Cal.com link, mailbox, photo, client sign-off, env
  vars)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 12:22:37 +02:00

41 lines
1.2 KiB
TypeScript

export const principles = [
{
title: "Senior, end-to-end",
body:
"You hire me, you get me. I read the code, talk to the people, ship the change, and write down what I learned.",
},
{
title: "Boring tech, on purpose",
body:
"Postgres, queues, plain PHP, small dependencies. Fewer moving parts means fewer 3am pages.",
},
{
title: "Small PRs, fast feedback",
body:
"You'll see what I'm doing every day, not at the end of a three-week dark period. Reviewing my work should take minutes, not hours.",
},
{
title: "Documented as I go",
body:
"Every change ships with a short note explaining why. Your team can pick the work up cleanly if you ever bring it in-house.",
},
{
title: "Honest about scope",
body:
"If I'm not the right person for the work, I'll say so — and where I can, point you at someone who is.",
},
];
export function HowIWork() {
return (
<ul className="mt-6 space-y-5">
{principles.map((p) => (
<li key={p.title}>
<strong className="text-ink">{p.title}.</strong>{" "}
<span className="text-ink-soft">{p.body}</span>
</li>
))}
</ul>
);
}