Changelog#
All notable changes to the Education Playground project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[3.0.0] - 2025-11-13#
๐จ Major UX/UI Overhaul#
Added#
Dark Mode Auto-Detection - Automatic dark mode using
@media (prefers-color-scheme: dark)CSS Variables System - Comprehensive theme variables for colors, spacing, and shadows
Improved Content Layout - Better centering and max-width constraints for readability
Enhanced Typography - Better font sizing, line heights, and spacing
Better List Formatting - Improved spacing and indentation for lists
Centered Images - All images and figures now center properly with appropriate margins
Changed#
Removed Announcement Banner - Orange โSkip to contentโ banner removed from Jupyter Book config
Updated Dark Mode Implementation - Switched from manual activation to automatic detection
Improved Article Layout - Max-width of 1000px with proper centering
Better Section Spacing - Consistent 3rem spacing between major sections
Enhanced Code Blocks - Better contrast and readability in both light and dark modes
Landing Page Theme - Forced light mode for consistent professional appearance
Fixed#
Dark Mode Not Working - Added proper CSS media queries to activate dark mode
Mixed Light/Dark Sections - Landing page now consistently light themed
Poor Content Alignment - Main content now properly centered and aligned
Inconsistent Spacing - Standardized padding and margins throughout
Welcome Modal Dark Mode - Onboarding modal now properly styled in dark mode
Choice Cards in Dark Mode - Interactive cards now have proper dark mode styling
Technical Details#
Files Modified:
_config.yml - Removed announcement banner
_static/css/custom.css - Added 56 lines of dark mode and layout improvements
codebridge-landing/app/globals.css - Forced light mode (removed dark mode detection)
CSS Architecture:
/* Auto-detect dark mode */
@media (prefers-color-scheme: dark) {
:root {
--bg-primary: #1a1a1a;
--bg-secondary: #242424;
--text-primary: #e0e0e0;
/* ... */
}
}
/* Better content centering */
.bd-article {
max-width: 1000px;
margin: 0 auto;
padding: 2rem;
}
Deployment:
Git commit:
96ddf9aGitHub Pages:
df18f30Status: โ Live
[2.2.0] - 2025-11-13#
๐ฏ Layout Alignment Fixes#
Fixed#
Problem Section Cards - Added
flex flex-col h-fullfor equal-height cardsHow It Works Cards - Fixed gap spacing from
gap-12 lg:gap-8to consistentgap-8Results Testimonials - Anchored author info to bottom with
mt-autoVisual Symmetry - All grid layouts now perfectly aligned and symmetrical
Technical Details#
Flexbox Pattern:
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
{items.map((item) => (
<div className="... flex flex-col h-full">
<div className="flex-1">
{/* Expandable content */}
</div>
<div className="mt-auto">
{/* Anchored to bottom */}
</div>
</div>
))}
</div>
Files Modified:
codebridge-landing/components/Problem.tsxcodebridge-landing/components/HowItWorks.tsxcodebridge-landing/components/Results.tsx
Deployment:
Git commit:
90b70c8Status: โ Live
[2.1.0] - 2025-11-13#
๐จ Color Palette Unification#
Changed#
Primary Color - Changed from Blue (#3A86FF) to Green (#4CAF50)
Continue Button - Updated from white to green primary color
Unified Variables - Synchronized CSS variables between both sites
Color Palette#
/* Unified Across Both Sites */
--primary-color: #4CAF50; /* Green - Actions, buttons, links */
--primary-hover: #45a049; /* Darker green - Hover states */
--secondary-color: #667eea; /* Purple - Gradients, highlights */
--secondary-dark: #764ba2; /* Dark purple - Gradient end */
--navy: #0D1B2A; /* Navy - Headings, text */
Rationale#
Green represents growth and learning
Better accessibility and contrast
Warmer, more approachable than blue
Purple gradient adds creative flair without overwhelming
Files Modified:
codebridge-landing/app/globals.css_static/css/custom.css
Deployment:
Git commit:
8f9ef59Status: โ Live
[2.0.0] - 2025-11-12#
๐ Major Feature: Landing Page Integration#
Added#
CodeBridge Labs Landing Page:
Modern Next.js 16 (Turbopack) site
6 comprehensive sections:
Hero - Gradient background with compelling CTAs
Problem - Why Schools Choose CodeBridge (3 pain points)
How It Works - 3-step implementation process
Courses - 6 course offerings with detailed descriptions
Results - Metrics and testimonials
Pricing - Custom quote inquiry form
Components:
components/
โโโ Navigation.tsx - Top nav with mobile menu
โโโ Hero.tsx - Hero section with CTAs
โโโ Problem.tsx - Pain points section
โโโ HowItWorks.tsx - Process overview
โโโ Courses.tsx - Course catalog
โโโ Results.tsx - Testimonials and metrics
โโโ Pricing.tsx - Pricing inquiry
โโโ Footer.tsx - Footer with links
Infrastructure:
deploy.sh- Automated deployment scriptGitHub Pages integration
PostHog analytics (ready for activation)
A/B testing framework
Documentation:
ARCHITECTURE.md- System design and architectureQUICK_START.md- Daily operations guideAB_TESTING_STRATEGY.md- A/B testing playbookANALYTICS_SETUP.md- PostHog setup guide
Technical Stack#
Framework: Next.js 16 with Turbopack
Styling: Tailwind CSS 4
Deployment: GitHub Pages (static export)
Build:
output: 'export'for static generationBase Path:
/Education_Playgroundfor GitHub Pages
Configuration#
// next.config.ts
const nextConfig = {
output: 'export',
basePath: '/Education_Playground',
images: { unoptimized: true },
trailingSlash: true,
};
Deployment Automation#
# deploy.sh workflow
1. npm install
2. npm run build
3. Copy output to _build/html/
4. ghp-import and push to gh-pages
Status: โ Live at https://mykolas-perevicius.github.io/Education_Playground/
[1.0.0] - Earlier#
๐ Initial Release: Jupyter Book Learning Platform#
Features#
Interactive Learning Platform:
Jupyter Book-based content delivery
50+ lessons across 4 skill levels
Interactive onboarding system
Progress tracking with localStorage
Content Structure:
Content/
โโโ beginner_scripts/ - 10 basic lessons
โโโ easy/ - Python fundamentals
โโโ medium/ - OOP and data structures
โโโ hard/ - Advanced topics (ML, CUDA, CTF)
Technologies:
Jupyter Book for content generation
Sphinx for documentation building
Custom JavaScript for interactivity
Vanilla CSS for styling
Key Features:
Skill level assessment
Personalized learning paths
Colab integration
Progress badges
Mobile responsive
Version Comparison#
Feature |
v1.0 |
v2.0 |
v2.1 |
v2.2 |
v3.0 |
|---|---|---|---|---|---|
Jupyter Book Content |
โ |
โ |
โ |
โ |
โ |
Landing Page |
โ |
โ |
โ |
โ |
โ |
Unified Colors |
โ |
โ |
โ |
โ |
โ |
Perfect Alignment |
โ |
โ |
โ |
โ |
โ |
Dark Mode |
โ |
โ |
โ |
โ |
โ |
Optimized Layout |
โ |
โ |
โ |
โ |
โ |
Announcement Banner |
โ |
โ |
โ |
โ |
โ |
Breaking Changes#
v3.0.0#
Removed: Announcement banner from Jupyter Book
Changed: Landing page now light-mode only (removed dark mode auto-detection)
Impact: None - improvements only
v2.0.0#
Added: Landing page as new entry point
Changed: Site structure now includes
/(landing) and contentImpact: URLs remain the same, landing page is additive
Upgrade Path#
From v2.x to v3.0#
git pull origin main
cd codebridge-landing
npm install
npm run build
cd ..
./codebridge-landing/deploy.sh
No breaking changes - all content and URLs remain compatible.
Future Roadmap#
Planned Features#
Manual dark mode toggle button
User authentication system
Cloud progress synchronization
Achievement system with badges
Discussion forums per lesson
Code challenge integration
Video tutorial embeds
Certificate generation
LMS integration (Moodle, Canvas)
Technical Improvements#
Fix Jupyter Book build issue (KeyError: โanchornameโ)
Implement PostHog analytics
Set up A/B testing experiments
Add search functionality
Improve SEO metadata
Add social sharing features
Content Expansion#
More beginner content
Web development track
Database tutorials
DevOps and cloud computing
Cybersecurity track
Interview preparation section
Links#
Live Site: https://mykolas-perevicius.github.io/Education_Playground/
Repository: mykolas-perevicius/Education_Playground
Landing Page Repo: mykolas-perevicius/codebridge-landing
Maintained by: Mykolas Perevicius AI Assistant: Claude (Anthropic) License: MIT Last Updated: November 13, 2025