Add project status log for context continuity
This commit is contained in:
parent
fc154bdebb
commit
bfb7aef7f3
|
|
@ -0,0 +1,249 @@
|
||||||
|
# Project Status - kbanc-nextjs
|
||||||
|
|
||||||
|
**Last Updated:** November 9, 2025
|
||||||
|
**Current Commit:** fc154bd
|
||||||
|
**Live Site:** https://kbanc-nextjs.netlify.app
|
||||||
|
**Repository:** https://github.com/kbanc85/kbanc-nextjs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Project Overview
|
||||||
|
|
||||||
|
This is a Next.js 15 static site for Kamil Banc's AI Implementation Claims Library. The site is optimized for GEO (Generative Engine Optimization) to be easily discovered and cited by AI search engines.
|
||||||
|
|
||||||
|
### Tech Stack
|
||||||
|
- **Framework:** Next.js 15 (App Router, SSG)
|
||||||
|
- **Language:** TypeScript
|
||||||
|
- **Styling:** Tailwind CSS
|
||||||
|
- **Deployment:** Netlify (auto-deploy from GitHub main branch)
|
||||||
|
- **Automation:** GitHub Actions (runs daily at midnight UTC)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recent Changes (November 9, 2025)
|
||||||
|
|
||||||
|
### 1. Favicon Update
|
||||||
|
- Replaced red square emoji favicon with K BANC logo
|
||||||
|
- Updated files: `public/favicon.ico`, `public/favicon.png`
|
||||||
|
- Removed: `public/favicon.svg`
|
||||||
|
- Updated icon metadata in `src/app/layout.tsx`
|
||||||
|
- **Commit:** 1df73f1
|
||||||
|
|
||||||
|
### 2. Premium CTA Redesign
|
||||||
|
- Made premium subscription CTA less prominent
|
||||||
|
- Changed from bold accent-highlighted box to subtle bordered sidebar
|
||||||
|
- Moved from full-width below bio to sidebar position
|
||||||
|
- Relocated social links (LinkedIn, AI Adopters Club) into CTA box
|
||||||
|
- **Commit:** 4455984
|
||||||
|
|
||||||
|
### 3. Header Layout Restructuring
|
||||||
|
- Complete redesign of header component
|
||||||
|
- **New Layout:**
|
||||||
|
- Left side: Photo, name, title, and full bio (3 paragraphs)
|
||||||
|
- Right side: Premium CTA box with social links (320px width)
|
||||||
|
- Both sides aligned at bottom using `items-end`
|
||||||
|
- **File:** `src/components/Header.tsx`
|
||||||
|
- **Commit:** fc154bd
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
### Key Directories
|
||||||
|
```
|
||||||
|
/src
|
||||||
|
├── app/ # Next.js app router pages
|
||||||
|
│ ├── page.tsx # Homepage
|
||||||
|
│ ├── layout.tsx # Root layout with metadata
|
||||||
|
│ ├── claims-library/ # Claims pages
|
||||||
|
│ ├── faq/ # AI Adoption FAQ
|
||||||
|
│ └── how-i-built-this/ # Case study page
|
||||||
|
├── components/ # React components
|
||||||
|
│ ├── Header.tsx # Main header with bio & CTA
|
||||||
|
│ ├── ClaimsLibrary.tsx # Interactive claims display
|
||||||
|
│ ├── StatsBar.tsx # Live statistics
|
||||||
|
│ └── HowToUse.tsx # Usage instructions
|
||||||
|
├── data/
|
||||||
|
│ └── claims.ts # All claims data (SOURCE OF TRUTH)
|
||||||
|
└── lib/
|
||||||
|
└── stats.ts # Statistics calculations
|
||||||
|
|
||||||
|
/scripts
|
||||||
|
├── validate-claims.ts # Enforces 12-18 token requirement
|
||||||
|
├── generate-sitemap.ts # Creates sitemap.xml
|
||||||
|
└── generate-rss.ts # Creates feed.xml
|
||||||
|
|
||||||
|
/public
|
||||||
|
├── favicon.ico # K BANC logo favicon
|
||||||
|
├── favicon.png # K BANC logo PNG
|
||||||
|
├── feed.xml # RSS feed (auto-generated)
|
||||||
|
└── sitemap.xml # Sitemap (auto-generated)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Key Features
|
||||||
|
|
||||||
|
### 1. Claims Library
|
||||||
|
- **Location:** Homepage and `/claims-library`
|
||||||
|
- **Features:**
|
||||||
|
- Full-text search across titles and claims
|
||||||
|
- Topic filtering (Strategy, Implementation, ROI, etc.)
|
||||||
|
- Copy button with CC BY 4.0 attribution
|
||||||
|
- 5-column responsive grid (1→2→3→4→5)
|
||||||
|
- **Data Source:** `src/data/claims.ts`
|
||||||
|
- **Strict Requirement:** All claims MUST be 12-18 tokens (enforced at build time)
|
||||||
|
|
||||||
|
### 2. Stats Bar
|
||||||
|
- Live statistics calculated at build time
|
||||||
|
- Shows: articles count, total claims, avg tokens, optimal %, validation status
|
||||||
|
- **File:** `src/components/StatsBar.tsx`
|
||||||
|
- **Calculations:** `src/lib/stats.ts`
|
||||||
|
|
||||||
|
### 3. GEO Optimizations
|
||||||
|
- 12-18 token atomic claims (optimal for LLM extraction)
|
||||||
|
- Featured claim on each card (single-sentence context)
|
||||||
|
- Copy button includes full attribution
|
||||||
|
- JSON-LD structured data
|
||||||
|
- RSS feed for AI crawlers
|
||||||
|
- Semantic HTML structure
|
||||||
|
|
||||||
|
### 4. Automated Workflow
|
||||||
|
- **GitHub Action:** `.github/workflows/auto-add-articles.yml`
|
||||||
|
- **Schedule:** Daily at midnight UTC (`0 0 * * *`)
|
||||||
|
- **Function:** Checks newsletter for new articles, extracts claims, creates PR
|
||||||
|
- **APIs:** Anthropic Claude (Haiku for metadata, Sonnet for extraction)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Build Process
|
||||||
|
|
||||||
|
### Build Commands
|
||||||
|
```bash
|
||||||
|
npm run prebuild # Validates claims, generates sitemap & RSS
|
||||||
|
npm run build # Next.js static build
|
||||||
|
npm run dev # Local development server (port 3000)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Validation Rules
|
||||||
|
- **Token Length:** 12-18 tokens REQUIRED (blocks build if violated)
|
||||||
|
- **Structure:** Each article must have title, slug, date, topics, featuredClaim, 5 claims
|
||||||
|
- **Validation File:** `scripts/validate-claims.ts`
|
||||||
|
|
||||||
|
### Build Output
|
||||||
|
- 32 static pages total
|
||||||
|
- All pages pre-rendered at build time (SSG)
|
||||||
|
- Deployed automatically to Netlify on push to main
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Content Management
|
||||||
|
|
||||||
|
### Adding New Claims
|
||||||
|
1. Add article data to `src/data/claims.ts`
|
||||||
|
2. Ensure all 5 claims are 12-18 tokens
|
||||||
|
3. Include featuredClaim (1 sentence)
|
||||||
|
4. Assign 2-3 topics
|
||||||
|
5. Run `npm run build` to validate
|
||||||
|
6. Commit and push to GitHub
|
||||||
|
|
||||||
|
### Automated Article Extraction
|
||||||
|
- GitHub Action monitors newsletter
|
||||||
|
- Creates PR with extracted claims
|
||||||
|
- Manual review before merging
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
### Current Setup
|
||||||
|
- **Platform:** Netlify
|
||||||
|
- **Site:** https://kbanc-nextjs.netlify.app
|
||||||
|
- **Build Command:** `npm run build`
|
||||||
|
- **Publish Directory:** `out`
|
||||||
|
- **Auto-Deploy:** Enabled on `main` branch
|
||||||
|
|
||||||
|
### Custom Domain
|
||||||
|
- Primary: https://kbanc.com (configured in Netlify)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Important Notes
|
||||||
|
|
||||||
|
### Design Philosophy
|
||||||
|
- **Minimalist:** Clean, content-focused design
|
||||||
|
- **GEO-First:** Optimized for AI search engines, not just humans
|
||||||
|
- **Citation-Ready:** Every claim includes proper attribution
|
||||||
|
- **Mobile-Responsive:** Progressive enhancement 1→5 columns
|
||||||
|
|
||||||
|
### Token Counting
|
||||||
|
- Uses word-based approximation (not exact GPT tokens)
|
||||||
|
- Optimal range: 14-16 tokens (sweet spot for LLM extraction)
|
||||||
|
- 12-18 tokens enforced strictly
|
||||||
|
|
||||||
|
### Performance
|
||||||
|
- No backend required (100% static)
|
||||||
|
- All stats calculated at build time
|
||||||
|
- Fast page loads (< 150KB total JS)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Next Session Quick Start
|
||||||
|
|
||||||
|
1. **Navigate to project:**
|
||||||
|
```bash
|
||||||
|
cd /Users/kamil/Desktop/Projects_Active/kbanc/kbanc-nextjs
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Check status:**
|
||||||
|
```bash
|
||||||
|
git status
|
||||||
|
git log -5 --oneline
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Make changes:**
|
||||||
|
- Edit files as needed
|
||||||
|
- Run `npm run build` to validate
|
||||||
|
- Check build output for errors
|
||||||
|
|
||||||
|
4. **Deploy:**
|
||||||
|
```bash
|
||||||
|
git add -A
|
||||||
|
git commit -m "Description of changes"
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
(Netlify auto-deploys in ~2 minutes)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Common Tasks
|
||||||
|
|
||||||
|
### Update Header/Bio
|
||||||
|
- **File:** `src/components/Header.tsx`
|
||||||
|
- Current layout: Bio left, CTA right, bottom-aligned
|
||||||
|
|
||||||
|
### Add New Claim
|
||||||
|
- **File:** `src/data/claims.ts`
|
||||||
|
- Follow existing structure
|
||||||
|
- Validate with `npm run build`
|
||||||
|
|
||||||
|
### Change Color Scheme
|
||||||
|
- **File:** `src/app/globals.css`
|
||||||
|
- Accent color: `#ef4444` (red)
|
||||||
|
|
||||||
|
### Update Social Links
|
||||||
|
- **File:** `src/components/Header.tsx` (in CTA box)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contact & Links
|
||||||
|
|
||||||
|
- **Author:** Kamil Banc
|
||||||
|
- **Email:** kamil@kbanc.com
|
||||||
|
- **LinkedIn:** https://www.linkedin.com/in/kbanc/
|
||||||
|
- **AI Adopters Club:** https://aiadopters.club
|
||||||
|
- **Premium Subscription:** https://aiadopters.club/subscribe
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**End of Status Log**
|
||||||
Loading…
Reference in New Issue