Projects Overview
A modern implementation of the classic Snake game with extensive customization options and advanced features:
- Snake Appearance Customization – choose snake shape (square, circle, rounded, star) and colors (head/tail gradient or custom palette)
- Configurable Field Size – set rows and columns before starting the game
- Adjustable Snake Speed – fine-tune the game pace with a step duration setting, even while playing
- Food Settings – configure the number of food items; game validates against field size to prevent impossible setups
- Zoomable Field – change the canvas size dynamically for better visibility
- Dynamic Runtime Adjustments – some parameters (speed, zoom, snake appearance) can be changed mid-game
- Game State Control – supports start, pause, resume, and game over states
- Score Tracking – score automatically updates as the snake grows
- Auto Pause on Focus Loss – gameplay pauses automatically when the browser tab loses focus
- Robust Rendering System – modular canvas renderers handle the grid, food, and snake body with smooth animations
An engaging memory game featuring beautiful animal cards with advanced gameplay features:
- Dynamic Match Count – configure how many cards form a set (pairs, triples, etc.) for flexible gameplay
- Game Setup Controls – select board size and match count with validation to prevent invalid configurations
- Card Appearance & Hover Effects – flip cards with smooth animations and hover states for better user experience
- Game Over Popup – custom modal with a congratulations message and reset option
- Animal Database Integration – cards display real animal images and details fetched from the backend API
- Robust Test Coverage – extensive unit tests ensure stability and reliability
- Modular Architecture – separate controllers for cards, board, rules, and popups provide clean design and easier maintenance
An educational tool for visualizing Gaussian distributions with comprehensive interactive features:
- Gaussian Curve Visualization – interactive plot of the normal distribution rendered on HTML canvas
- Custom Parameters – adjust mean and standard deviation to see the curve update instantly
- Highlighted Area Selection – select regions of the curve by percentage or standard deviation range, with real-time shading
- Centering & Zoom Controls – center the curve around chosen parameters or manually set X/Y axis ranges
- Dynamic Input Validation – built-in checks prevent invalid values (negative stddev, out-of-range percentages) and highlight errors in the UI
- Responsive Grid & Labels – adaptive grid lines with axis ticks and numeric labels for clarity
- State Management System – internal state syncs all inputs, so changes in one control update the rest of the graph automatically