Changelog
All notable changes to Command are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.3.0
December 23, 2024✨Added
- Admin Dashboard System: Complete admin dashboard for managing the platform
- Admin layout with sidebar navigation (
app/admin/layout.tsx) - Dashboard overview with stats cards (total users, feedback, subscriptions)
- Feedback management page with status filters and inline updates
- User management page with search and activity tracking
- Subscription management page with tier/status filtering
- Admin authentication with email whitelist (
lib/admin-auth.ts) - Reusable admin components (
components/admin/)
- Admin layout with sidebar navigation (
- Course Content System: Comprehensive course viewer for VA benefits education
- 6 comprehensive modules covering DD-214, service-connected conditions, C&P exams, claims, rating maximization, and appeals
- Course curriculum structure in
constants/course.tsx - Course sidebar with module/lesson navigation (
components/course/CourseSidebar.tsx) - Lesson content renderer with markdown support (
components/course/LessonContent.tsx) - Progress bar component (
components/course/ProgressBar.tsx) - Module card component (
components/course/CourseModuleCard.tsx) - Integration with existing progress tracking API
- Feedback System Enhancements: Enhanced feedback with notifications and responses
- Email notifications for new feedback submissions (
lib/feedback-email.ts) - Admin response endpoint (
app/api/feedback/respond/route.ts) - Status tracking (new, in-progress, resolved)
- Admin panel for feedback management (
components/feedback/FeedbackAdminPanel.tsx) - User notification emails when admin responds
- Email notifications for new feedback submissions (
- Voice Agent Rate Limiting: Rate limiting for voice sessions
- Rate limiting check in voice agent session endpoint
- Uses same
checkRateLimit()function as AI agent - Returns 429 with proper error message when limit exceeded
- Rate limit headers in response (X-Rate-Limit-Remaining, X-Rate-Limit-Limit)
- Course Authentication: Secure course access verification
- Get userId from auth session using Supabase server client
- Proper auth check with redirect to login
- Course access verification using
checkCourseAccess() - Proper null handling for Supabase client
🔄Changed
- Database Types: Added feedback table type to
lib/types/database.ts - Roadmap: Added newly completed features to roadmap.ts
- Documentation: Updated UNFINISHED_FEATURES.md with completed items
- ---
🚧 Unreleased
✨Added
- Financial Health Dashboard: Comprehensive financial health tracking in BattleStation Reports
- Savings Rate Calculator: Calculates percentage of income saved with status indicators (Excellent/Good/Fair/Needs Work)
- Emergency Fund Ratio: Shows months of expenses covered by liquid savings with 6-month target
- Debt-to-Asset Ratio: Displays liabilities as percentage of assets with health status
- Net Worth Goal Tracker: Editable goal persisted to localStorage with progress bar and time-to-goal estimate
- Net Worth Trend Chart: Historical trend with 6-month future projections (dashed line)
- Savings Rate Trend Chart: Monthly savings rate with 20% target reference line and enhanced tooltips showing income/expenses/savings
- Account Breakdown Pie Chart: Visual distribution by account type (checking, savings, investment, credit)
- Milestone Achievement System: Celebration banners for net worth milestones ($1K, $5K, $10K, $25K, $50K, $100K, $250K, $500K, $1M) with emoji indicators
- 6-Month & 12-Month Projections: Future net worth estimates based on current savings rate
- Financial Health Summary: Three-panel summary with personalized tips for savings, emergency fund, and debt levels
- Comprehensive Architecture Documentation: Enhanced
CLAUDE.mdwith complete system architecture- Detailed AI chat system architecture with API routes, models, and data flow
- Client components documentation including Three.js backgrounds
- Data management patterns with Supabase integration
- Key routes and their purposes
- Code style guidelines and environment variable requirements
- Linear project integration reference
- Community Q&A Dataset: Renamed and rebranded Reddit dataset for legal compliance
- New file:
lib/community-qa-dataset.ts(replacesreddit-dataset.ts) - Updated all function names:
getRelevantCommunityQA,searchCommunityQA,formatCommunityContext - Changed documentation:
COMMUNITY_QA_DATASET_SETUP.md(replacesCOMMUNITY_QA_SETUP.md) - Supabase table renamed to
community_qafor consistency - All references updated across codebase (AI agent, README, etc.)
- New file:
🔄Changed
- AI Model Architecture: Standardized on Grok 4.1 Fast as the sole AI model
- Removed OpenAI models (GPT-4o, GPT-4o-mini) from
constants/ai.ts - Single model configuration:
grok-4.1-fastvia xAI - Simplified model selection UI - removed model picker from chat interface
- Updated
app/api/ai-agent/route.tsto use only Grok model - Removed OpenAI API dependencies and environment variable checks
- Updated README to reflect Grok-only architecture
- Removed OpenAI models (GPT-4o, GPT-4o-mini) from
- Supabase Integration: Made Supabase services optional with graceful degradation
- Added
isSupabaseConfigured()utility function inlib/supabase.ts - Wrapped all Supabase calls with configuration checks
- Functions return
nullor empty arrays when Supabase is unavailable - Rate limiting gracefully disabled without Supabase
- Conversation history gracefully disabled without Supabase
- Course access checks gracefully disabled without Supabase
- AI chat continues to work without database persistence
- Knowledge base and community Q&A gracefully disabled when unavailable
- Added
- Chat Interface Improvements: Enhanced user experience and error handling
- Fixed model display to show "Grok 4.1 Fast" instead of raw model ID
- Improved error messages with clearer user guidance
- Better loading states during message streaming
- Enhanced visual feedback for system states
- Updated
components/AIAgentChat.tsxandcomponents/command/Chat.tsx
- Development Tooling: Updated dev environment configuration
- Disabled Turbopack in
next.config.ts(commented outturbo: {}) - Reason: Turbopack compatibility issues with Three.js and other dependencies
- Updated
scripts/check-ai-env.tsto only check forXAI_API_KEY - Removed OpenAI environment variable checks
- Simplified environment variable validation
- Disabled Turbopack in
- Documentation Updates: Project documentation reflects current architecture
- Updated
README.mdto show Grok-only AI architecture - Removed OpenAI references from setup instructions
- Updated environment variable documentation (only XAI_API_KEY required)
- Community Q&A dataset terminology throughout docs
- Updated
- Pricing Plans: Updated "Choose Your Path" billing section with 3 tiers
- Free ($0): CommandAI with 10 queries/day, basic content, community read-only access
- Pro ($20/mo): Unlimited CommandAI, full library, community access, priority support
- Lifetime ($50 one-time): Everything in Pro forever, plus course access and 1-on-1 onboarding
- Updated LandingPricing component for 3-column responsive layout
- Dependencies: Added new packages
recharts- Chart library for data visualizationreact-day-picker- Calendar componentdate-fns- Date utility librarypapaparse- CSV parsing librarygoogleapis- Google Calendar API integration@supabase/supabase-js- Supabase client for database and authstripe- Payment processing libraryai- AI SDK for chat functionality with OpenAI and XAI support@ai-sdk/openai- OpenAI provider for AI SDK@ai-sdk/xai- XAI (Grok) provider for AI SDKthree- 3D graphics library for backgrounds@react-three/fiber- React renderer for Three.js@react-three/drei- Useful helpers for React Three Fiber- Additional Radix UI components for BattleStation UI
- Project Structure: Added new directory structures
app/battlestation/- BattleStation routes and layoutapp/ai-agent/- AI Benefits Navigator pageapp/course/- Course pages and contentapp/api/ai-agent/- AI chat API routeapp/api/course/- Course progress API routesapp/api/feedback/- Feedback submission APIapp/api/stripe/- Stripe payment API routescomponents/ui/- Shadcn UI component librarycomponents/dashboard-*.tsx- BattleStation-specific componentslib/ai-agent.ts- AI agent configuration and utilitieslib/knowledge-base.ts- Knowledge base search functionslib/supabase.ts- Supabase client and helper functionslib/reddit-dataset.ts- Reddit dataset utilitiessupabase/migrations/- Database migration files
- Transformed from portfolio to consultancy-focused website
- Homepage restructured with mission, services preview, work preview
- Navigation updated with new page links (Services, Work, About)
- Route renamed from
/success-storiesto/workfor consistency - Contact section redesigned with project information instead of contact form
- Services moved from hardcoded to data-driven via SERVICES constant
- Projects enhanced with metrics and improved card design
- Glass button styling improved to remove visual artifacts
- Mobile menu styling enhanced with glassmorphism consistency
- Newsletter subscription: improved accessibility (aria-live/roles) and reduced-motion friendly entrance animation
- Floating background: respect prefers-reduced-motion and reduce element count on small screens
- Site transformed from consultancy to veteran-focused benefits platform (Command)
- Homepage rebranded to focus on veteran benefits navigation and education
- Navigation updated to include AI Agent and Course pages
- Site theme and branding updated to reflect veteran-focused mission
- Enabled Next Image optimization and set long-lived cache headers
- Added skip-to-content link and focus styles
- Standardized
PROJECTS.linksshape and types - README.md updated with current project state and multi-page architecture
- CLAUDE.md updated with latest architecture changes and development patterns
- CONTRIBUTING.md enhanced with better guidelines
- DEVELOPMENT.md updated with current tech stack
- DEPLOYMENT.md updated with latest processes
- Component organization improved with better separation
- Accessibility implementation with keyboard navigation patterns
- Performance optimizations maintained with Framer Motion
- Fixed potential timer leaks in animated components by cleaning up timeouts
- Avoided unnecessary re-renders and heavy animations when reduced motion is requested
🐛Fixed
- Homepage Three.js Background: Fixed moving background not appearing on homepage
- Changed from
absolutetofixedpositioning - Updated z-index handling for proper layering
- Increased opacity from 50% to 60% for better visibility
- Changed from
- Three.js Background Components: Fixed ESLint errors across all Three.js components
- Replaced
Math.random()with deterministicseededRandom()function usinguseMemo - Added eslint-disable comments for intentional camera mutations in
useFrame - Fixed components:
ThreeBackground,SubtleThreeBackground,DashboardThreeBackground,HeroThreeBackground
- Replaced
- Terms Page: Fixed unescaped quotes causing React/JSX lint errors
- Replaced
"with proper HTML entities (“and”)
- Replaced
- Chat Header: Fixed duplicate logo showing on desktop
- Moved
md:hiddento parent container for proper responsive hiding
- Moved
- ---
- TypeScript Improvements: Enhanced type safety in CommandChat component
- Replaced
anytypes withElementTypefor icon props in NavItem and SuggestedCard components - Removed unnecessary eslint-disable comments for properly typed props
- Added proper TypeScript imports for better type checking
- Replaced
- Code Quality: Improved variable handling in transactions page
- Added eslint-disable comments for intentionally unused state variables
- Maintained proper dependency arrays in useMemo hooks
- Enhanced code maintainability with clearer variable naming
- Command Interface (
/command): Advanced AI chat interface replacing the previous AI agent- Enhanced chat UI with collapsible sidebar and model selection
- Voice integration with microphone support for voice-to-text input
- Persistent conversation history with Supabase storage
- Multiple AI model support (GPT-4o, GPT-4o Mini, Grok models)
- Real-time rate limiting with visual indicators
- Improved error handling and user feedback
- Work Portfolio Page (
/work): Enhanced project showcase replacing success stories- Search functionality to filter projects by title, description, or technology
- Responsive design with improved mobile layout
- Interactive project cards with hover animations
- Better metrics display and project information
- Enhanced Floating Chat Button: Updated to route to new Command interface
- Improved animations and accessibility
- Better positioning and responsive behavior
- YouTube Section Improvements: Enhanced visual design and interaction
- Improved video preview with animated play button
- Better responsive layout and hover effects
- Enhanced channel branding and call-to-action
- Landing Page Enhancements: Multiple UI/UX improvements
- Better statistics display with glass effect cards
- Improved hero section animations and responsiveness
- Enhanced call-to-action buttons with gradient effects
- Transaction Import Enhancements: Better CSV processing and error handling
- Improved date parsing and transaction categorization
- Enhanced user feedback during import process
- AI Benefits Navigator: AI-powered chat assistant for VA benefits and disability claims
- Chat interface (
/ai-agent) powered by AI SDK with knowledge base integration - Real-time conversation with context-aware responses
- Knowledge base search for accurate VA benefits information
- Support for questions about DD-214, C&P exams, service-connected benefits
- Conversation history saved to Supabase
- Quick tips cards for common topics (Service-Connected Benefits, C&P Exam Prep, Transition Support)
- Chat interface (
- Course System: Comprehensive online course platform
- Course page (
/course) for "0-100% Service-Connected Disability Rating Course" - Course content page (
/course/content) with course player - 6 comprehensive modules covering DD-214, service-connected conditions, C&P exams, claims, rating maximization, and appeals
- Stripe payment integration for course enrollment
- Course access management via Supabase
- Course progress tracking
- Enrollment with one-time payment and lifetime access
- Course page (
- Stripe Payment Integration: Secure payment processing
- Stripe checkout API route (
/api/stripe/checkout) - Stripe webhook handler (
/api/stripe/webhook) for payment events - Secure course enrollment flow
- Payment session management
- CheckoutButton component for course enrollment
- Stripe checkout API route (
- Supabase Integration: Database backend and authentication
- Supabase client configuration with service role key support
- Course access management functions
- Conversation storage for AI agent
- Knowledge base database schema
- Reddit Q&A dataset schema for training data
- Migration system for database schema
- Knowledge Base System: Searchable knowledge base for AI agent
- Full-text search functionality
- Keyword matching and relevance scoring
- Category and tag-based filtering
- Knowledge base articles stored in Supabase
- Integration with AI agent for context retrieval
- Feedback System: User feedback collection
- FeedbackDialog component for collecting user feedback
- FeedbackFloatingButton for easy access on all pages
- Feedback API route (
/api/feedback) for submission - Feedback stored and analyzed for improvements
- Background Components: Enhanced visual backgrounds
HeroThreeBackground- 3D Three.js background for hero sectionsDashboardThreeBackground- Custom background for BattleStation pagesMovingGradientBackground- Animated gradient backgroundSubtleThreeBackground- Subtle Three.js particles background- Performance-optimized 3D rendering
- Theme Enhancements: Improved theme management
ThemeColorMetacomponent for dynamic browser theme color- Automatic theme color updates based on current theme (light/dark)
- Better integration with browser UI (address bar, etc.)
- Blog Posts: New content additions
- Mission Statement blog post
- Rebranding announcement post
- After Scarcity blog post
- Tesla Master Plan Part 4 post
- YouTube videos collection post
- Reddit Dataset: Community Q&A dataset
- Reddit scraper script (
scripts/scrape-community-qa.ts) - Dataset collection from r/VeteransBenefits and related subreddits
- Question-answer pairs for AI training
- Dataset setup documentation (
COMMUNITY_QA_SETUP.md)
- Reddit scraper script (
- Changelog Page: Public changelog page (
/changelog) displaying all project updates- Automatic parsing of
CHANGELOG.mdfollowing Keep a Changelog format - Organized by version with date badges
- Sections for Added, Changed, Deprecated, Removed, Fixed, and Security
- Support for nested bullet points and markdown formatting (bold, code, links)
- Added to site navigation (header and mobile menu)
- Included in sitemap for SEO
- Automatic parsing of
- Command Interface: Dedicated AI assistance page for veterans (
/command)- Text chat and voice mode tabs for comprehensive VA support
- Integration with existing AI agent chat system
- Focus on VA benefits, claims, disability ratings, and transition support
- Responsive design with glassmorphism UI and background effects
- Secure, private interface for sensitive veteran information
- Changelog Component: Reusable component for rendering changelog entries (
Changelog.tsx)- Markdown parsing and formatting for changelog items (bold, code, links)
- Support for nested bullet points and structured sections
- Icon integration for different changelog sections
- Responsive card-based layout with version badges and dates
- MarkdownRenderer Component: Universal markdown rendering component (
MarkdownRenderer.tsx)- React-markdown integration with GitHub Flavored Markdown support
- Custom styling for all markdown elements (headings, lists, code blocks, tables)
- Tailwind CSS integration for consistent theming
- Responsive table rendering with horizontal scroll
- Accessible link handling with proper security attributes
- AI Constants: Centralized AI model configuration (
constants/ai.ts)- Support for multiple AI models (GPT-5.1, GPT-4o, GPT-4o-mini, Grok variants)
- Model options with labels and descriptions for user selection
- Type-safe model selection with TypeScript interfaces
- Navigation Constants: Centralized navigation configuration (
constants/navigation.ts)- Main site navigation links (Features, Pricing, Blog)
- BattleStation navigation items with icons for sidebar menu
- Type-safe navigation structure with Lucide React icons
- BattleStation System: Comprehensive financial BattleStation with sidebar navigation
- Financial metrics cards (Balance, Spending, Budget, Savings)
- Interactive charts using Recharts (spending trends, category breakdowns)
- Transaction management with CSV import functionality
- Budget tracking across multiple categories
- Editable metric values via dialog interface
- Loading states with skeleton components
- BattleStation Routes: Multiple BattleStation pages
/battlestation- Main overview page/battlestation/transactions- Transaction history/battlestation/budgets- Budget management/battlestation/reports- Financial reports/battlestation/savings- Savings goals/battlestation/balance- Balance details
- BattleStation Components:
DashboardSidebar- Navigation sidebar with active route highlightingDashboardHeader- Header component for BattleStation pagesDashboardCardSkeleton- Loading skeleton for BattleStation cards
- Google Calendar Integration:
- API route (
/api/calendar) for fetching Google Calendar events - Support for API key authentication
- Calendar event formatting and display
- Setup documentation in
GOOGLE_CALENDAR_SETUP.md
- API route (
- UI Component Library: Added Shadcn UI components
- Avatar, Badge, Button, Calendar, Card, Chart
- Dialog, Dropdown Menu, Input, Label, Popover
- Progress, Select, Separator, Sheet, Skeleton, Table, Tabs
- Textarea component for forms and feedback
- CSV Processing: PapaParse integration for bank statement imports
- Chart Library: Recharts integration for data visualization
- Date Utilities: date-fns for date formatting and calculations
- Blog: Added "DreamGuard: The Subconscious Sentinel" post
- Blog: Added "PulsePod: The Rhythm of Life" post
- Blog: Added "Sentinel Mirror: Reflection Redefined" post
- Blog: Added "LifeLine X: The Ultimate Safety Net" post
- Blog: Per-post routes (
/blog/[id]), tag filter bar with?tag=links, clickable tags on cards - Work: Clickable case study cards linking to live sites
- Animations: Shared motion utilities (
lib/motion.ts) and reduced-motion support - SEO: Dynamic
sitemap.tsandrobots.ts, JSON-LD on blog posts - DX: Prettier + Husky + lint-staged, GitHub Actions CI (type-check, lint, build)
- Structure: Split
constants.tsxintoconstants/{site,services,projects,blog,testimonials}.ts - Multi-page architecture with dedicated routes
- Services page with interactive category tabs and keyboard navigation (arrow keys, Home/End)
- Work page combining case studies and testimonials with metrics
- About page with company story and team information
- Blog functionality with dedicated listing page
- Blog post cards with glassmorphism design and comprehensive content
- Mission statement section with veteran badge on homepage
- Project metrics display with bullet-separated format
- Contact section with project timelines and pricing information
- WCAG 2.1 AA accessibility compliance with full keyboard navigation
- ARIA attributes and semantic HTML throughout
- Focus management for mobile menu and interactive elements
- Service category management system in constants.tsx
- Enhanced content structure for consultancy business model
- Comprehensive project documentation updates
0.1.0
December 19, 2024✨Added
- Initial Next.js 15 portfolio website
- Glassmorphism design with dark/light theme support
- Single-page application with smooth scroll navigation
- Hero section with animated introduction
- Services section with glass card grid
- Projects showcase with portfolio items
- Testimonials carousel
- Contact section with company information
- Responsive design for all device sizes
- SEO optimization with comprehensive meta tags
- Performance optimizations with Framer Motion
- TypeScript strict mode implementation
- Tailwind CSS v4 integration
- shadcn/ui component library
- Lucide React icons
- Animated floating dots background
- OKLCH color space for consistent theming
- Custom glassmorphism utility classes
- Next.js 15 with App Router architecture
- React 19 with latest features
- TypeScript for type safety
- Framer Motion for animations
- PostCSS with Tailwind CSS v4
- ESLint configuration for code quality
- SWC minification for optimized builds
- Image optimization with WebP/AVIF support
- Google Fonts integration (Inter + Playfair Display)
- Company information and contact details
- Service offerings description
- Portfolio projects with live links
- Client testimonials
- Professional bio and background
- Social media integration (LinkedIn, GitHub)
- Optimized bundle size with package-level imports
- Lazy loading for images and components
- Efficient re-renders with React 19 features
- Fast refresh development experience
- Production-ready build optimization
- WCAG compliant design
- Semantic HTML structure
- Keyboard navigation support
- Screen reader compatibility
- High contrast color schemes
- Focus management for interactive elements
- Complete meta tag implementation
- OpenGraph social media optimization
- Twitter Card integration
- Structured data for search engines
- Sitemap and robots.txt files
- Google Search Console preparation
- ---
- New features
- Changes in existing functionality
- Soon-to-be removed features
- Removed features
- Bug fixes
- Security improvements