A collection of interactive coding challenges, experiments, and demos. This repository showcases creative programming projects ranging from 3D visualizations to games and UI experiments.
# Install dependencies
npm install
# Start development server
npm run dev
# Or start production server
npm start
# Build project index
npm run buildVisit http://localhost:3000 to view the project index and browse all available codepens.
This repository includes powerful Python scripts for project management and data analysis:
# Create virtual environment (if not exists)
python3 -m venv .venv
# Activate virtual environment
source .venv/bin/activate # On Linux/Mac
# or
.venv\Scripts\activate # On Windows
# Install Python dependencies
pip install -r requirements.txt-
scripts/build-index.py- ποΈ Main project index builder- Automatically scans all projects and generates the beautiful homepage
- Supports watch mode for continuous rebuilding
- Includes smart caching for fast incremental updates
-
scripts/download-pen.py- π₯ CodePen downloader utility- Downloads CodePens for local development
- Handles assets and dependencies
-
scripts/codepen-stats.py- π Statistics generator- Analyzes project data and generates insights
- Tracks technology usage and project metrics
-
scripts/update-index.sh- π Shell wrapper script- Convenient interface for running the build script
- Supports both single build and watch modes
# Build project index once
python3 scripts/build-index.py
# Watch for changes and auto-rebuild
python3 scripts/build-index.py --watch
# Use the shell wrapper (recommended)
./scripts/update-index.sh # Build once
./scripts/update-index.sh watch # Watch mode
# Generate project statistics
python3 scripts/codepen-stats.pyThe project uses these Python packages:
beautifulsoup4- HTML parsing and manipulationcloudscraper- Web scraping with anti-bot protection
codepens/
βββ public/
β βββ index.html # Auto-generated project index
β βββ challenges/ # Coding challenges and solutions
β βββ css/ # Shared stylesheets
βββ challenges/ # Challenge source files
βββ other/ # Experimental projects
βββ assets/ # Shared assets
βββ server/ # Express.js server
βββ scripts/ # Build and utility scripts
Based on recent commits, this repository includes:
- 3D Sign: Interactive 3D text visualization
- City UI: Modern city-themed user interface
- Word Game: Interactive word-based game
- Spheres: 3D sphere animations and interactions
- Planets: Solar system visualization
- Solar Face: Creative solar-themed visualization
- π§ Smart Project Discovery: Automatically scans and indexes all projects
- π¨ Beautiful UI: Dark theme with glassmorphic cards and modern design
- π·οΈ Tech Detection: Automatically detects technologies used (jQuery, React, Canvas, Three.js, etc.)
- π Live Stats: Shows project count, categories, and technologies
- π± Responsive: Works on all devices
- β‘ Fast Development: Hot reload with nodemon
- Frontend: HTML5, CSS3, JavaScript, jQuery
- Backend: Node.js, Express.js
- Build Tools: Custom build scripts, automated linting
- Graphics: Canvas, WebGL, Three.js
- Styling: Modern CSS with glassmorphism effects
npm run dev- Start development server with auto-reloadnpm run build- Build project indexnpm run lint- Run all linters (JS, CSS, HTML, Python, Markdown)npm run format- Format code with Prettiernpm run lint:fix- Fix linting issues automatically
The repository includes an automated project index builder that:
- Scans all project folders for
index.htmlfiles - Extracts metadata (title, description, technologies)
- Categorizes projects based on folder structure
- Caches results for fast rebuilds
- Generates a beautiful HTML page at
public/index.html
- Create a new folder in
challenges/orother/ - Add an
index.htmlfile with your project - Run
npm run buildto update the project index - Your project will automatically appear on the home page
This project maintains high code quality with:
- ESLint for JavaScript linting
- Stylelint for CSS linting
- HTMLHint for HTML validation
- Prettier for code formatting
- Markdownlint for documentation
- Husky for pre-commit hooks
Visit the live demo to explore all projects: GitHub Pages
- Fork the repository
- Create a feature branch
- Add your codepen/experiment
- Run
npm run lint:fixto ensure code quality - Submit a pull request
ISC License - see package.json for details.
Philip Walsh - GitHub
This repository is a showcase of creative coding experiments and challenges. Each project demonstrates different aspects of web development, from basic HTML/CSS to complex 3D visualizations.