A personal portfolio and interactive coding laboratory built to explore the boundaries of web development and algorithm implementation.
This project exists as a playground for experimentation—to see how much I can build, learn, and push the limits of modern web technologies. It's my sandbox for exploring complex algorithms, game AI, visualization techniques, and creative coding challenges.
Every lab, every algorithm, and every interaction represents a learning opportunity. From implementing minimax algorithms to building custom animation engines, this portfolio is a testament to curiosity-driven development and the joy of solving interesting problems.
- Bagchal: Traditional Nepali board game with AI opponent using minimax algorithm and opening books
- DSA Visualizer: Real-time visualization of sorting algorithms (Bubble, Quick, Merge, Heap) and pathfinding (A*, Dijkstra, BFS, DFS)
- Conway's Game of Life: Cellular automaton simulation with pattern library and real-time statistics
- Tic-Tac-Toe: Classic game with unbeatable AI implementation
- Modular Game Engine: Abstracted BaseEngine system for rapid game development
- Reusable AI Framework: Minimax implementations with alpha-beta pruning
- Custom Animation Engine: State management system for algorithm visualization
- Component Architecture: Clean, maintainable Svelte 5 components
- SvelteKit 5 with Server-Side Rendering
- TypeScript for type safety throughout
- Tailwind CSS 4 for consistent styling
- Cloudflare Workers deployment
- MDsveX for technical blog integration
These labs are experimental projects built for learning and exploration. While I strive for quality, you may encounter bugs, performance issues, or unexpected behavior. This is part of the experimentation process.
If you find any issues or have suggestions for improvements, please feel free to:
- Message me directly
- Create an issue on the GitHub repository
- Submit a pull request with fixes or enhancements
Your feedback helps make these experiments better for everyone.
- Implement Web Workers for heavy algorithm computations
- Add progressive loading for large datasets
- Optimize animation performance with requestAnimationFrame batching
- Add service worker for offline functionality
- Add keyboard shortcuts for all interactive labs
- Implement dark/light theme toggle
- Add accessibility improvements (ARIA labels, screen reader support)
- Create mobile-optimized controls for complex interactions
- Add comprehensive test suite for algorithms
- Implement error boundaries and graceful error handling
- Add TypeScript strict mode compliance
- Create automated deployment pipeline with testing
- Graph Algorithms: Spanning trees, topological sorting, network flow
- Machine Learning: Neural network visualization, gradient descent animation
- Data Structures: Binary trees, heaps, hash tables with interactive operations
- String Algorithms: Pattern matching, suffix trees, edit distance
- Chess Engine: Full chess implementation with advanced AI
- Maze Generator: Procedural maze generation with various algorithms
- Cellular Automata: Rule 30, Langton's Ant, and other automaton systems
- Physics Simulations: Particle systems, collision detection, fluid dynamics
- Code Playground: In-browser code editor for algorithm experimentation
- Performance Benchmarking: Real-time algorithm performance comparison
- 3D Visualizations: WebGL-based algorithm animations
- Collaborative Features: Share custom algorithms and visualizations
This is a personal learning project, but I welcome contributions, suggestions, and discussions about algorithms, optimizations, or interesting problems to solve.
- Fork the repository and create a feature branch
- Follow the existing code style (TypeScript, Svelte 5, Tailwind)
- Update documentation for significant changes
- Submit a pull request with a clear description
- Algorithm implementations and optimizations
- Bug fixes and performance improvements
- Accessibility enhancements
- Mobile responsiveness improvements
- Documentation and code comments
# Clone and install dependencies
git clone https://github.com/anish-shrestha/anishshrestha.com
cd anishshrestha.com
pnpm install
# Start development server
pnpm dev
# Build for production
pnpm build
# Deploy to Cloudflare Workers
pnpm deployFeel free to use this portfolio design as inspiration for your own projects. I'd appreciate attribution and would be happy to see how you adapt and improve upon these ideas.