Tracking the gains that matterβmental, physical, and technical. A living journal of deep learning, personal growth, and mindful leadership.
A modern, high-performance personal blog built with Next.js, featuring perfect SEO and accessibility scores, comprehensive testing, and a focus on technical excellence.
- Perfect Performance: 100% SEO and Accessibility scores on all pages
- Modern Stack: Built with Next.js 15, React 19, TypeScript, and Tailwind CSS
- Comprehensive Testing: Automated SEO and accessibility testing scripts
- Content Management: Markdown-based blog posts with frontmatter support
- Newsletter Integration: Firebase-powered subscription system
- Analytics: Microsoft Clarity integration for user insights
- SEO Optimized: Dynamic sitemaps, robots.txt, and structured data
- Accessibility First: WCAG 2.1 AAA compliant with focus management
- Responsive Design: Mobile-first approach with dark mode support
- Node.js 18+
- pnpm (recommended) or npm
# Clone the repository
git clone <repository-url>
cd logs-and-gains
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your configuration
# Start development server
pnpm devVisit http://localhost:3000 to see the application.
βββ app/ # Next.js app directory
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Homepage
β βββ about/ # About page
β βββ blog/ # Blog pages
β βββ robots.ts # Dynamic robots.txt
β βββ sitemap.ts # Dynamic sitemap
β βββ manifest.ts # Web app manifest
βββ components/ # React components
βββ config/ # Configuration files
β βββ site.ts # Site configuration
βββ content/ # Blog content
β βββ blog/ # Markdown blog posts
β βββ blog-index.json # Generated blog index
βββ scripts/ # Utility scripts
β βββ test-seo-local.ts # SEO testing
β βββ test-accessibility-local.ts # A11y testing
β βββ test-local-complete.ts # Quick comprehensive test
β βββ generate-llms-txt.ts # LLM training data
β βββ update-blog-index.js # Blog index generator
βββ src/ # Source code
β βββ components/ # Shared components
βββ public/ # Static assets
This project includes comprehensive testing scripts to ensure perfect SEO and accessibility:
# Quick comprehensive test (recommended for CI/CD)
pnpm run test:quick
# Detailed SEO testing
pnpm run test:seo
# Detailed accessibility testing
pnpm run test:a11y
# Run both SEO and accessibility tests in parallel
pnpm run test:audit
# Run both tests sequentially
pnpm run test:audit:sequential- SEO Testing: Lighthouse SEO audits, robots.txt, sitemap.xml, manifest accessibility
- Accessibility Testing: Lighthouse accessibility audits (includes axe-core), WCAG 2.1 compliance
- Performance: Automated performance monitoring via Lighthouse
- SEO: 100% across all pages β
- Accessibility: 100% across all pages β
- Performance: Optimized for Core Web Vitals
- Create a new Markdown file in
content/blog/:
---
title: "Your Post Title"
date: "2024-01-01"
description: "Post description for SEO"
categories: ["Deep Learning", "Personal Development"]
readTime: "5 min read"
---
Your blog content here...- Update the blog index:
pnpm run blog:update- Deep Learning
- Generative AI
- AI
- Machine Learning
- Health & Wellness
- Personal Development
- Team Leadership
- General Thoughts
- Beginner Guide
Edit config/site.ts to customize:
- Site metadata (title, description, URLs)
- Author information and social links
- Blog settings and categories
- SEO and analytics configuration
- Navigation structure
Create .env.local with:
# Microsoft Clarity (optional)
NEXT_PUBLIC_CLARITY_PROJECT_ID=your_clarity_id
# Firebase (for newsletter)
FIREBASE_CONFIG=your_firebase_config# Build the application
pnpm run build
# Start production server
pnpm startThe project is configured for deployment on:
- Vercel (recommended): Zero-config deployment
- Netlify: Static site generation
- Railway: Full-stack deployment
- Docker: Containerized deployment
# Run all tests
pnpm run test:audit
# Build and verify
pnpm run build
pnpm start
# Check production bundle
pnpm run build && npx serve out# Development
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run ESLint
# Content Management
pnpm run blog:update # Update blog index
pnpm run llms:generate # Generate LLM training data
pnpm run update-content # Update all content
# Testing & Quality
pnpm run test:quick # Quick comprehensive test
pnpm run test:seo # SEO testing
pnpm run test:a11y # Accessibility testing
pnpm run test:audit # Run both tests in parallel- CSS Framework: Tailwind CSS with custom design system
- Components: shadcn/ui for consistent UI components
- Icons: Lucide React for scalable icons
- Fonts: Roboto family (configured in Tailwind)
- Microsoft Clarity: User behavior analytics
- Built-in Analytics: Page views, reading time, engagement metrics
- Image Optimization: Next.js Image component with lazy loading
- Bundle Optimization: Tree shaking and code splitting
- Caching: Optimized caching strategies for static content
- Lighthouse CI for automated performance testing
- Core Web Vitals tracking
- Bundle size monitoring
- Automated SEO score tracking
- Sitemap validation
- Meta tag verification
- WCAG 2.1 compliance testing
- Screen reader compatibility
- Keyboard navigation testing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests:
pnpm run test:audit - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- Maintain 100% SEO and accessibility scores
- Follow TypeScript best practices
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Rajat Vijay
- Website: rajatvijay.in
- Twitter: @rajatvijay
- LinkedIn: rajat-vijay
- GitHub: @rajatvijay
- Built with Next.js
- UI components from shadcn/ui
- Styling with Tailwind CSS
- Testing with Lighthouse
- Analytics by Microsoft Clarity
"Tracking the gains that matterβmental, physical, and technical."