Orange Street
All projects

Project #001

Building orange-street.com

What if you could build a professional website from scratch in a single day—with AI doing most of the work?

·15 min read·intermediate
View on GitHub

This is the first project from Orange Street—and it's about building the very website you're reading right now. Meta? Absolutely. Useful? We think so.

We wanted to create something that wasn't just another blog. We wanted a platform optimized for AI to both read AND write, with built-in distribution to every platform that matters. And we wanted to do it in a day.

1

Plan the architecture with AI

Before writing any code, we spent time discussing the architecture with Claude. We defined the post schema, block types, theme tokens, and distribution strategy—all in conversation.

"The best code is the code you think through before you write it."

Dave Hurley
2

Create the Next.js project

We used create-next-app with TypeScript, Tailwind, and the App Router. Then added shadcn/ui for accessible components.

npx create-next-app@latest orangestreet --typescript --tailwind --eslint --app
3

Design the theme system

We created a comprehensive design token system with 150+ CSS variables. This makes the entire look and feel swappable—like changing a battery pack.

:root {
  --color-background: #f8f4ee;
  --color-foreground: #1b1a17;
  --color-primary: #1f3b5b;
  --font-heading: 'Source Serif', serif;
  /* ... 140+ more tokens */
}
4

Build the block system

Posts are made of blocks—like Notion or Jupyter notebooks. We created 16 different block types: text, code, steps, screenshots, callouts, tables, embedded videos, and more.

Block TypePurpose
TextBlockProse paragraphs
CodeBlockSyntax-highlighted code with copy button
StepBlockNumbered instructions
CalloutBlockTips, warnings, notes
PullQuoteBlockEmphasized quotes (great for Twitter)
TableBlockData tables like this one
Some of the 16 block types we built
5

Optimize for AI crawlers

We added llms.txt (like robots.txt but for AI), JSON-LD structured data, semantic HTML, and clean API endpoints that AI agents can consume.

6

Build distribution endpoints

Every post can be transformed into Twitter threads, TikTok video scripts, or newsletter HTML. The canonical post.json is the single source of truth—everything else is derived.

app/api/posts/[slug]/twitter/route.ts
// Transform post into Twitter thread format
export async function GET(request, { params }) {
  const post = getPostBySlug(params.slug);
  const thread = post.meta.keyPoints.map(
    (point, i) => `${i + 1}. ${point}`
  );
  return NextResponse.json({ thread });
}

And that's it. A complete website with AI-optimized architecture, modular theming, and built-in distribution—all built in a day with Claude.

Next week, we'll build something new. Subscribe to follow along.

Notes

[1]llms.txt was proposed by Jeremy Howard in late 2024 as a way to help AI assistants understand websites.

Enjoyed this? Get the next one

New project every week. No spam.

New project every week. No spam.