Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .impeccable/hook.cache.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"version":1,"sessions":{"c957bc52-5e60-4e60-b458-6a06a353d089":{"updatedAt":1782373395162,"files":{"/Users/waldek/.copilot/copilot-worktrees/dev-proxy-tools.github.io/wmastyka-microsoft-congenial-sniffle/src/pages/index.astro":{"editCount":20,"findings":["gradient-text:20","gradient-text:411","ai-color-palette:320","ai-color-palette:20","ai-color-palette:411","gradient-text:410","ai-color-palette:319","ai-color-palette:410","gradient-text:409","ai-color-palette:318","ai-color-palette:409","gradient-text:408","ai-color-palette:317","ai-color-palette:408","gradient-text:407","ai-color-palette:316","ai-color-palette:407"]},"/Users/waldek/.copilot/copilot-worktrees/dev-proxy-tools.github.io/wmastyka-microsoft-congenial-sniffle/src/styles/global.css":{"editCount":3,"findings":["side-tab:89","side-tab:90","side-tab:81"]},"/Users/waldek/.copilot/copilot-worktrees/dev-proxy-tools.github.io/wmastyka-microsoft-congenial-sniffle/src/layouts/Layout.astro":{"editCount":1,"findings":["single-font:27"]}}}}}
41 changes: 41 additions & 0 deletions PRODUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Product

## Register

brand

## Users

Developers building apps that consume APIs — frontend devs, full-stack devs, platform engineers. They land here from search, social, or word-of-mouth. They're evaluating whether Dev Proxy solves a pain they already have (flaky API integrations, untested error paths, expensive AI token burn during development). Context: at their desk, mid-project, looking for a tool that fits into their existing workflow without friction.

## Product Purpose

Marketing site for Dev Proxy — an open-source, cross-platform API simulator. The site's job is to make developers understand the value proposition in seconds and get them to try the tool. Success: a developer arrives, recognizes their own pain, and clicks through to install/get started.

## Brand Personality

Technical, confident, developer-native.

Speaks like a senior engineer who's built this for other engineers. No marketing fluff, no corporate speak. Shows rather than tells. Assumes competence. The confidence comes from knowing the tool actually works — not from shouting.

## Anti-references

- AI-generated slop — the dime-a-dozen landing page with identical structure, gradient text, glassmorphism cards, eyebrow labels on every section, and "Built for the modern developer" copy
- Generic SaaS templates — hero + 3 feature cards + pricing + footer
- Enterprise/corporate heaviness — compliance language, stock photography, dense feature matrices
- "Developer advocacy" cringe — forced enthusiasm, emoji-heavy, "🚀 Ship faster!"

## Design Principles

1. **Show the terminal, not the brochure.** Every claim is backed by a concrete code/config/output example. The product sells itself through demonstration.
2. **Respect the reader's time.** Developers skim. Front-load value. Every section earns its place or gets cut.
3. **Sell the problem you solve, not the features you have.** Lead with pain, resolve with outcome. The tool is the means, not the message.
4. **One voice, not six.** The page should feel like one coherent argument building toward a single conclusion, not a feature catalogue.
5. **Earned confidence.** Trust comes from specificity, proof, and craft — not from bold claims or social pressure.

## Accessibility & Inclusion

- WCAG 2.1 AA minimum
- Dark and light mode with system preference detection
- Reduced motion support for all animations
- No information conveyed by color alone
3 changes: 3 additions & 0 deletions src/layouts/Layout.astro
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ const ogImage = image ? new URL(image, Astro.site ?? 'https://devproxy.net').hre
<meta name="description" content={description} />
<meta name="generator" content={Astro.generator} />
<title>{title} - Dev Proxy</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&display=swap" rel="stylesheet" />
<link rel="alternate" type="application/rss+xml" title="Dev Proxy Blog" href={`${import.meta.env.BASE_URL}rss.xml`} />

<!-- Open Graph -->
Expand Down
Loading