GeekBrain.io Website - Specification Review & consolidation
Comparison of Existing Specs
Two specification documents exist:
2026-03-21-geekbrain-vc-webpage-design.md (older)
2026-03-21-vc-fund-webpage-design.md (newer)
Status: Both are drafts. Need consolidation and refinement before implementation.
Key Differences & Inconsistencies
1. Component Interface Definitions
| Component |
Spec 1 Definition |
Spec 2 Definition |
Status |
|
|
|
|
|
| GlitchText |
`as?: 'h1' |
'h2' |
'h3'` |
`as?: 'h1' |
'h2' |
'h3' |
'span'` |
Spec 2 more complete |
| GlowButton/Link |
GlowLink component |
GlowButton component (mentioned) |
CONFLICT |
|
|
|
|
|
| ParticleBackground |
No custom props defined |
Internal config only |
Both vague |
|
|
|
|
|
2. File Structure
Spec 1:
geekbrain-site/
├── app/
│ ├── layout.tsx
│ ├── page.tsx
│ └── globals.css
├── components/ (6 components)
├── tailwind.config.ts
├── tsconfig.json
├── package.json
└── README.md
Spec 2:
geekbrain-site/
├── app/
│ ├── layout.tsx
│ ├── page.tsx
│ └── globals.css
├── components/ (6 components - note: GlowButton vs GlowLink)
├── tailwind.config.ts
├── next.config.js ← different
└── package.json
Issue: next.config.js vs tsconfig.json - both may be needed.
3. Typography
Spec 1:
- Headings: Space Grotesk (600-700)
- Body: Inter (400)
- Code: JetBrains Mono (optional)
Spec 2:
- Mentions Space Grotesk and Inter but no weights specified
Gap: Need to specify exact font weights and loading strategy.
4. Animation Details
Spec 1 has more detail:
- Glitch: "2.5s animation loop: 70% stable, 30% glitching"
- Scroll animations: IntersectionObserver with staggered timing
- Performance notes: GPU-accelerated properties
Spec 2 has: High-level animation strategy table only.
5. Accessibility
Spec 1 includes full Accessibility section (7 items) Spec 2 does NOT mention accessibility at all
Gap: This is critical - should be included.
Spec 1 includes:
- Particle system pause when tab hidden
- Use of CSS transforms/opacity
- Lazy load fonts via next/font
- Static generation note
Spec 2 includes:
- Similar but slightly different wording
- Also mentions IntersectionObserver (not scroll listeners)
7. Copy/Content
Spec 1 provides draft copy for About section Spec 2 provides slightly different draft copy
Difference:
- Spec 1: "decades of technical expertise"
- Spec 2: "capital, network, and strategic support"
8. Missing Elements
- Next.js config:
next.config.js content not specified
- Environment variables: None mentioned
- Testing strategy: Not covered
- SEO metadata: Not specified
- Favicon/OG images: Not mentioned
- Responsive breakpoints: Not detailed
- Error handling: Not discussed
- Build configuration: Minimal
Recommended Refinements
1. Consolidate Files
Recommended: Keep one master spec and archive the other as historical.
- Use the more detailed spec (
2026-03-21-geekbrain-vc-webpage-design.md) as base
- Incorporate missing elements from the other
2. Resolve Component Naming
Decision needed: GlowLink or GlowButton?
Recommendation: Keep GlowLink for social links, consider separate GlowButton if call-to-action buttons are needed. Since current design only needs social link, use GlowLink for now.
3. Add Missing Sections
Needed additions to spec:
## Next.js Configuration
## Environment & API Keys (if any)
## SEO & Metadata
## Responsive Design Breakpoints
## Testing Strategy
## Browser Support
## Deployment Checklist
4. Clarify Particle Configuration
Current specs vague - need specific:
- tsparticles preset or custom config file?
- Exact particle count, speed values, colors (hex codes)
- Interaction details (repel/attract strength)
5. Define Tailwind Config
Should specify:
- Custom color palette (extend theme.colors)
- Custom glow utilities (glow-blue, glow-cyan)
- Animation keyframes (pulse-glow)
6. Accessibility Section (MANDATORY)
Add comprehensive A11y requirements:
- Proper heading hierarchy
- Focus management
- Reduced motion preferences
- Color contrast ratios (WCAG AA minimum)
- Screen reader testing
7. Specify Font Loading
Recommend: Use next/font with:
SpaceGrotesk for headings (weights: 600, 700)
Inter for body (weights: 400, maybe 500)
- Fallback fonts: system-sans
8. Performance Budget
Add specific targets:
- Lighthouse score goals: Performance >90, Accessibility >90
- Bundle size limits
- Image optimization strategy (none needed if no images)
- Lazy loading for below-the-fold content
9. File-by-File Detailed Specs
Current high-level structure is good, but add:
- Exact imports needed in each file
- PropTypes or TypeScript interfaces
- CSS modules vs Tailwind approach
- Test file locations
10. Graphic Assets
Specify if any assets needed:
- SVG icons (LinkedIn)
- Logo (GeekBrain.io wordmark)
- Favicon sizes
- No images currently planned
Action Items
- Choose primary spec - Which version do you prefer as base?
- Decide on GlowLink vs GlowButton
- Confirm About section copy - which version, or merge?
- Specify exact particle config (need tsparticles JSON)
- Define responsive breakpoints (mobile-first: 640px, 768px, 1024px, 1280px)
- Add Next.js config details (any special config needed?)
- Confirm font sources - Google Fonts? Local? CDN?
Questions for You
- Should I consolidate both specs into a single, comprehensive, refined specification document?
- Which About section copy do you prefer, or should I merge them?
- Do you have specific particle background configuration preferences, or should I use the tsparticles default with blue theme tweaks?
- Are there any brand guidelines (logo files, specific colors, fonts) that should override the draft specs?
- Do you need any backend functionality (contact form, API routes) or is this purely static?
Please answer these so I can create the final, implementation-ready specification.