docs: homepage
This commit is contained in:
parent
788cdbf58f
commit
41faf2abaf
14
INDEX.md
14
INDEX.md
|
|
@ -1,8 +1,8 @@
|
||||||
# Banatie Strategy Documentation Index
|
# Banatie Strategy Documentation Index
|
||||||
|
|
||||||
**Last Updated:** November 3, 2025
|
**Last Updated:** December 21, 2025
|
||||||
**Total Documents:** 18 (numbered in strategy/execution) + research (prefixed)
|
**Total Documents:** 19 (numbered in strategy/execution) + research (prefixed)
|
||||||
**Next Available Number:** 18
|
**Next Available Number:** 19
|
||||||
**Project Stage:** Pre-launch / MVP Development
|
**Project Stage:** Pre-launch / MVP Development
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -32,8 +32,9 @@
|
||||||
- 15 - MVP Scope v2 Realistic
|
- 15 - MVP Scope v2 Realistic
|
||||||
- 16 - Product Features
|
- 16 - Product Features
|
||||||
- 17 - Week 1 Launch Checklist
|
- 17 - Week 1 Launch Checklist
|
||||||
|
- 18 - Production Infrastructure
|
||||||
|
|
||||||
**Next to assign:** 18
|
**Next to assign:** 19
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -168,6 +169,11 @@ Status: Ready to execute ⭐
|
||||||
Goal: 3-5 early adopters try it, 1 pays (any amount)
|
Goal: 3-5 early adopters try it, 1 pays (any amount)
|
||||||
Includes: Pre-launch checklist, launch day schedule, Reddit/Discord copy templates, success criteria
|
Includes: Pre-launch checklist, launch day schedule, Reddit/Discord copy templates, success criteria
|
||||||
|
|
||||||
|
**[18 - Production Infrastructure](execution/18-production-infrastructure.md)** (Dec 21)
|
||||||
|
*Production deployment configuration and external services*
|
||||||
|
Status: ✅ Live
|
||||||
|
Includes: VPS setup, Cloudflare config, SEO, Analytics, Performance metrics
|
||||||
|
|
||||||
### Technical Documentation
|
### Technical Documentation
|
||||||
|
|
||||||
**[12 - Current Tech State](execution/12-the-current-tech-state.md)** (v1.0, Nov 1)
|
**[12 - Current Tech State](execution/12-the-current-tech-state.md)** (v1.0, Nov 1)
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
**Sprint:** Tech Debt Clear + Prompt URLs (Days 1-7)
|
**Sprint:** Tech Debt Clear + Prompt URLs (Days 1-7)
|
||||||
**Focus:** Unified product approach (Direction 1 + 2 combined)
|
**Focus:** Unified product approach (Direction 1 + 2 combined)
|
||||||
**Next Milestone:** Ultra-minimal launch (Week 1 - Prompt URLs + Manual payments)
|
**Next Milestone:** Ultra-minimal launch (Week 1 - Prompt URLs + Manual payments)
|
||||||
**Last Updated:** November 3, 2025 (documentation integrated)
|
**Last Updated:** December 21, 2025
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -46,7 +46,12 @@
|
||||||
- [ ] Prompt URLs (3 days) - Universal entry point
|
- [ ] Prompt URLs (3 days) - Universal entry point
|
||||||
|
|
||||||
**Non-tech (Day 8):**
|
**Non-tech (Day 8):**
|
||||||
- [ ] Landing page (2 hours) - Single page, hero + pricing + CTA
|
- [x] Landing page deployed (~Dec 15, 2025) - See [18-production-infrastructure.md](execution/18-production-infrastructure.md)
|
||||||
|
- [x] Cloudflare CDN + Cache Rules configured
|
||||||
|
- [x] Google Search Console verified
|
||||||
|
- [x] Umami Analytics connected
|
||||||
|
- [x] SEO meta tags + OG image configured
|
||||||
|
- [x] PageSpeed 95+ mobile achieved
|
||||||
- [ ] Docs page (2 hours) - Prompt URLs + API examples
|
- [ ] Docs page (2 hours) - Prompt URLs + API examples
|
||||||
- [ ] Signup flow (30 min) - Google Form, manual process
|
- [ ] Signup flow (30 min) - Google Form, manual process
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,26 @@ Until ICP is validated (selected + customer interviews complete), most other str
|
||||||
|
|
||||||
## Soon Topics (Schedule Within 1 Month)
|
## Soon Topics (Schedule Within 1 Month)
|
||||||
|
|
||||||
|
### 0. SEO & Indexing Review
|
||||||
|
**Added:** December 21, 2025
|
||||||
|
**Context:** Landing page live, but some SEO issues need attention
|
||||||
|
**Tasks:**
|
||||||
|
- [ ] Fix trailing slash redirect (Cloudflare rule not working)
|
||||||
|
- `https://banatie.app` returns 200 instead of 301 → `https://banatie.app/`
|
||||||
|
- Current rule: `http.request.full_uri eq "https://banatie.app"` — not matching
|
||||||
|
- Options: Page Rules, Bulk Redirects, or leave (canonical handles it)
|
||||||
|
- [ ] Verify Google indexing after ~1 week
|
||||||
|
- Check "Страница является копией" warning resolved
|
||||||
|
- Confirm only `https://banatie.app/` indexed (not www, not non-slash)
|
||||||
|
- [ ] Monitor Search Console for crawl errors
|
||||||
|
|
||||||
|
**Why:** Clean SEO foundation before content marketing push
|
||||||
|
**Related doc:** [18-production-infrastructure.md](../execution/18-production-infrastructure.md)
|
||||||
|
**Owner:** Oleg
|
||||||
|
**Urgency:** Soon (check in 1 week)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### 1. MVP Scope Definition
|
### 1. MVP Scope Definition
|
||||||
**Context:** After ICP validated, need to strip product to ultra-minimal feature set
|
**Context:** After ICP validated, need to strip product to ultra-minimal feature set
|
||||||
**Why urgent:** Cannot launch without clear scope
|
**Why urgent:** Cannot launch without clear scope
|
||||||
|
|
@ -344,5 +364,5 @@ When you want to discuss something new:
|
||||||
|
|
||||||
**Document owner:** @men + Oleg (joint)
|
**Document owner:** @men + Oleg (joint)
|
||||||
**Next review:** After ICP validation complete
|
**Next review:** After ICP validation complete
|
||||||
**Last updated:** October 19, 2025
|
**Last updated:** December 21, 2025
|
||||||
**Related docs:** All strategic documents reference this backlog
|
**Related docs:** All strategic documents reference this backlog
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,224 @@
|
||||||
|
# Production Infrastructure
|
||||||
|
|
||||||
|
**Date:** December 21, 2025
|
||||||
|
**Purpose:** Document production deployment configuration and external services
|
||||||
|
**Status:** ✅ Live
|
||||||
|
**Related docs:** [12-the-current-tech-state.md](12-the-current-tech-state.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Production URLs
|
||||||
|
|
||||||
|
| URL | Purpose | Status |
|
||||||
|
|-----|---------|--------|
|
||||||
|
| https://banatie.app/ | Landing page | ✅ Live |
|
||||||
|
| https://www.banatie.app/ | Redirects to non-www | ✅ Configured |
|
||||||
|
| https://api.banatie.app/ | API service | ⏳ Not deployed |
|
||||||
|
| https://cdn.banatie.app/ | Image CDN | 🔮 Future |
|
||||||
|
|
||||||
|
**Canonical URL:** `https://banatie.app/` (non-www, with trailing slash)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Hosting Infrastructure
|
||||||
|
|
||||||
|
### VPS Provider
|
||||||
|
- **Provider:** Contabo
|
||||||
|
- **Location:** Singapore
|
||||||
|
- **Plan:** Minimum tier
|
||||||
|
- **Shared with:** Family Nextcloud, Gitea
|
||||||
|
|
||||||
|
### Server Stack
|
||||||
|
- **Reverse Proxy:** Caddy (auto SSL via Let's Encrypt)
|
||||||
|
- **Container Runtime:** Docker Compose
|
||||||
|
- **Landing App:** Next.js 15 (standalone output)
|
||||||
|
|
||||||
|
### Docker Services (Landing)
|
||||||
|
```
|
||||||
|
banatie-landing:
|
||||||
|
- Next.js standalone server
|
||||||
|
- Port: 3000 (internal)
|
||||||
|
- Volume: ./waitlist-logs (email collection)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Domain & DNS
|
||||||
|
|
||||||
|
### Domain Registration
|
||||||
|
- **Registrar:** GoDaddy
|
||||||
|
- **Domain:** banatie.app
|
||||||
|
|
||||||
|
### DNS Management
|
||||||
|
- **Provider:** Cloudflare (migrated from GoDaddy)
|
||||||
|
- **Nameservers:** cosmin.ns.cloudflare.com, ursula.ns.cloudflare.com
|
||||||
|
|
||||||
|
### DNS Records
|
||||||
|
| Type | Name | Value | Proxy |
|
||||||
|
|------|------|-------|-------|
|
||||||
|
| A | banatie.app | [VPS IP] | ✅ Proxied |
|
||||||
|
| CNAME | www | banatie.app | ✅ Proxied |
|
||||||
|
| CNAME | api | banatie.app | ✅ Proxied |
|
||||||
|
| CNAME | cdn | banatie.app | ✅ Proxied |
|
||||||
|
| TXT | @ | google-site-verification=... | DNS only |
|
||||||
|
| TXT | _dmarc | v=DMARC1;... | DNS only |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Cloudflare Configuration
|
||||||
|
|
||||||
|
### SSL/TLS
|
||||||
|
- **Mode:** Full (strict)
|
||||||
|
- **Certificate:** Cloudflare Edge + Caddy (Let's Encrypt) on origin
|
||||||
|
|
||||||
|
### Cache Rules
|
||||||
|
**Rule: "Cache Next.js static"**
|
||||||
|
```
|
||||||
|
Match:
|
||||||
|
- URI Path starts with /_next/static
|
||||||
|
- URI Path ends with .png
|
||||||
|
- URI Path starts with /_next/image
|
||||||
|
|
||||||
|
Then:
|
||||||
|
- Browser TTL: 1 month
|
||||||
|
- Edge TTL: 1 month
|
||||||
|
- Cache Key: Include all query string parameters
|
||||||
|
```
|
||||||
|
|
||||||
|
### Redirect Rules
|
||||||
|
**Rule: "Add trailing slash"**
|
||||||
|
```
|
||||||
|
Match: http.request.full_uri eq "https://banatie.app"
|
||||||
|
Then: 301 redirect to https://banatie.app/
|
||||||
|
```
|
||||||
|
|
||||||
|
### AI Crawl Control
|
||||||
|
- **Managed robots.txt:** Disabled (self-managed)
|
||||||
|
- **AI bot access:** Allowed for all crawlers
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. SEO Configuration
|
||||||
|
|
||||||
|
### Meta Tags
|
||||||
|
- **Title:** AI Image Generation Inside Your Workflow | Banatie
|
||||||
|
- **Description:** Generate production-ready images via API, SDK, CLI, or live URLs...
|
||||||
|
- **Keywords:** API-first image generation, AI image API, image generation for developers...
|
||||||
|
- **Author:** Banatie
|
||||||
|
- **Robots:** index, follow
|
||||||
|
|
||||||
|
### Open Graph
|
||||||
|
- **og:url:** https://banatie.app/
|
||||||
|
- **og:image:** https://banatie.app/og-image.png
|
||||||
|
- **og:type:** website
|
||||||
|
- **og:locale:** en_US
|
||||||
|
|
||||||
|
### Technical SEO
|
||||||
|
- **Canonical:** `<link rel="canonical" href="https://banatie.app/"/>`
|
||||||
|
- **Alternate hreflang:** en (self-referencing)
|
||||||
|
- **robots.txt:** /robots.txt (self-managed)
|
||||||
|
- **Sitemap:** https://banatie.app/sitemap.xml
|
||||||
|
|
||||||
|
### Google Search Console
|
||||||
|
- **Status:** ✅ Verified (TXT record)
|
||||||
|
- **Indexed pages:** 1 (banatie.app/)
|
||||||
|
- **Last crawl:** December 19, 2025
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Analytics
|
||||||
|
|
||||||
|
### Umami Analytics
|
||||||
|
- **Plan:** Cloud (free tier)
|
||||||
|
- **Dashboard:** cloud.umami.is
|
||||||
|
- **Website ID:** 5af6a122-ca2e-4a48-9bfd-9cfd4d7b5174
|
||||||
|
- **Future:** Self-hosted planned
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Performance
|
||||||
|
|
||||||
|
### PageSpeed Scores (December 19, 2025)
|
||||||
|
| Metric | Mobile | Desktop |
|
||||||
|
|--------|--------|---------|
|
||||||
|
| Performance | 95 | 99 |
|
||||||
|
| Accessibility | 100 | 100 |
|
||||||
|
| Best Practices | 100 | 100 |
|
||||||
|
| SEO | 100 | 100 |
|
||||||
|
|
||||||
|
### Core Web Vitals (Mobile)
|
||||||
|
- **FCP:** 1.7s
|
||||||
|
- **LCP:** 2.9s
|
||||||
|
- **TBT:** 10ms
|
||||||
|
- **CLS:** 0
|
||||||
|
|
||||||
|
### Image Optimization
|
||||||
|
- **Optimizer:** Next.js built-in
|
||||||
|
- **Formats:** AVIF (primary), WebP (fallback)
|
||||||
|
- **Logo size:** 376KB → 7.5KB (50x reduction)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Email Collection
|
||||||
|
|
||||||
|
### Current Implementation
|
||||||
|
- **Storage:** File-based (volume on VPS)
|
||||||
|
- **Location:** ./waitlist-logs/
|
||||||
|
- **Format:** JSON files per submission
|
||||||
|
- **Email sending:** Not implemented
|
||||||
|
|
||||||
|
### Data Captured
|
||||||
|
- Email address
|
||||||
|
- Selected options from popup
|
||||||
|
- Timestamp
|
||||||
|
|
||||||
|
### Future Plans
|
||||||
|
- Email service integration (TBD)
|
||||||
|
- Welcome email automation
|
||||||
|
- Newsletter setup
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Next.js Configuration
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
// next.config.ts
|
||||||
|
const nextConfig: NextConfig = {
|
||||||
|
output: 'standalone',
|
||||||
|
trailingSlash: true,
|
||||||
|
images: {
|
||||||
|
formats: ['image/avif', 'image/webp'],
|
||||||
|
},
|
||||||
|
eslint: {
|
||||||
|
ignoreDuringBuilds: true,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Deployment Checklist
|
||||||
|
|
||||||
|
### Completed ✅
|
||||||
|
- [x] Landing page deployed (~December 15, 2025)
|
||||||
|
- [x] Domain connected via Cloudflare
|
||||||
|
- [x] SSL configured (Full strict)
|
||||||
|
- [x] Google Search Console verified
|
||||||
|
- [x] Umami analytics connected
|
||||||
|
- [x] Meta tags and OG image configured
|
||||||
|
- [x] Cache rules for static assets
|
||||||
|
- [x] Trailing slash redirect
|
||||||
|
- [x] Image optimization (AVIF)
|
||||||
|
- [x] PageSpeed 95+ mobile
|
||||||
|
|
||||||
|
### Pending ⏳
|
||||||
|
- [ ] API service deployment
|
||||||
|
- [ ] CDN service setup (Imageflow + MinIO)
|
||||||
|
- [ ] Email service integration
|
||||||
|
- [ ] Self-hosted Umami migration
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Document Owner:** Oleg
|
||||||
|
**Last Updated:** December 21, 2025
|
||||||
|
**Next Review:** After API deployment
|
||||||
Loading…
Reference in New Issue