094 — BorderBrew — Visual CSS Border Generator
Date: 2026-08-14 Difficulty: ⭐⭐ (Easy-Medium) Estimated Build Time: 1.5–2 days Category: design tools, css, developer tools
Problem
Crafting CSS border values by hand is fiddly. Developers and designers constantly tweak border-width, style (solid/dashed/dotted/double/groove/ridge/inset/outset), color, and border-radius — often switching between editor and browser to iterate. The newer border-image property (gradient borders, pattern borders) is even harder to compose manually — it requires slice values, fill modes, and gradient syntax that most developers don't memorize. Existing online generators are either limited to basic border styles, don't support gradient/pattern borders, lack multi-side individual controls, or are ad-heavy.
What's missing: a single, clean, client-side tool that handles basic borders, per-side customization, border-radius, gradient borders (via border-image), and outputs Tailwind-compatible classes — all with live preview and one-click copy.
Core Features
P0
-
Live Border Preview — A large preview element that updates in real-time. Users see the border applied to a sample card/box element.
-
Basic Border Controls — Sliders/inputs for:
- Border width (0–20px)
- Border style selector (solid, dashed, dotted, double, groove, ridge, inset, outset, none)
- Border color (color picker)
- All-sides toggle vs. individual side controls (top, right, bottom, left each with independent width/style/color)
-
Border-Radius Controls — Sliders for corner radius: uniform + individual corners (top-left, top-right, bottom-right, bottom-left). Live preview of rounded corners.
-
Gradient Border Generator — Toggle "gradient border" mode to switch from
border-colortoborder-image: linear-gradient(...). Controls:- Two color stops with a color picker and angle dial (0–360°)
- Generates the correct
border-image+border-image-sliceCSS
-
One-Click CSS Copy — Copy the complete border CSS to clipboard. Live code block updates as you edit.
-
Preset Gallery — 15–20 curated border presets (thin elegant, thick bold, dashed notification, gradient rainbow, double-frame, rounded pill, glowing border, etc.). Click to load.
P1 (if time permits)
-
Tailwind CSS Export — Copy as Tailwind utility classes (
border-2,border-dashed,border-red-500,rounded-xl, or arbitrary values for gradients). -
Outline Mode — Toggle between
borderandoutline(non-layout-affecting border alternative). -
Shareable URL — Encode border state in URL search params (no backend needed).
Target User
- Frontend developers building UI components who need quick border styling with correct CSS output.
- UI designers prototyping card, button, or container borders and wanting instant CSS.
- Indie hackers working on landing pages who want polished border effects without memorizing syntax.
Suggested Stack
- Client-side only — no database, no auth, no AI, no backend.
- Next.js 15 (App Router) + React 19 + TypeScript.
- Tailwind CSS v4 + Shadcn/ui for editor controls (sliders, color pickers, dropdowns, buttons).
- Pure CSS rendering for the preview element.
- localStorage for persistence (save custom presets).
- URL search params for shareable links.
- Vitest for unit tests (CSS generation functions, preset loading, URL encoding).
- Playwright for E2E (edit controls → verify preview → copy CSS).
Feasibility Gut-Check
| Component | Est. Time | Notes |
|---|---|---|
| Border CSS generation engine + unit tests | 2h | String composition for border shorthand |
| Live preview + basic border controls | 2h | Width slider, style selector, color picker |
| Per-side controls toggle | 1.5h | Expand/collapse individual side panels |
| Border-radius controls (uniform + per-corner) | 1.5h | Sliders, live preview |
| Gradient border mode (border-image) | 2.5h | Angle dial, two color stops, border-image-slice |
| Preset gallery (15–20 curated) | 1h | Static data + thumbnail rendering |
| CSS copy + code block + Tailwind export | 1h | String formatting, clipboard API |
| Shareable URL + localStorage persistence | 1h | URLSearchParams, serialize/deserialize |
| E2E tests | 1.5h | Happy path + copy/export |
| Total | ~14h | Well within 2–3 day budget |
No external API calls, no auth, no database, no background jobs. Entirely deterministic and client-side. The hardest part is the gradient border-image syntax generation (requires correct slice/fill values), which is well-documented.
Hard-Rule Pre-Filter (Self-Check)
- Effort ≤ ~24h — Pass (~14h)
- No billing + multi-tenant + customer-portal — Pass
- No background-job orchestration — Pass
- No 3+ OAuth/third-party integration flows — Pass (zero integrations)
- No drag-and-drop editors — Pass
- No realtime/WebSocket layers — Pass
- No media-processing pipelines — Pass
Verdict: Clears all hard rules. Proceed to backlog.
Differentiation Wedge
Gradient border (border-image) support + per-side controls + Tailwind CSS export + ad-free. Most generators only handle basic border shorthand and don't cover border-image gradients. The preset gallery with decorative/gradient borders provides instant inspiration that raw CSS property editors lack. Follows the proven BoxShadow (062) + GradientForge (078) CSS-generator pattern in the catalog.
Brainstorm Review
Scored 2026-08-14 — PROMOTED to Ready for Design
| Axis | Score | Rationale |
|---|---|---|
| Feasibility | 5/5 | Client-side only, no backend/DB/auth/APIs. ~14h estimate well within budget. Follows proven BoxShadow/GradientForge CSS-generator pattern. |
| Market Fit | 3/5 | Real pain for border-image gradient borders; clear target users (frontend devs, designers). Narrow slice of dev workflow — useful niche but not universal must-have. Existing free tools partially cover basic borders. |
| Complexity | 5/5 | Very simple scope: sliders, pickers, live preview, copy-to-clipboard. Fully deterministic, no infrastructure. |
| Total | 13/15 |
Decision: PROMOTE. Total ≥ 12 and Market Fit ≥ 3. All hard-rule pre-filters passed. Proven CSS-generator pattern in the catalog with clear differentiation (gradient border-image + per-side + Tailwind export).
🔗 Related ideas
None identified. BoxShadow (062) generates box-shadow values — a different CSS property. GradientForge (078) generates background-image: gradient() for backgrounds, not borders. SpacerScale (063) handles spacing units. BorderBrew's job-to-be-done (compose + export CSS border styles including gradient borders) is distinct from all existing PRDs.
Architecture Design Spec
Status: ✅ Design Complete — Ready for implementation. Architecture document:
designs/094-BorderBrew-architecture.mdC4 Container diagram:diagrams/borderbrew-architecture.htmlDesigned by: System Architect | Date: 2026-08-14