@@ -503,283 +503,6 @@ <h2 class="section-heading">Projects <span id="projectCountBadge"></span></h2>
503503 Surprise Me
504504 </ button >
505505 </ div >
506-
507- < div class ="projects-grid ">
508- <!-- ═══ GAMES ═══ -->
509- < div class ="project-card " data-category ="games " data-project ="blackjack-21 " data-tags ="game,cards,strategy,21,blackjack ">
510- < img class ="card-banner " src ="assets/banners/blackjack21.jpg " alt ="" loading ="lazy ">
511- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
512- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
513- < h3 > BlackJack 21</ h3 >
514- < p > Beat the dealer with strategy!</ p >
515- < div class ="card-metrics "> < span > 🃏 52 cards</ span > < span > 🎯 21</ span > </ div >
516- </ div >
517- < div class ="project-card " data-category ="games " data-project ="rock-paper-scissor " data-tags ="game,random,choice,strategy,decision ">
518- < img class ="card-banner " src ="assets/banners/rock-paper-scissor.jpg " alt ="" loading ="lazy ">
519- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
520- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
521- < h3 > Rock Paper Scissors</ h3 >
522- < p > Battle against the computer!</ p >
523- < div class ="card-metrics "> < span > ⚔️ Best of 5</ span > </ div >
524- </ div >
525- < div class ="project-card " data-category ="games " data-project ="dice-rolling " data-tags ="game,random,animation,probability ">
526- < img class ="card-banner " src ="assets/banners/dice-rolling.jpg " alt ="" loading ="lazy ">
527- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
528- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
529- < h3 > Dice Rolling</ h3 >
530- < p > Roll the dice with 3D animation!</ p >
531- < div class ="card-metrics "> < span > 🎲 2 dice</ span > </ div >
532- </ div >
533- < div class ="project-card " data-category ="games " data-project ="coin-flip " data-tags ="game,random,animation,probability,heads,tails ">
534- < img class ="card-banner " src ="assets/banners/coin-flip.jpg " alt ="" loading ="lazy ">
535- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
536- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
537- < h3 > Coin Flip</ h3 >
538- < p > Heads or tails with spinning animation!</ p >
539- < div class ="card-metrics "> < span > 🪙 50/50</ span > </ div >
540- </ div >
541- < div class ="project-card " data-category ="games " data-project ="number-guessing " data-tags ="game,logic,loops,conditional,guess ">
542- < img class ="card-banner " src ="assets/banners/number-guessing.jpg " alt ="" loading ="lazy ">
543- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
544- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
545- < h3 > Number Guessing</ h3 >
546- < p > Guess the secret number!</ p >
547- < div class ="card-metrics "> < span > 🎯 1–100</ span > </ div >
548- </ div >
549- < div class ="project-card " data-category ="games " data-project ="hangman " data-tags ="game,word,letters,logic,string ">
550- < img class ="card-banner " src ="assets/banners/hangman.jpg " alt ="" loading ="lazy ">
551- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
552- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
553- < h3 > Hangman</ h3 >
554- < p > Classic word-guessing game!</ p >
555- < div class ="card-metrics "> < span > 📝 6 lives</ span > </ div >
556- </ div >
557- < div class ="project-card " data-category ="games " data-project ="word-scramble " data-tags ="game,word,scramble,letters ">
558- < img class ="card-banner " src ="assets/banners/word-scramble.jpg " alt ="" loading ="lazy ">
559- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
560- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
561- < h3 > Word Scramble</ h3 >
562- < p > Unscramble words before time runs out!</ p >
563- < div class ="card-metrics "> < span > 🔤 3 rounds</ span > </ div >
564- </ div >
565- < div class ="project-card " data-category ="games " data-project ="flames " data-tags ="game,relationship,flames,fun ">
566- < img class ="card-banner " src ="assets/banners/flames.jpg " alt ="" loading ="lazy ">
567- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
568- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
569- < h3 > FLAMES Game</ h3 >
570- < p > Discover your relationship status!</ p >
571- < div class ="card-metrics "> < span > 💖 6 outcomes</ span > </ div >
572- </ div >
573- < div class ="project-card " data-category ="games " data-project ="dots-boxes " data-tags ="game,strategy,ai,boxes ">
574- < img class ="card-banner " src ="assets/banners/dots-boxes.jpg " alt ="" loading ="lazy ">
575- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
576- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
577- < h3 > Dots & Boxes AI</ h3 >
578- < p > Challenge friends or AI in strategy!</ p >
579- < div class ="card-metrics "> < span > 🧠 AI mode</ span > </ div >
580- </ div >
581- < div class ="project-card " data-category ="games " data-project ="password-forge " data-tags ="game,password,typing,survival ">
582- < img class ="card-banner " src ="assets/banners/password-forge.jpg " alt ="" loading ="lazy ">
583- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
584- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
585- < h3 > Password Forge</ h3 >
586- < p > Survive evolving firewall password rules!</ p >
587- < div class ="card-metrics "> < span > 🔐 10 levels</ span > </ div >
588- </ div >
589- < div class ="project-card " data-category ="games " data-project ="math-quiz " data-tags ="game,math,quiz,mcq,lives ">
590- < img class ="card-banner " src ="assets/banners/math-quiz.jpg " alt ="" loading ="lazy ">
591- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
592- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
593- < h3 > Math Quiz</ h3 >
594- < p > MCQ quiz with lives and difficulty levels!</ p >
595- < div class ="card-metrics "> < span > 🧮 4 levels</ span > </ div >
596- </ div >
597- < div class ="project-card " data-category ="games " data-project ="snake-game " data-tags ="game,snake,classic,arcade ">
598- < img class ="card-banner " src ="assets/banners/snake-game.jpg " alt ="" loading ="lazy ">
599- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
600- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
601- < h3 > Snake Game</ h3 >
602- < p > Classic snake — eat, grow, survive!</ p >
603- < div class ="card-metrics "> < span > 🐍 Classic</ span > < span > 🏆 High score</ span > </ div >
604- </ div >
605- < div class ="project-card " data-category ="games " data-project ="emoji-memory " data-tags ="game,memory,emoji,matching ">
606- < img class ="card-banner " src ="assets/banners/emoji-memory.jpg " alt ="" loading ="lazy ">
607- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
608- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
609- < h3 > Emoji Memory Game</ h3 >
610- < p > Test your memory with matching emojis!</ p >
611- < div class ="card-metrics "> < span > 🧩 16 tiles</ span > </ div >
612- </ div >
613- < div class ="project-card " data-category ="games " data-project ="whack-a-mole " data-tags ="game,whack,mole,arcade,reaction ">
614- < img class ="card-banner " src ="assets/banners/whack-a-mole.jpg " alt ="" loading ="lazy ">
615- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
616- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
617- < h3 > Whack-a-Mole</ h3 >
618- < p > Hit the moles before they disappear!</ p >
619- < div class ="card-metrics "> < span > 🔨 30s</ span > </ div >
620- </ div >
621- < div class ="project-card " data-category ="games " data-project ="flappy-game " data-tags ="game,flappy,bird,arcade,endless ">
622- < img class ="card-banner " src ="assets/banners/flappy-game.jpg " alt ="" loading ="lazy ">
623- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
624- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
625- < h3 > Flappy Game</ h3 >
626- < p > Dodge the incoming balls and survive!</ p >
627- < div class ="card-metrics "> < span > 🐤 Endless</ span > </ div >
628- </ div >
629- < div class ="project-card " data-category ="games " data-project ="2048-game " data-tags ="game,puzzle,2048,logic,tiles ">
630- < img class ="card-banner " src ="assets/banners/2048-game.jpg " alt ="" loading ="lazy ">
631- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
632- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
633- < h3 > 2048 Game</ h3 >
634- < p > Combine tiles and reach 2048!</ p >
635- < div class ="card-metrics "> < span > 🔢 4×4</ span > </ div >
636- </ div >
637- < div class ="project-card " data-category ="games " data-project ="tic-tac-toe " data-tags ="game,tic-tac-toe,strategy,ai ">
638- < img class ="card-banner " src ="assets/banners/tic-tac-toe.jpg " alt ="" loading ="lazy ">
639- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
640- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="gamepad-2 "> </ svg > Game</ span >
641- < h3 > Tic Tac Toe</ h3 >
642- < p > Classic 3-in-a-row with AI!</ p >
643- < div class ="card-metrics "> < span > ❌ 3×3</ span > </ div >
644- </ div >
645-
646- <!-- ═══ MATH ═══ -->
647- < div class ="project-card " data-category ="math " data-project ="fibonacci " data-tags ="math,sequence,series,loops,recursion ">
648- < img class ="card-banner " src ="assets/banners/fibonacci.jpg " alt ="" loading ="lazy ">
649- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
650- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
651- < h3 > Fibonacci Series</ h3 >
652- < p > Generate Fibonacci sequences!</ p >
653- < div class ="card-metrics "> < span > 🔢 Spiral viz</ span > </ div >
654- </ div >
655- < div class ="project-card " data-category ="math " data-project ="progression-recognizer " data-tags ="math,sequence,progression,arithmetic,geometric ">
656- < img class ="card-banner " src ="assets/banners/progression-recognizer.jpg " alt ="" loading ="lazy ">
657- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
658- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
659- < h3 > AP/GP/AGP/HP Recognizer</ h3 >
660- < p > Identify progression types from any sequence.</ p >
661- < div class ="card-metrics "> < span > 📊 4 types</ span > </ div >
662- </ div >
663- < div class ="project-card " data-category ="math " data-project ="pascal-triangle " data-tags ="math,triangle,visualization,recursion ">
664- < img class ="card-banner " src ="assets/banners/pascal-triangle.jpg " alt ="" loading ="lazy ">
665- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
666- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
667- < h3 > Pascal's Triangle</ h3 >
668- < p > Beautiful hexagon visualization!</ p >
669- < div class ="card-metrics "> < span > 🔺 12 rows</ span > </ div >
670- </ div >
671- < div class ="project-card " data-category ="math " data-project ="armstrong " data-tags ="math,number,digits,power ">
672- < img class ="card-banner " src ="assets/banners/armstrong.jpg " alt ="" loading ="lazy ">
673- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
674- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
675- < h3 > Armstrong Numbers</ h3 >
676- < p > Check special number properties!</ p >
677- < div class ="card-metrics "> < span > 🔢 3 digits</ span > </ div >
678- </ div >
679- < div class ="project-card " data-category ="math " data-project ="calculator " data-tags ="math,calculator,arithmetic,operations ">
680- < img class ="card-banner " src ="assets/banners/calculator.jpg " alt ="" loading ="lazy ">
681- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
682- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
683- < h3 > Calculator</ h3 >
684- < p > Your mathematical companion!</ p >
685- < div class ="card-metrics "> < span > 🧮 Full-featured</ span > </ div >
686- </ div >
687- < div class ="project-card " data-category ="math " data-project ="collatz " data-tags ="math,conjecture,algorithm,sequence ">
688- < img class ="card-banner " src ="assets/banners/collatz.jpg " alt ="" loading ="lazy ">
689- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
690- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
691- < h3 > Collatz Conjecture</ h3 >
692- < p > Explore the 3n+1 problem!</ p >
693- < div class ="card-metrics "> < span > 🔢 Graph viz</ span > </ div >
694- </ div >
695- < div class ="project-card " data-category ="math " data-project ="prime-analyzer " data-tags ="math,prime,factors,algorithm ">
696- < img class ="card-banner " src ="assets/banners/prime-analyzer.jpg " alt ="" loading ="lazy ">
697- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
698- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
699- < h3 > Prime Analyzer</ h3 >
700- < p > All-in-one prime number toolkit!</ p >
701- < div class ="card-metrics "> < span > 🔢 Factorizer</ span > </ div >
702- </ div >
703- < div class ="project-card " data-category ="math " data-project ="projectile-motion " data-tags ="math,physics,motion,calculation ">
704- < img class ="card-banner " src ="assets/banners/projectile-motion.jpg " alt ="" loading ="lazy ">
705- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
706- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
707- < h3 > Projectile Motion</ h3 >
708- < p > Calculate TOF, Hmax, Range!</ p >
709- < div class ="card-metrics "> < span > 🚀 Physics</ span > </ div >
710- </ div >
711- < div class ="project-card " data-category ="math " data-project ="coordinate-polar-transform " data-tags ="math,coordinate,transformation,geometry ">
712- < img class ="card-banner " src ="assets/banners/coordinate-polar-transform.jpg " alt ="" loading ="lazy ">
713- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
714- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
715- < h3 > Coordinate to Polar</ h3 >
716- < p > Transform Cartesian (x, y) into polar (r, θ).</ p >
717- < div class ="card-metrics "> < span > 📐 Geometry</ span > </ div >
718- </ div >
719- < div class ="project-card " data-category ="math " data-project ="derivative-calculator " data-tags ="math,calculus,derivative,polynomial ">
720- < img class ="card-banner " src ="assets/banners/derivative-calculator.jpg " alt ="" loading ="lazy ">
721- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
722- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="sigma "> </ svg > Math</ span >
723- < h3 > Derivative Calculator</ h3 >
724- < p > Compute 1st/nth polynomial derivatives.</ p >
725- < div class ="card-metrics "> < span > 📈 Calculus</ span > </ div >
726- </ div >
727-
728- <!-- ═══ UTILITIES ═══ -->
729- < div class ="project-card " data-category ="utilities " data-project ="morse-code " data-tags ="utility,morse,translation,communication ">
730- < img class ="card-banner " src ="assets/banners/morse-code.jpg " alt ="" loading ="lazy ">
731- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
732- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="wrench "> </ svg > Utility</ span >
733- < h3 > Morse Code</ h3 >
734- < p > Translate with lights & sound!</ p >
735- < div class ="card-metrics "> < span > 📡 Audio</ span > </ div >
736- </ div >
737- < div class ="project-card " data-category ="utilities " data-project ="tower-of-hanoi " data-tags ="utility,puzzle,recursion,algorithm ">
738- < img class ="card-banner " src ="assets/banners/tower-of-hanoi.jpg " alt ="" loading ="lazy ">
739- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
740- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="wrench "> </ svg > Utility</ span >
741- < h3 > Tower of Hanoi</ h3 >
742- < p > Solve the classic puzzle!</ p >
743- < div class ="card-metrics "> < span > 🗼 3 pegs</ span > </ div >
744- </ div >
745- < div class ="project-card " data-category ="utilities " data-project ="number-converter " data-tags ="utility,converter,decimal,binary,octal,hex ">
746- < img class ="card-banner " src ="assets/banners/number-converter.jpg " alt ="" loading ="lazy ">
747- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
748- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="wrench "> </ svg > Utility</ span >
749- < h3 > Number Converter</ h3 >
750- < p > Convert Dec, Bin, Oct, and Hex!</ p >
751- < div class ="card-metrics "> < span > 🔢 4 bases</ span > </ div >
752- </ div >
753- < div class ="project-card " data-category ="utilities " data-project ="typing-speed-tester " data-tags ="utility,typing,speed,test,wpm ">
754- < img class ="card-banner " src ="assets/banners/typing-speed-tester.jpg " alt ="" loading ="lazy ">
755- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
756- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="wrench "> </ svg > Utility</ span >
757- < h3 > Typing Speed Tester</ h3 >
758- < p > Test your WPM and accuracy!</ p >
759- < div class ="card-metrics "> < span > ⌨️ WPM</ span > </ div >
760- </ div >
761- < div class ="project-card " data-category ="utilities " data-project ="color-palette " data-tags ="utility,color,palette,css,design,theme ">
762- < img class ="card-banner " src ="assets/banners/color-palette.jpg " alt ="" loading ="lazy ">
763- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
764- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="wrench "> </ svg > Utility</ span >
765- < h3 > Color Palette Suggestor</ h3 >
766- < p > Generate palettes + CSS snippets for any mood!</ p >
767- < div class ="card-metrics "> < span > 🎨 CSS ready</ span > </ div >
768- </ div >
769- < div class ="project-card " data-category ="utilities " data-project ="productive-pet " data-tags ="utility,pet,productivity,pomodoro ">
770- < img class ="card-banner " src ="assets/banners/productive-pet.jpg " alt ="" loading ="lazy ">
771- < div class ="card-actions "> < button class ="btn-play "> Play Now</ button > </ div >
772- < span class ="card-category "> < svg class ="cat-icon " data-lucide ="wrench "> </ svg > Utility</ span >
773- < h3 > Productivity Pet</ h3 >
774- < p > A virtual pet that grows as you work!</ p >
775- < div class ="card-metrics "> < span > 🐾 Pomodoro</ span > </ div >
776- </ div >
777- </ div >
778-
779- < div class ="empty-state " id ="emptyState " style ="display: none; ">
780- < p class ="empty-state-title "> No projects found</ p >
781- < p class ="empty-state-hint " id ="emptyStateHint "> Try adjusting your search or category filter.</ p >
782- </ div >
783506 </ div >
784507</ section >
785508
0 commit comments