1<!-- src/templates/layout.ecr --> 2<!DOCTYPE html> 3<html lang="en"> 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>SOL.VIN // Systems Architecture // Personal Journal</title> 8 9 <meta name="description" content="Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash."> 10 <meta name="author" content="Ian Rash"> 11 12 13 <meta name="keywords" content="DevOps, Systems Engineering, Linux Kernel, Crystal, Ruby, Python, Infrastructure as Code, OpenTofu, Terraform, Security Engineering, Reverse Engineering"> 14 15 <meta name="robots" content="index, follow"> 16 17 18 <link rel="canonical" href="https://sol.vin/"> 19 20 <link rel="alternate" type="application/rss+xml" title="SOL.VIN Journal - Global RSS Feed" href="./rss.xml"> 21 22 23 <meta property="og:title" content="SOL.VIN // Systems Architecture // Personal Journal"> 24 <meta property="og:description" content="Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash."> 25 <meta property="og:type" content="website"> 26 <meta property="og:url" content="https://sol.vin/"> 27 <meta property="og:image" content="https://sol.vin/images/logo.png"> 28 <meta property="og:site_name" content="SOL.VIN"> 29 30 <meta name="twitter:card" content="summary_large_image"> 31 <meta name="twitter:title" content="SOL.VIN // Systems Architecture // Personal Journal"> 32 <meta name="twitter:description" content="Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash."> 33 <meta name="twitter:image" content="https://sol.vin/images/logo.png"> 34 35 36 <link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon.png"> 37 <link rel="icon" type="image/png" sizes="32x32" href="./favicon-32x32.png"> 38 <link rel="icon" type="image/png" sizes="16x16" href="./favicon-16x16.png"> 39 <link rel="manifest" href="./site.webmanifest"> 40
40<script> 41 window.SITE_PALETTES = [{"id":"warm_paper","name":"Warm Paper (Default)","colors":{"bg_color":"#faf6ee","bg_window":"#faf6ee","text_color":"#1c1c1e","link_color":"#303030","text_dim":"#1c1c1e","border_color":"#1c1c1e","border_active":"#1c1c1e","accent_color":"#1c1c1e","shadow_color":"#1c1c1e","accent_secondary":"#3a3a3c","accent_tertiary":"#545458","accent_quaternary":"#303030","cube":"#1c1c1e","cube_hover":"#303030","resume_job_role":"#1c1c1e","resume_job_company":"#303030","resume_job_meta":"#545458","resume_skill_bg":"#1c1c1e","resume_skill_text":"#faf6ee","resume_badge_bg":"#1c1c1e","resume_badge_text":"#faf6ee","filter_start_color":"#1c1c1e","filter_end_color":"#faf6ee"},"palette_colors":{"cream":"#faf6ee","dark_charcoal":"#1c1c1e","charcoal":"#303030","dark_grey":"#3a3a3c","grey":"#545458"},"variables":{"bg_color":"cream","bg_window":"cream","text_color":"dark_charcoal","link_color":"charcoal","text_dim":"dark_charcoal","border_color":"dark_charcoal","border_active":"dark_charcoal","accent_color":"dark_charcoal","shadow_color":"dark_charcoal","accent_secondary":"dark_grey","accent_tertiary":"grey","accent_quaternary":"charcoal","cube":"dark_charcoal","cube_hover":"charcoal","resume_job_role":"dark_charcoal","resume_job_company":"charcoal","resume_job_meta":"grey","resume_skill_bg":"dark_charcoal","resume_skill_text":"cream","resume_badge_bg":"dark_charcoal","resume_badge_text":"cream","filter_start_color":"dark_charcoal","filter_end_color":"cream"}},{"id":"monochrome","name":"Monochrome","colors":{"bg_color":"#ffffff","bg_window":"#ffffff","text_color":"#000000","link_color":"#000000","text_dim":"#555555","border_color":"#000000","border_active":"#000000","accent_color":"#000000","shadow_color":"#000000","accent_secondary":"#333333","accent_tertiary":"#555555","accent_quaternary":"#777777","cube":"#000000","cube_hover":"#333333","resume_job_role":"#000000","resume_job_company":"#333333","resume_job_meta":"#555555","resume_skill_bg":"#000000","resume_skill_text":"#ffffff","resume_badge_bg":"#000000","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"white":"#ffffff","black":"#000000","grey":"#555555","dark_grey":"#333333","light_grey":"#777777"},"variables":{"bg_color":"white","bg_window":"white","text_color":"black","link_color":"black","text_dim":"grey","border_color":"black","border_active":"black","accent_color":"black","shadow_color":"black","accent_secondary":"dark_grey","accent_tertiary":"grey","accent_quaternary":"light_grey","cube":"black","cube_hover":"dark_grey","resume_job_role":"black","resume_job_company":"dark_grey","resume_job_meta":"grey","resume_skill_bg":"black","resume_skill_text":"white","resume_badge_bg":"black","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"white"}},{"id":"inversion","name":"Inversion","colors":{"bg_color":"#000000","bg_window":"#000000","text_color":"#ffffff","link_color":"#ffffff","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#ffffff","accent_color":"#ffffff","shadow_color":"#ffffff","accent_secondary":"#dddddd","accent_tertiary":"#aaaaaa","accent_quaternary":"#888888","cube":"#ffffff","cube_hover":"#aaaaaa","resume_job_role":"#ffffff","resume_job_company":"#dddddd","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ffffff","resume_skill_text":"#000000","resume_badge_bg":"#ffffff","resume_badge_text":"#000000","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","light_grey":"#aaaaaa","grey":"#dddddd","dark_grey":"#888888"},"variables":{"bg_color":"black","bg_window":"black","text_color":"white","link_color":"white","text_dim":"light_grey","border_color":"white","border_active":"white","accent_color":"white","shadow_color":"white","accent_secondary":"grey","accent_tertiary":"light_grey","accent_quaternary":"dark_grey","cube":"white","cube_hover":"light_grey","resume_job_role":"white","resume_job_company":"grey","resume_job_meta":"light_grey","resume_skill_bg":"white","resume_skill_text":"black","resume_badge_bg":"white","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"white"}},{"id":"monokai","name":"Monokai","colors":{"bg_color":"#272822","bg_window":"#1e1f1c","text_color":"#f8f8f2","link_color":"#66d9ef","text_dim":"#75715e","border_color":"#f92672","border_active":"#a6e22e","accent_color":"#fd971f","shadow_color":"#141411","accent_secondary":"#a6e22e","accent_tertiary":"#66d9ef","accent_quaternary":"#f92672","cube":"#f8f8f2","cube_hover":"#f92672","resume_job_role":"#fd971f","resume_job_company":"#66d9ef","resume_job_meta":"#75715e","resume_skill_bg":"#f92672","resume_skill_text":"#ffffff","resume_badge_bg":"#a6e22e","resume_badge_text":"#272822","filter_start_color":"#272822","filter_end_color":"#f8f8f2"}
41,"palette_colors":{"charcoal":"#272822","dark_charcoal":"#1e1f1c","off_white":"#f8f8f2","grey":"#75715e","cyan":"#66d9ef","pink":"#f92672","green":"#a6e22e","orange":"#fd971f","black":"#141411","white":"#ffffff"},"variables":{"bg_color":"charcoal","bg_window":"dark_charcoal","text_color":"off_white","link_color":"cyan","text_dim":"grey","border_color":"pink","border_active":"green","accent_color":"orange","shadow_color":"black","accent_secondary":"green","accent_tertiary":"cyan","accent_quaternary":"pink","cube":"off_white","cube_hover":"pink","resume_job_role":"orange","resume_job_company":"cyan","resume_job_meta":"grey","resume_skill_bg":"pink","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"charcoal","filter_start_color":"charcoal","filter_end_color":"off_white"}},{"id":"candy","name":"Candy","colors":{"bg_color":"#fdf0f8","bg_window":"#ffffff","text_color":"#4a2c58","link_color":"#d84b9b","text_dim":"#8c6899","border_color":"#e5a8d8","border_active":"#d84b9b","accent_color":"#b8388c","shadow_color":"#d6b2dc","accent_secondary":"#d84b9b","accent_tertiary":"#b8388c","accent_quaternary":"#e5a8d8","cube":"#4a2c58","cube_hover":"#d84b9b","resume_job_role":"#b8388c","resume_job_company":"#d84b9b","resume_job_meta":"#8c6899","resume_skill_bg":"#d84b9b","resume_skill_text":"#ffffff","resume_badge_bg":"#b8388c","resume_badge_text":"#ffffff","filter_start_color":"#4a2c58","filter_end_color":"#fdf0f8"},"palette_colors":{"blush_pink":"#fdf0f8","white":"#ffffff","plum":"#4a2c58","mauve":"#8c6899","hot_pink":"#d84b9b","pastel_pink":"#e5a8d8","magenta":"#b8388c","lavender":"#d6b2dc"},"variables":{"bg_color":"blush_pink","bg_window":"white","text_color":"plum","link_color":"hot_pink","text_dim":"mauve","border_color":"pastel_pink","border_active":"hot_pink","accent_color":"magenta","shadow_color":"lavender","accent_secondary":"hot_pink","accent_tertiary":"magenta","accent_quaternary":"pastel_pink","cube":"plum","cube_hover":"hot_pink","resume_job_role":"magenta","resume_job_company":"hot_pink","resume_job_meta":"mauve","resume_skill_bg":"hot_pink","resume_skill_text":"white","resume_badge_bg":"magenta","resume_badge_text":"white","filter_start_color":"plum","filter_end_color":"blush_pink"}},{"id":"pastel","name":"Pastel","colors":{"bg_color":"#f7f5ff","bg_window":"#ffffff","text_color":"#2d2738","link_color":"#ff6b8b","text_dim":"#786b8e","border_color":"#a288e3","border_active":"#ff6b8b","accent_color":"#9b5de5","
41shadow_color":"#d0c4e8","accent_secondary":"#ff6b8b","accent_tertiary":"#9b5de5","accent_quaternary":"#a288e3","cube":"#2d2738","cube_hover":"#a288e3","resume_job_role":"#9b5de5","resume_job_company":"#ff6b8b","resume_job_meta":"#786b8e","resume_skill_bg":"#9b5de5","resume_skill_text":"#ffffff","resume_badge_bg":"#ff6b8b","resume_badge_text":"#ffffff","filter_start_color":"#2d2738","filter_end_color":"#f7f5ff"},"palette_colors":{"lavender_white":"#f7f5ff","white":"#ffffff","dark_purple":"#2d2738","muted_purple":"#786b8e","pink":"#ff6b8b","pastel_purple":"#a288e3","bright_purple":"#9b5de5","light_purple":"#d0c4e8"},"variables":{"bg_color":"lavender_white","bg_window":"white","text_color":"dark_purple","link_color":"pink","text_dim":"muted_purple","border_color":"pastel_purple","border_active":"pink","accent_color":"bright_purple","shadow_color":"light_purple","accent_secondary":"pink","accent_tertiary":"bright_purple","accent_quaternary":"pastel_purple","cube":"dark_purple","cube_hover":"pastel_purple","resume_job_role":"bright_purple","resume_job_company":"pink","resume_job_meta":"muted_purple","resume_skill_bg":"bright_purple","resume_skill_text":"white","resume_badge_bg":"pink","resume_badge_text":"white","filter_start_color":"dark_purple","filter_end_color":"lavender_white"}},{"id":"fos","name":"FOS","colors":{"bg_color":"#0000aa","bg_window":"#0000aa","text_color":"#ffffff","link_color":"#55ffff","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#55ffff","accent_color":"#ffffff","shadow_color":"#000000","accent_secondary":"#55ffff","accent_tertiary":"#ffff55","accent_quaternary":"#aaaaaa","cube":"#ffffff","cube_hover":"#55ffff","resume_job_role":"#ffffff","resume_job_company":"#55ffff","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ffffff","resume_skill_text":"#0000aa","resume_badge_bg":"#ffff55","resume_badge_text":"#000000","filter_start_color":"#0000aa","filter_end_color":"#ffffff"},"palette_colors":{"dos_blue":"#0000aa","dark_blue":"#000055","white":"#ffffff","light_grey":"#aaaaaa","dark_grey":"#555555","cyan":"#55ffff","yellow":"#ffff55","black":"#000000"},"variables":{"bg_color":"dos_blue","bg_window":"dos_blue","text_color":"white","link_color":"cyan","text_dim":"light_grey","border_color":"white","border_active":"cyan","accent_color":"white","shadow_color":"black","accent_secondary":"cyan","accent_tertiary":"yellow","accent_quaternary":"light_grey","cube":"white","cube_hover":"cyan","resume_job_role":"white","resume_job_company":"cyan","resume_job_meta":"light_grey","resume_skill_bg":"white","resume_skill_text":"dos_blue","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"dos_blue","filter_end_color":"white"}},{"id":"a64_pal","name":"A64 PAL","colors":{"bg_color":"#40318d","bg_window":"#40318d","text_color":"#7869c4","link_color":"#94e089","text_dim":"#787878","border_color":"#8b3f96","border_active":"#7869c4","accent_color":"#bfce72","shadow_color":"#000000","accent_secondary":"#94e089","accent_tertiary":"#67b6bd","accent_quaternary":"#8b3f96","cube":"#7869c4","cube_hover":"#bfce72","resume_job_role":"#bfce72","resume_job_company":"#94e089","resume_job_meta":"#787878","resume_skill_bg":"#8b3f96","resume_skill_text":"#ffffff","resume_badge_bg":"#bfce72","resume_badge_text":"#000000","filter_start_color":"#8b3f96","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","red":"#883932","cyan":"#67b6bd","purple":"#8b3f96","green":"#55a049","blue":"#40318d","yellow":"#bfce72","orange":"#8b5429","brown":"#574200","light_red":"#b86962","dark_grey":"#505050","grey":"#787878","light_green":"#94e089","light_blue":"#7869c4","light_grey":"#9f9f9f"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"light_blue","link_color":"light_green","text_dim":"grey","border_color":"purple","border_active":"light_blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"light_green","accent_tertiary":"cyan","accent_quaternary":"purple","cube":"light_blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"light_green","resume_job_meta":"grey","resume_skill_bg":"purple","resume_skill_text":"white","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"purple","filter_end_color":"white"}},{"id":"a64_ntsc","name":"A64 NTSC","colors":{"bg_color":"#0000aa","bg_window":"#0000aa","text_color":"#0088ff","link_color":"#aaff66","text_dim":"#777777","border_color":"#cc44cc","border_active":"#0088ff","accent_color":"#eeee7
417","shadow_color":"#000000","accent_secondary":"#aaff66","accent_tertiary":"#aaffee","accent_quaternary":"#cc44cc","cube":"#0088ff","cube_hover":"#eeee77","resume_job_role":"#eeee77","resume_job_company":"#aaff66","resume_job_meta":"#777777","resume_skill_bg":"#cc44cc","resume_skill_text":"#ffffff","resume_badge_bg":"#eeee77","resume_badge_text":"#000000","filter_start_color":"#cc44cc","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","red":"#880000","cyan":"#aaffee","purple":"#cc44cc","green":"#00cc55","blue":"#0000aa","yellow":"#eeee77","orange":"#dd8855","brown":"#664400","light_red":"#ff7777","dark_grey":"#333333","grey":"#777777","light_green":"#aaff66","light_blue":"#0088ff","light_grey":"#bbbbbb"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"light_blue","link_color":"light_green","text_dim":"grey","border_color":"purple","border_active":"light_blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"light_green","accent_tertiary":"cyan","accent_quaternary":"purple","cube":"light_blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"light_green","resume_job_meta":"grey","resume_skill_bg":"purple","resume_skill_text":"white","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"purple","filter_end_color":"white"}},{"id":"amigo","name":"Amigo","colors":{"bg_color":"#0055aa","bg_window":"#0055aa","text_color":"#ffffff","link_color":"#ff5500","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#ff5500","accent_color":"#ff9900","shadow_color":"#000000","accent_secondary":"#ff9900","accent_tertiary":"#ff5500","accent_quaternary":"#aaaaaa","cube":"#ffffff","cube_hover":"#ff5500","resume_job_role":"#ff9900","resume_job_company":"#ff5500","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ff5500","resume_skill_text":"#ffffff","resume_badge_bg":"#ff9900","resume_badge_text":"#000000","filter_start_color":"#0055aa","filter_end_color":"#ffffff"},"palette_colors":{"blue":"#0055aa","white":"#ffffff","light_grey":"#aaaaaa","orange":"#ff5500","amber":"#ff9900","black":"#000000"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"white","link_color":"orange","text_dim":"light_grey","border_color":"white","border_active":"orange","accent_color":"amber","shadow_color":"black","accent_secondary":"amber","accent_tertiary":"orange","accent_quaternary":"light_grey","cube":"white","cube_hover":"orange","resume_job_role":"amber","resume_job_company":"orange","resume_job_meta":"light_grey","resume_skill_bg":"orange","resume_skill_text":"white","resume_badge_bg":"amber","resume_badge_text":"black","filter_start_color":"blue","filter_end_color":"white"}},{"id":"trash80","name":"Trash80","colors":{"bg_color":"#0a0d0a","bg_window":"#121612","text_color":"#33ff33","link_color":"#66ff66","text_dim":"#1e881e","border_color":"#33ff33","border_active":"#66ff66","accent_color":"#33ff33","shadow_color":"#000000","accent_secondary":"#66ff66","accent_tertiary":"#99ff99","accent_quaternary":"#00cc00","cube":"#33ff33","cube_hover":"#66ff66","resume_job_role":"#33ff33","resume_job_company":"#66ff66","resume_job_meta":"#1e881e","resume_skill_bg":"#33ff33","resume_skill_text":"#000000","resume_badge_bg":"#66ff66","resume_badge_text":"#000000","filter_start_color":"#0a0d0a","filter_end_color":"#33ff33"},"palette_colors":{"dark_charcoal":"#0a0d0a","slate":"#121612","neon_green":"#33ff33","forest_green":"#1e881e","mint_green":"#66ff66","pastel_green":"#99ff99","green":"#00cc00","black":"#000000"},"variables":{"bg_color":"dark_charcoal","bg_window":"slate","text_color":"neon_green","link_color":"mint_green","text_dim":"forest_green","border_color":"neon_green","border_active":"mint_green","accent_color":"neon_green","shadow_color":"black","accent_secondary":"mint_green","accent_tertiary":"pastel_green","accent_quaternary":"green","cube":"neon_green","cube_hover":"mint_green","resume_job_role":"neon_green","resume_job_company":"mint_green","resume_job_meta":"forest_green","resume_skill_bg":"neon_green","resume_skill_text":"black","resume_badge_bg":"mint_green","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"neon_green"}},{"id":"classic_green","name":"Nuke","colors":{"bg_color":"#0a0a0a","bg_window":"#121212","text_color":"#33ff33","link_color":"#66ff66","text_dim":"#1e881e","border_color":"#00cc00","border_active":"#66ff66","accent_color":"#33ff33","shadow_color":"#0a0a0a","accent_secondary":"#66ff66","accent_tertiary":"#33ff33","accent_quaternary":"#1e881e","cube":"#33ff33","cube_hover":"#66ff66","resume_job_role":"#33ff33","resume_job_company":"#66ff66","resume_job_meta":"#1e881e","resume_skill_bg":"#00cc00","resume_skill_text":"#0a0a0a","resume_badge_bg":"#33ff33","resume_badge_text":"#0a0a0a","filter_start_color":"#0a0a0a","filter_end_color":"#33ff33"},"palette_colors":{"black":"#0a0a0a","dark_charcoal":"#121212","neon_green":"#33ff33","forest_green":"#1e881e","bright_green":"#66ff66","emerald":"#00cc00"},"variables":{"bg_color":"black","bg_window":"dark_charcoal","text_color":"neon_green","link_color":"bright_green","text_dim":"forest_green","border_color":"emerald","border_active":"bright_green","accent_color":"neon_green","shadow_color":"black","accent_secondary":"bright_green","accent_tertiary":"neon_green","accent_quaternary":"forest_green","cube":"neon_green","cube_hover":"bright_green","resume_job_role":"neon_green","resume_job_company":"bright_green","resume_job_meta":"forest_green","resume_skill_bg":"emerald","resume_skill_text":"black","resume_badge_bg":"neon_green","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"neon_green"}},{"id":"aperture","name":"Aperture","colors":{"bg_color":"#1f232a","bg_window":"#262a33","text_color":"#ffee55","link_color":"#ff9900","text_dim":"#c4a63a","border_color":"#ffcc00","border_active":"#ff9100","accent_color":"#ffcc00","shadow_color":"#101216","accent_secondary":"#ff9900","accent_tertiary":"#ffee55","accent_quaternary":"#ff6600","cube":"#ffee55","cube_hover":"#ff9900","resume_job_role":"#ffcc00","resume_job_company":"#ff9900","resume_job_meta":"#c4a63a","resume_skill_bg":"#ffcc00","resume_skill_text":"#1f232a","resume_badge_bg":"#ffee55","resume_badge_text":"#1f232a","filter_start_color":"#1f232a","filter_end_color":"#ffee55"},"palette_colors":{"dark_grey":"#1f232a","slate":"#262a33","yellow":"#ffee55","amber":"#c4a63a","orange":"#ff9900","gold":"#ffcc00","dark_orange":"#ff9100","bright_orange":"#ff6600","black":"#101216"},"variables":{"bg_color":"dark_grey","bg_window":"slate","text_color":"yellow","link_color":"orange","text_dim":"amber","border_color":"gold","border_active":"dark_orange","accent_color":"gold","shadow_color":"black","accent_secondary":"orange","accent_tertiary":"yellow","accent_quaternary":"bright_orange","cube":"yellow","cube_hover":"orange","resume_job_role":"gold","resume_job_company":"orange","resume_job_meta":"amber","resume_skill_bg":"gold","resume_skill_text":"dark_grey","resume_badge_bg":"yellow","resume_badge_text":"dark_grey","filter_start_color":"dark_grey","filter_end_color":"yellow"}},{"id":"smile_os","name":"SmileOS","colors":{"bg_color":"#e6e6ea","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#b30000","text_dim":"#444444","border_color":"#8b0000","border_active":"#c00000","accent_color":"#b30000","
41shadow_color":"#a0a0a8","accent_secondary":"#c00000","accent_tertiary":"#8b0000","accent_quaternary":"#b30000","cube":"#000000","cube_hover":"#b30000","resume_job_role":"#b30000","resume_job_company":"#8b0000","resume_job_meta":"#444444","resume_skill_bg":"#b30000","resume_skill_text":"#ffffff","resume_badge_bg":"#8b0000","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#e6e6ea"},"palette_colors":{"light_grey":"#e6e6ea","grey":"#c0c0c0","black":"#000000","dark_grey":"#444444","red":"#b30000","dark_red":"#8b0000","crimson":"#c00000","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"red","text_dim":"dark_grey","border_color":"dark_red","border_active":"crimson","accent_color":"red","shadow_color":"slate","accent_secondary":"crimson","accent_tertiary":"dark_red","accent_quaternary":"red","cube":"black","cube_hover":"red","resume_job_role":"red","resume_job_company":"dark_red","resume_job_meta":"dark_grey","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"dark_red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"former_rain","name":"The Former Rain","colors":{"bg_color":"#1b1726","bg_window":"#261e34","text_color":"#e8ddf5","link_color":"#c77dff","text_dim":"#8a7b9c","border_color":"#a076c5","border_active":"#c77dff","accent_color":"#d896ff","shadow_color":"#100c19","accent_secondary":"#c77dff","accent_tertiary":"#d896ff","accent_quaternary":"#a076c5","cube":"#e8ddf5","cube_hover":"#c77dff","resume_job_role":"#d896ff","resume_job_company":"#c77dff","resume_job_meta":"#8a7b9c","resume_skill_bg":"#c77dff","resume_skill_text":"#1b1726","resume_badge_bg":"#d896ff","resume_badge_text":"#1b1726","filter_start_color":"#1b1726","filter_end_color":"#e8ddf5"},"palette_colors":{"dark_purple":"#1b1726","deep_purple":"#261e34","lavender":"#e8ddf5","muted_purple":"#8a7b9c","bright_violet":"#c77dff","violet":"#a076c5","light_violet":"#d896ff","black":"#100c19"},"variables":{"bg_color":"dark_purple","bg_window":"deep_purple","text_color":"lavender","link_color":"bright_violet","text_dim":"muted_purple","border_color":"violet","border_active":"bright_violet","accent_color":"light_violet","shadow_color":"black","accent_secondary":"bright_violet","accent_tertiary":"light_violet","accent_quaternary":"violet","cube":"lavender","cube_hover":"bright_violet","resume_job_role":"light_violet","resume_job_company":"bright_violet","resume_job_meta":"muted_purple","resume_skill_bg":"bright_violet","resume_skill_text":"dark_purple","resume_badge_bg":"light_violet","resume_badge_text":"dark_purple","filter_start_color":"dark_purple","filter_end_color":"lavender"}},{"id":"ranger","name":"Ranger","colors":{"bg_color":"#1f1914","bg_window":"#2c241d","text_color":"#d4c39e","link_color":"#e06d20","text_dim":"#8c7355","border_color":"#8c603b","border_active":"#e57c25","accent_color":"#e57c25","shadow_color":"#120e0b","accent_secondary":"#e06d20","accent_tertiary":"#e57c25","accent_quaternary":"#8c603b","cube":"#d4c39e","cube_hover":"#e57c25","resume_job_role":"#e57c25","resume_job_company":"#e06d20","resume_job_meta":"#8c7355","resume_skill_bg":"#e57c25","resume_skill_text":"#faf4e1","resume_badge_bg":"#8c603b","resume_badge_text":"#faf4e1","filter_start_color":"#1f1914","filter_end_color":"#d4c39e"},"palette_colors":{"dark_brown":"#1f1914","espresso":"#2c241d","sand":"#d4c39e","tan":"#8c7355","burnt_orange":"#e06d20","brown":"#8c603b","orange":"#e57c25","black":"#120e0b","cream":"#faf4e1"},"variables":{"bg_color":"dark_brown","bg_window":"espresso","text_color":"sand","link_color":"burnt_orange","text_dim":"tan","border_color":"brown","border_active":"orange","accent_color":"orange","shadow_color":"black","accent_secondary":"burnt_orange","accent_tertiary":"orange","accent_quaternary":"brown","cube":"sand","cube_hover":"orange","resume_job_role":"orange","resume_job_company":"burnt_orange","resume_job_meta":"tan","resume_skill_bg":"orange","resume_skill_text":"cream","resume_badge_bg":"brown","resume_badge_text":"cream","filter_start_color":"dark_brown","filter_end_color":"sand"}},{"id":"bring_me_hope","name":"Bluebie","colors":{"bg_color":"#002b55","bg_window":"#003a70","text_color":"#00c8ff","link_color":"#66e0ff","text_dim":"#3a7ca5","border_color":"#00a8e8","border_active":"#00e5ff","accent_color":"#00e5ff","shadow_color":"#00152b","accent_secondary":"#66e0ff","accent_tertiary":"#00e5ff","accent_quaternary":"#00a8e8","cube":"#00c8ff","cube_hover":"#00e5ff","resume_job_role":"#00e5ff","resume_job_company":"#00c8ff","resume_job_meta":"#3a7ca5","resume_skill_bg":"#00a8e8","resume_skill_text":"#002b55","resume_badge_bg":"#00e5ff","resume_badge_text":"#002b55","filter_start_color":"#002b55","filter_end_color":"#00c8ff"},"palette_colors":{"navy":"#002b55","deep_blue":"#003a70","cyan":"#00c8ff","steel_blue":"#3a7ca5","light_blue":"#66e0ff","blue":"#00a8e8","bright_cyan":"#00e5ff","dark_navy":"#001
4152b"},"variables":{"bg_color":"navy","bg_window":"deep_blue","text_color":"cyan","link_color":"light_blue","text_dim":"steel_blue","border_color":"blue","border_active":"bright_cyan","accent_color":"bright_cyan","shadow_color":"dark_navy","accent_secondary":"light_blue","accent_tertiary":"bright_cyan","accent_quaternary":"blue","cube":"cyan","cube_hover":"bright_cyan","resume_job_role":"bright_cyan","resume_job_company":"cyan","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"navy","resume_badge_bg":"bright_cyan","resume_badge_text":"navy","filter_start_color":"navy","filter_end_color":"cyan"}},{"id":"disinherited","name":"Samuel","colors":{"bg_color":"#16120e","bg_window":"#281f18","text_color":"#faf4e1","link_color":"#f2a81d","text_dim":"#857458","border_color":"#d48815","border_active":"#c01111","accent_color":"#f2a81d","shadow_color":"#0c0906","accent_secondary":"#f2a81d","accent_tertiary":"#d48815","accent_quaternary":"#857458","cube":"#faf4e1","cube_hover":"#f2a81d","resume_job_role":"#f2a81d","resume_job_company":"#d48815","resume_job_meta":"#857458","resume_skill_bg":"#f2a81d","resume_skill_text":"#16120e","resume_badge_bg":"#c01111","resume_badge_text":"#ffffff","filter_start_color":"#16120e","filter_end_color":"#faf4e1"},"palette_colors":{"dark_brown":"#16120e","espresso":"#281f18","cream":"#faf4e1","sand":"#857458","amber":"#f2a81d","crimson":"#c01111","burnt_amber":"#d48815","black":"#0c0906","white":"#ffffff"},"variables":{"bg_color":"dark_brown","bg_window":"espresso","text_color":"cream","link_color":"amber","text_dim":"sand","border_color":"burnt_amber","border_active":"crimson","accent_color":"amber","shadow_color":"black","accent_secondary":"amber","accent_tertiary":"burnt_amber","accent_quaternary":"sand","cube":"cream","cube_hover":"amber","resume_job_role":"amber","resume_job_company":"burnt_amber","resume_job_meta":"sand","resume_skill_bg":"amber","resume_skill_text":"dark_brown","resume_badge_bg":"crimson","resume_badge_text":"white","filter_start_color":"dark_brown","filter_end_color":"cream"}},{"id":"game_station","name":"GameStation","colors":{"bg_color":"#d2d2d6","bg_window":"#e8e8ec","text_color":"#141418","link_color":"#0063be","text_dim":"#585860","border_color":"#df0024","border_active":"#00a88f","accent_color":"#c88e00","shadow_color":"#a0a0a8","accent_secondary":"#0063be","accent_tertiary":"#00a88f","accent_quaternary":"#df0024","cube":"#141418","cube_hover":"#df0024","resume_job_role":"#c88e00","resume_job_company":"#0063be","resume_job_meta":"#585860","resume_skill_bg":"#0063be","resume_skill_text":"#ffffff","resume_badge_bg":"#df0024","resume_badge_text":"#ffffff","filter_start_color":"#141418","filter_end_color":"#d2d2d6"},"palette_colors":{"light_grey":"#d2d2d6","grey_white":"#e8e8ec","black":"#141418","dark_grey":"#585860","blue":"#0063be","red":"#df0024","teal":"#00a88f","gold":"#c88e00","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey_white","text_color":"black","link_color":"blue","text_dim":"dark_grey","border_color":"red","border_active":"teal","accent_color":"gold","shadow_color":"slate","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"red","cube":"black","cube_hover":"red","resume_job_role":"gold","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"game_station_2","name":"GameStation2","colors":{"bg_color":"#090a10","bg_window":"#121520","text_color":"#e0e6f0","link_color":"#0088ff","text_dim":"#4a5870","border_color":"#00439c","border_active":"#00a2e8","accent_color":"#0072ce","shadow_color":"#040508","accent_secondary":"#0088ff","accent_tertiary":"#00a2e8","accent_quaternary":"#00439c","cube":"#e0e6f0","cube_hover":"#0088ff","resume_job_role":"#0072ce","resume_job_company":"#0088ff","resume_job_meta":"#4a5870","resume_skill_bg":"#0088ff","resume_skill_text":"#ffffff","resume_badge_bg":"#0072ce","resume_badge_text":"#ffffff","filter_start_color":"#090a10","filter_end_color":"#e0e6f0"},"palette_colors":{"black":"#090a10","dark_navy":"#121520","ice_blue":"#e0e6f0","slate_blue":"#4a5870","bright_blue":"#0088ff","navy":"#00439c","cyan_blue":"#00a2e8","royal_blue":"#0072ce","dark_black":"#040508","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_navy","text_color":"ice_blue","link_color":"bright_blue","text_dim":"slate_blue","border_color":"navy","border_active":"cyan_blue","accent_color":"royal_blue","shadow_color":"dark_black","accent_secondary":"bright_blue","accent_tertiary":"
41cyan_blue","accent_quaternary":"navy","cube":"ice_blue","cube_hover":"bright_blue","resume_job_role":"royal_blue","resume_job_company":"bright_blue","resume_job_meta":"slate_blue","resume_skill_bg":"bright_blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"ice_blue"}},{"id":"digital_guy","name":"DigitalGuy","colors":{"bg_color":"#000000","bg_window":"#110000","text_color":"#ff0000","link_color":"#ff3333","text_dim":"#880000","border_color":"#ff0000","border_active":"#ff5555","accent_color":"#ff0000","shadow_color":"#330000","accent_secondary":"#ff3333","accent_tertiary":"#ff5555","accent_quaternary":"#880000","cube":"#ff0000","cube_hover":"#ff5555","resume_job_role":"#ff0000","resume_job_company":"#ff3333","resume_job_meta":"#880000","resume_skill_bg":"#ff0000","resume_skill_text":"#ffffff","resume_badge_bg":"#ff5555","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ff0000"},"palette_colors":{"black":"#000000","dark_red":"#110000","red":"#ff0000","maroon":"#880000","light_red":"#ff3333","bright_red":"#ff5555","deep_red":"#330000","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_red","text_color":"red","link_color":"light_red","text_dim":"maroon","border_color":"red","border_active":"bright_red","accent_color":"red","shadow_color":"deep_red","accent_secondary":"light_red","accent_tertiary":"bright_red","accent_quaternary":"maroon","cube":"red","cube_hover":"bright_red","resume_job_role":"red","resume_job_company":"light_red","resume_job_meta":"maroon","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"bright_red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"red"}},{"id":"playtoy","name":"PlayToy","colors":{"bg_color":"#8bac0f","bg_window":"#9bbc0f","text_color":"#0f380f","link_color":"#0f380f","text_dim":"#1b3f1b","border_color":"#0f380f","border_active":"#306230","accent_color":"#0f380f","shadow_color":"#0f380f","accent_secondary":"#1b3f1b","accent_tertiary":"#306230","accent_quaternary":"#0f380f","cube":"#0f380f","cube_hover":"#306230","resume_job_role":"#0f380f","resume_job_company":"#0f380f","resume_job_meta":"#1b3f1b","resume_skill_bg":"#0f380f","resume_skill_text":"#9bbc0f","resume_badge_bg":"#306230","resume_badge_text":"#9bbc0f","filter_start_color":"#0f380f","filter_end_color":"#8bac0f"},"palette_colors":{"olive":"#8bac0f","light_olive":"#9bbc0f","dark_green":"#0f380f","forest_green":"#1b3f1b","green":"#306230"},"variables":{"bg_color":"olive","bg_window":"light_olive","text_color":"dark_green","link_color":"dark_green","text_dim":"forest_green","border_color":"dark_green","border_active":"green","accent_color":"dark_green","shadow_color":"dark_green","accent_secondary":"forest_green","accent_tertiary":"green","accent_quaternary":"dark_green","cube":"dark_green","cube_hover":"green","resume_job_role":"dark_green","resume_job_company":"dark_green","resume_job_meta":"forest_green","resume_skill_bg":"dark_green","resume_skill_text":"light_olive","resume_badge_bg":"green","resume_badge_text":"light_olive","filter_start_color":"dark_green","filter_end_color":"olive"}},{"id":"entertainment_system","name":"Entertainment System","colors":{"bg_color":"#e8e8ec","bg_window":"#d8d8dc","text_color":"#101012","link_color":"#c80018","text_dim":"#505055","border_color":"#202024","border_active":"#c80018","accent_color":"#c80018","shadow_color":"#a0a0a8","accent_secondary":"#c80018","accent_tertiary":"#202024","accent_quaternary":"#a0a0a8","cube":"#101012","cube_hover":"#c80018","resume_job_role":"#c80018","resume_job_company":"#c80018","resume_job_meta":"#505055","resume_skill_bg":"#c80018","resume_skill_text":"#ffffff","resume_badge_bg":"#202024","resume_badge_text":"#ffffff","filter_start_color":"#101012","filter_end_color":"#e8e8ec"},"palette_colors":{"light_grey":"#e8e8ec","grey":"#d8d8dc","black":"#101012","dark_grey":"#505055","crimson":"#c80018","charcoal":"#202024","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"crimson","text_dim":"dark_grey","border_color":"charcoal","border_active":"crimson","accent_color":"crimson","shadow_color":"slate","accent_secondary":"crimson","accent_tertiary":"
41charcoal","accent_quaternary":"slate","cube":"black","cube_hover":"crimson","resume_job_role":"crimson","resume_job_company":"crimson","resume_job_meta":"dark_grey","resume_skill_bg":"crimson","resume_skill_text":"white","resume_badge_bg":"charcoal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"super_es","name":"Super ES","colors":{"bg_color":"#f0f0f5","bg_window":"#e2e2ea","text_color":"#1b1924","link_color":"#5c439b","text_dim":"#605c70","border_color":"#4f3880","border_active":"#785dba","accent_color":"#4f3880","shadow_color":"#b0b0c0","accent_secondary":"#785dba","accent_tertiary":"#5c439b","accent_quaternary":"#605c70","cube":"#4f3880","cube_hover":"#5c439b","resume_job_role":"#4f3880","resume_job_company":"#785dba","resume_job_meta":"#605c70","resume_skill_bg":"#785dba","resume_skill_text":"#ffffff","resume_badge_bg":"#4f3880","resume_badge_text":"#ffffff","filter_start_color":"#1b1924","filter_end_color":"#f0f0f5"},"palette_colors":{"light_slate":"#f0f0f5","slate":"#e2e2ea","dark_charcoal":"#1b1924","muted_purple":"#605c70","purple":"#5c439b","deep_purple":"#4f3880","bright_purple":"#785dba","grey":"#b0b0c0","white":"#ffffff"},"variables":{"bg_color":"light_slate","bg_window":"slate","text_color":"dark_charcoal","link_color":"purple","text_dim":"muted_purple","border_color":"deep_purple","border_active":"bright_purple","accent_color":"deep_purple","shadow_color":"grey","accent_secondary":"bright_purple","accent_tertiary":"purple","accent_quaternary":"muted_purple","cube":"deep_purple","cube_hover":"purple","resume_job_role":"deep_purple","resume_job_company":"bright_purple","resume_job_meta":"muted_purple","resume_skill_bg":"bright_purple","resume_skill_text":"white","resume_badge_bg":"deep_purple","resume_badge_text":"white","filter_start_color":"dark_charcoal","filter_end_color":"light_slate"}},{"id":"m64","name":"M64","colors":{"bg_color":"#232328","bg_window":"#32323a","text_color":"#d0d0d8","link_color":"#1e68d8","text_dim":"#80808a","border_color":"#1e68d8","border_active":"#f0c018","accent_color":"#f0c018","shadow_color":"#121215","accent_secondary":"#24ac4c","accent_tertiary":"#e62828","accent_quaternary":"#f0c018","cube":"#f0c018","cube_hover":"#e62828","resume_job_role":"#f0c018","resume_job_company":"#24ac4c","resume_job_meta":"#e62828","resume_skill_bg":"#1e68d8","resume_skill_text":"#d0d0d8","resume_badge_bg":"#e62828","resume_badge_text":"#d0d0d8","filter_start_color":"#121215","filter_end_color":"#e62828"},"palette_colors":{"dark_grey":"#232328","slate":"#32323a","light_grey":"#d0d0d8","dpad_grey":"#80808a","start_red":"#e62828","a_blue":"#1e68d8","b_green":"#24ac4c","c_yellow":"#f0c018","black":"#121215"},"variables":{"bg_color":"dark_grey","bg_window":"slate","text_color":"light_grey","link_color":"a_blue","text_dim":"dpad_grey","border_color":"a_blue","border_active":"c_yellow","accent_color":"c_yellow","shadow_color":"black","accent_secondary":"b_green","accent_tertiary":"start_red","accent_quaternary":"c_yellow","cube":"c_yellow","cube_hover":"start_red","resume_job_role":"c_yellow","resume_job_company":"b_green","resume_job_meta":"start_red","resume_skill_bg":"a_blue","resume_skill_text":"light_grey","resume_badge_bg":"start_red","resume_badge_text":"light_grey","filter_start_color":"black","filter_end_color":"start_red"}},{"id":"playbox","name":"Playbox","colors":{"bg_color":"#2d224b","bg_window":"#563f91","text_color":"#ffffff","link_color":"#22c55e","text_dim":"#b0a4d0","border_color":"#8b75c8","border_active":"#22c55e","accent_color":"#ef4444","shadow_color":"#19122c","accent_secondary":"#22c55e","accent_tertiary":"#ef4444","accent_quaternary":"#8b75c8","cube":"#ffffff","cube_hover":"#22c55e","resume_job_role":"#ef4444","resume_job_company":"#22c55e","resume_job_meta":"#b0a4d0","resume_skill_bg":"#22c55e","resume_skill_text":"#2d224b","resume_badge_bg":"#ef4444","resume_badge_text":"#ffffff","filter_start_color":"#2d224b","filter_end_color":"#ffffff"},"palette_colors":{"dark_purple":"#2d224b","purple":"#563f91","white":"#ffffff","light_violet":"#b0a4d0","green":"#22c55e","violet":"#8b75c8","red":"#ef4444","deep_purple":"#19122c"},"variables":{"bg_color":"dark_purple","bg_window":"purple","text_color":"white","link_color":"green","text_dim":"light_violet","border_color":"violet","border_active":"green","accent_color":"red","shadow_color":"deep_purple","accent_secondary":"green","accent_tertiary":"red","accent_quaternary":"violet","cube":"white","cube_hover":"green","resume_job_role":"red","resume_job_company":"green","resume_job_meta":"light_violet","resume_skill_bg":"green","resume_skill_text":"dark_purple","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"dark_purple","filter_end_color":"white"}},{"id":"oui","name":"Oui","colors":{"bg_color":"#e8ecef","bg_window":"#ffffff","text_color":"#2c3238","link_color":"#00a3e0","text_dim":"#788490","border_color":"#0095d0","border_active":"#00c3ff","accent_color":"#0095d0","shadow_color":"#c8d0d8","accent_secondary":"#00a3e0","accent_tertiary":"#00c3ff","accent_quaternary":"#788490","cube":"#2c3238","cube_hover":"#00a3e0","resume_job_role":"#0095d0","resume_job_company":"#00a3e0","resume_job_meta":"#788490","resume_skill_bg":"#00a3e0","resume_skill_text":"#ffffff","resume_badge_bg":"#0095d0","resume_badge_text":"#ffffff","filter_start_color":"#2c3238","filter_end_color":"#e8ecef"},"palette_colors":{"light_blue":"#e8ecef","white":"#ffffff","charcoal":"#2c3238","slate":"#788490","cyan":"#00a3e0","bright_cyan":"#00c3ff","blue":"#0095d0","grey":"#c8d0d8"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"charcoal","link_color":"cyan","text_dim":"slate","border_color":"blue","border_active":"bright_cyan","accent_color":"blue","shadow_color":"grey","accent_secondary":"cyan","accent_tertiary":"bright_cyan","accent_quaternary":"slate","cube":"charcoal","cube_hover":"cyan","resume_job_role":"blue","resume_job_company":"cyan","resume_job_meta":"slate","resume_skill_bg":"cyan","resume_skill_text":"white","resume_badge_bg":"blue","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_blue"}},{"id":"cross_cube","name":"CrossCube","colors":{"bg_color":"#121412","bg_window":"#1a1d1a","text_color":"#e2ece2","link_color":"#107c41","text_dim":"#556855","border_color":"#107c41","border_active":"#00ff2b","accent_color":"#52b736","shadow_color":"#080a08","accent_secondary":"#00ff2b","accent_tertiary":"#52b736","accent_quaternary":"#107c41","cube":"#e2ece2","cube_hover":"#00ff2b","resume_job_role":"#52b736","resume_job_company":"#107c41","resume_job_meta":"#556855","resume_skill_bg":"#107c41","resume_skill_text":"#ffffff","resume_badge_bg":"#52b736","resume_badge_text":"#121412","filter_start_color":"#121412","filter_end_color":"#e2ece2"},"palette_colors":{"black":"#121412","dark_green":"#1a1d1a","light_green":"#e2ece2","forest_green":"#556855","green":"#107c41","neon_green":"#00ff2b","lime":"#52b736","deep_black":"#080a08","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_green","text_color":"light_green","link_color":"green","text_dim":"forest_green","border_color":"green","border_active":"neon_green","accent_color":"lime","shadow_color":"deep_black","accent_secondary":"neon_green","accent_tertiary":"lime","accent_quaternary":"green","cube":"light_green","cube_hover":"neon_green","resume_job_role":"lime","resume_job_company":"green","resume_job_meta":"forest_green","resume_skill_bg":"green","resume_skill_text":"white","resume_badge_bg":"lime","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"light_green"}}
41,{"id":"cross_cube_360","name":"CrossCube 360","colors":{"bg_color":"#e4e8ec","bg_window":"#ffffff","text_color":"#1e242b","link_color":"#107c41","text_dim":"#606d7a","border_color":"#107c41","border_active":"#7fba00","accent_color":"#7fba00","shadow_color":"#b8c0c8","accent_secondary":"#107c41","accent_tertiary":"#7fba00","accent_quaternary":"#606d7a","cube":"#1e242b","cube_hover":"#107c41","resume_job_role":"#7fba00","resume_job_company":"#107c41","resume_job_meta":"#606d7a","resume_skill_bg":"#107c41","resume_skill_text":"#ffffff","resume_badge_bg":"#7fba00","resume_badge_text":"#1e242b","filter_start_color":"#1e242b","filter_end_color":"#e4e8ec"},"palette_colors":{"light_grey":"#e4e8ec","white":"#ffffff","dark_slate":"#1e242b","slate":"#606d7a","green":"#107c41","lime":"#7fba00","grey":"#b8c0c8"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"dark_slate","link_color":"green","text_dim":"slate","border_color":"green","border_active":"lime","accent_color":"lime","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"lime","accent_quaternary":"slate","cube":"dark_slate","cube_hover":"green","resume_job_role":"lime","resume_job_company":"green","resume_job_meta":"slate","resume_skill_bg":"green","resume_skill_text":"white","resume_badge_bg":"lime","resume_badge_text":"dark_slate","filter_start_color":"dark_slate","filter_end_color":"light_grey"}},{"id":"creation","name":"Creation","colors":{"bg_color":"#141518","bg_window":"#1e2024","text_color":"#e8e8ed","link_color":"#d81b24","text_dim":"#7a7e85","border_color":"#c81018","border_active":"#e6222b","accent_color":"#d4af37","shadow_color":"#0a0b0d","accent_secondary":"#d81b24","accent_tertiary":"#e6222b","accent_quaternary":"#c81018","cube":"#e8e8ed","cube_hover":"#e6222b","resume_job_role":"#d4af37","resume_job_company":"#d81b24","resume_job_meta":"#7a7e85","resume_skill_bg":"#c81018","resume_skill_text":"#ffffff","resume_badge_bg":"#d4af37","resume_badge_text":"#141518","filter_start_color":"#141518","filter_end_color":"#e8e8ed"},"palette_colors":{"black":"#141518","dark_charcoal":"#1e2024","off_white":"#e8e8ed","grey":"#7a7e85","red":"#d81b24","dark_red":"#c81018","bright_red":"#e6222b","gold":"#d4af37","deep_black":"#0a0b0d","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_charcoal","text_color":"off_white","link_color":"red","text_dim":"grey","border_color":"dark_red","border_active":"bright_red","accent_color":"gold","shadow_color":"deep_black","accent_secondary":"red","accent_tertiary":"bright_red","accent_quaternary":"dark_red","cube":"off_white","cube_hover":"bright_red","resume_job_role":"gold","resume_job_company":"red","resume_job_meta":"grey","resume_skill_bg":"dark_red","resume_skill_text":"white","resume_badge_bg":"gold","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"off_white"}},{"id":"game_sprocket","name":"GameSprocket","colors":{"bg_color":"#1c1e22","bg_window":"#262930","text_color":"#f4f6fa","link_color":"#0088ff","text_dim":"#767e8c","border_color":"#e6001a","border_active":"#00c878","accent_color":"#0088ff","shadow_color":"#0a0c0e","accent_secondary":"#00c878","accent_tertiary":"#0088ff","accent_quaternary":"#e6001a","cube":"#f4f6fa","cube_hover":"#00c878","resume_job_role":"#00c878","resume_job_company":"#0088ff","resume_job_meta":"#767e8c","resume_skill_bg":"#e6001a","resume_skill_text":"#ffffff","resume_badge_bg":"#00c878","resume_badge_text":"#0a0c0e","filter_start_color":"#1c1e22","filter_end_color":"#f4f6fa"},"palette_colors":{"dark_charcoal":"#1c1e22","charcoal":"#262930","off_white":"#f4f6fa","grey":"#767e8c","blue":"#0088ff","red":"#e6001a","emerald":"#00c878","black":"#0a0c0e","white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"off_white","link_color":"blue","text_dim":"grey","border_color":"red","border_active":"emerald","accent_color":"blue","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"blue","accent_quaternary":"red","cube":"off_white","cube_hover":"emerald","resume_job_role":"emerald","resume_job_company":"blue","resume_job_meta":"grey","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"off_white"}},{"id":"spaces_31","name":"Spaces 3.1","colors":{"bg_color":"#ffffff","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#404040","border_color":"#000080","border_active":"#008080","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#008080","accent_tertiary":"#004080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#004080","resume_job_role":"#000080","resume_job_company":"#004080","resume_job_meta":"#404040","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"white":"#ffffff","grey":"#c0c0c0","black":"#000000","dark_grey":"#404040","navy":"#000080","teal":"#008080","blue":"#004080","dark_teal":"#004040"},"variables":{"bg_color":"white","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"teal","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"teal","accent_tertiary":"blue","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"white"}},{"id":"spaces_95","name":"Spaces 95","colors":{"bg_color":"#f0f4f4","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#333333","border_color":"#000080","border_active":"#104e8b","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#104e8b","accent_tertiary":"#008080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#000080","resume_job_role":"#000080","resume_job_company":"#104e8b","resume_job_meta":"#333333","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f4"},"palette_colors":{"light_grey":"#f0f4f4","grey":"#c0c0c0","black":"#000000","dark_grey":"#333333","navy":"#000080","blue":"#104e8b","teal":"#008080","dark_teal":"#004040","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"blue","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"navy","cube":"black","cube_hover":"navy","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_97","name":"Spaces 97","colors":{"bg_color":"#f0f4f8","bg_window":"#d4d0c8","text_color":"#000000","link_color":"#000080","text_dim":"#333333","border_color":"#2b579a","border_active":"#1084d0","accent_color":"#000080","shadow_color":"#1a385c","accent_secondary":"#1084d0","accent_tertiary":"#2b579a","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#000080","resume_job_role":"#000080","resume_job_company":"#2b579a","resume_job_meta":"#333333","resume_skill_bg":"#2b579a","resume_skill_text":"#ffffff","resume_badge_bg":"#1084d0","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f8"},"palette_colors":{"light_blue":"#f0f4f8","grey":"#d4d0c8","black":"#000000","dark_grey":"#333333","navy":"#000080","blue":"#1084d0","steel_blue":"#2b579a","dark_navy":"#1a385c","white":"#ffffff"},"variables":{"bg_color":"light_blue","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"steel_blue","border_active":"blue","accent_color":"navy","shadow_color":"dark_navy","accent_secondary":"blue","accent_tertiary":"steel_blue","accent_quaternary":"navy","cube":"black","cube_hover":"navy","resume_job_role":"navy","resume_job_company":"steel_blue","resume_job_meta":"dark_grey","resume_skill_bg":"steel_blue","resume_skill_text":"white","resume_badge_bg":"blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_blue"}},{"id":"spaces_98","name":"Spaces 98","colors":{"bg_color":"#f0f4f4","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#444444","border_color":"#000080","border_active":"#10549c","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#10549c","accent_tertiary":"#008080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#10549c","resume_job_role":"#000080","resume_job_company":"#10549c","resume_job_meta":"#444444","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f4"},"palette_colors":{"light_grey":"#f0f4f4","grey":"#c0c0c0","black":"#000000","dark_grey":"#444444","navy":"#000080","blue":"#10549c","teal":"#008080","dark_teal":"#004040","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"blue","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_2000","name":"Spaces 2000","colors":{"bg_color":"#f0f4f8","bg_window":"#d4d0c8","text_color":"#000000","link_color":"#0a246a","text_dim":"#404040","border_color":"#2c5aa0","border_active":"#18429c","accent_color":"#0a246a","shadow_color":"#203858","accent_secondary":"#18429c","accent_tertiary":"#5b7b9a","accent_quaternary":"#0a246a","cube":"#000000","cube_hover":"#18429c","resume_job_role":"#0a246a","resume_job_company":"#18429c","resume_job_meta":"#404040","resume_skill_bg":"#2c5aa0","resume_skill_text":"#ffffff","resume_badge_bg":"#2c5aa0","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f8"},"palette_colors":{"light_grey":"#f0f4f8","grey":"#d4d0c8","black":"#000000","dark_grey":"#404040","navy":"#0a246a","blue":"#18429c","steel_blue":"#5b7b9a","dark_navy":"#203858","royal_blue":"#2c5aa0","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"royal_blue","border_active":"blue","accent_color":"navy","shadow_color":"dark_navy","accent_secondary":"blue","accent_tertiary":"steel_blue","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"royal_blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_xp","name":"Spaces XP","colors":{"bg_color":"#e2ebf4","bg_window":"#ffffff","text_color":"#0f2545","link_color":"#0055ea","text_dim":"#4e6580","border_color":"#0055ea","border_active":"#2e7d32","accent_color":"#0055ea","shadow_color":"#a0b4cc","accent_secondary":"#2e7d32","accent_tertiary":"#d84315","accent_quaternary":"#0055ea","cube":"#0f2545","cube_hover":"#d84315","resume_job_role":"#0055ea","resume_job_company":"#2e7d32","resume_job_meta":"#4e6580","resume_skill_bg":"#0055ea","resume_skill_text":"#ffffff","resume_badge_bg":"#2e7d32","resume_badge_text":"#ffffff","filter_start_color":"#0f2545","filter_end_color":"#e2ebf4"},"palette_colors":{"light_blue":"#e2ebf4","white":"#ffffff","navy":"#0f2545","steel_blue":"#4e6580","blue":"#0055ea","green":"#2e7d32","orange":"#d84315","grey":"#a0b4cc"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"navy","link_color":"blue","text_dim":"steel_blue","border_color":"blue","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"orange","accent_quaternary":"blue","cube":"navy","cube_hover":"orange","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"white","filter_start_color":"navy","filter_end_color":"light_blue"}},{"id":"spaces_xp_royale","name":"Spaces XP Royale","colors":{"bg_color":"#141820","bg_window":"#1f2430","text_color":"#f0f4f9","link_color":"#4090ff","text_dim":"#7b8c9e","border_color":"#1f5ac8","border_active":"#4090ff","accent_color":"#4090ff","shadow_color":"#0a0d12","accent_secondary":"#10b981","accent_tertiary":"#4090ff","accent_quaternary":"#1f5ac8","cube":"#f0f4f9","cube_hover":"#4090ff","resume_job_role":"#4090ff","resume_job_company":"#10b981","resume_job_meta":"#7b8c9e","resume_skill_bg":"#1f5ac8","resume_skill_text":"#ffffff","resume_badge_bg":"#10b981","resume_badge_text":"#0f172a","filter_start_color":"#141820","filter_end_color":"#f0f4f9"},"palette_colors":{"dark_navy":"#141820","navy":"#1f2430","ice_blue":"#f0f4f9","slate":"#7b8c9e","bright_blue":"#4090ff","blue":"#1f5ac8","emerald":"#10b981","black":"#0a0d12","
41white":"#ffffff","dark_slate":"#0f172a"},"variables":{"bg_color":"dark_navy","bg_window":"navy","text_color":"ice_blue","link_color":"bright_blue","text_dim":"slate","border_color":"blue","border_active":"bright_blue","accent_color":"bright_blue","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"bright_blue","accent_quaternary":"blue","cube":"ice_blue","cube_hover":"bright_blue","resume_job_role":"bright_blue","resume_job_company":"emerald","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"dark_slate","filter_start_color":"dark_navy","filter_end_color":"ice_blue"}},{"id":"spaces_vista","name":"Spaces Vista","colors":{"bg_color":"#141c24","bg_window":"#1f2b37","text_color":"#f0f4f8","link_color":"#00c3ff","text_dim":"#7890a8","border_color":"#0084b4","border_active":"#00c3ff","accent_color":"#00c3ff","shadow_color":"#080d12","accent_secondary":"#34d399","accent_tertiary":"#00c3ff","accent_quaternary":"#0084b4","cube":"#f0f4f8","cube_hover":"#00c3ff","resume_job_role":"#00c3ff","resume_job_company":"#34d399","resume_job_meta":"#7890a8","resume_skill_bg":"#0084b4","resume_skill_text":"#ffffff","resume_badge_bg":"#34d399","resume_badge_text":"#0f172a","filter_start_color":"#141c24","filter_end_color":"#f0f4f8"},"palette_colors":{"dark_navy":"#141c24","navy":"#1f2b37","ice_blue":"#f0f4f8","slate":"#7890a8","cyan":"#00c3ff","blue":"#0084b4","emerald":"#34d399","black":"#080d12","white":"#ffffff","dark_slate":"#0f172a"},"variables":{"bg_color":"dark_navy","bg_window":"navy","text_color":"ice_blue","link_color":"cyan","text_dim":"slate","border_color":"blue","border_active":"cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"cyan","accent_quaternary":"blue","cube":"ice_blue","cube_hover":"cyan","resume_job_role":"cyan","resume_job_company":"emerald","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"dark_slate","filter_start_color":"dark_navy","filter_end_color":"ice_blue"}},{"id":"spaces_7","name":"Spaces 7","colors":{"bg_color":"#dce8f5","bg_window":"#ffffff","text_color":"#1a2b3c","link_color":"#0066cc","text_dim":"#5a7086","border_color":"#3385d6","border_active":"#00a0e9","accent_color":"#0066cc","shadow_color":"#abcced","accent_secondary":"#00a0e9","accent_tertiary":"#3385d6","accent_quaternary":"#0066cc","cube":"#1a2b3c","cube_hover":"#00a0e9","resume_job_role":"#0066cc","resume_job_company":"#00a0e9","resume_job_meta":"#5a7086","resume_skill_bg":"#0066cc","resume_skill_text":"#ffffff","resume_badge_bg":"#3385d6","resume_badge_text":"#ffffff","filter_start_color":"#1a2b3c","filter_end_color":"#dce8f5"},"palette_colors":{"light_blue":"#dce8f5","white":"#ffffff","navy":"#1a2b3c","steel_blue":"#5a7086","blue":"#0066cc","royal_blue":"#3385d6","bright_blue":"#00a0e9","grey_blue":"#abcced"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"navy","link_color":"blue","text_dim":"steel_blue","border_color":"royal_blue","border_active":"bright_blue","accent_color":"blue","shadow_color":"grey_blue","accent_secondary":"bright_blue","accent_tertiary":"royal_blue","accent_quaternary":"blue","cube":"navy","cube_hover":"bright_blue","resume_job_role":"blue","resume_job_company":"bright_blue","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"navy","filter_end_color":"light_blue"}},{"id":"spaces_8","name":"Spaces 8","colors":{"bg_color":"#eff3f8","bg_window":"#ffffff","text_color":"#1e1e1e","link_color":"#0078d7","text_dim":"#555555","border_color":"#2b579a","border_active":"#00a300","accent_color":"#0078d7","shadow_color":"#d0d7e0","accent_secondary":"#00a300","accent_tertiary":"#9f00a7","accent_quaternary":"#2b579a","cube":"#1e1e1e","cube_hover":"#00a300","resume_job_role":"#0078d7","resume_job_company":"#00a300","resume_job_meta":"#555555","resume_skill_bg":"#0078d7","resume_skill_text":"#ffffff","resume_badge_bg":"#9f00a7","resume_badge_text":"#ffffff","filter_start_color":"#1e1e1e","filter_end_color":"#eff3f8"},"palette_colors":{"light_grey":"#eff3f8","white":"#ffffff","charcoal":"#1e1e1e","dark_grey":"#555555","blue":"#0078d7","navy":"#2b579a","green":"#00a300","purple":"#9f00a7","grey":"#d0d7e0"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"charcoal","link_color":"blue","text_dim":"dark_grey","border_color":"navy","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"purple","accent_quaternary":"navy","cube":"charcoal","cube_hover":"green","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"purple","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_grey"}},{"id":"spaces_10","name":"Spaces 10","colors":{"bg_color":"#1f1f1f","bg_window":"#2c2c2c","text_color":"#f3f3f3","link_color":"#26b5ff","text_dim":"#9e9e9e","border_color":"#0078d4","border_active":"#26b5ff","accent_color":"#26b5ff","shadow_color":"#121212","accent_secondary":"#26b5ff","accent_tertiary":"#0078d4","accent_quaternary":"#9e9e9e","cube":"#f3f3f3","cube_hover":"#26b5ff","resume_job_role":"#26b5ff","resume_job_company":"#0078d4","resume_job_meta":"#9e9e9e","resume_skill_bg":"#0078d4","resume_skill_text":"#ffffff","resume_badge_bg":"#26b5ff","resume_badge_text":"#121212","filter_start_color":"#1f1f1f","filter_end_color":"#f3f3f3"},"palette_colors":{"dark_charcoal":"#1f1f1f","charcoal":"#2c2c2c","white":"#f3f3f3","grey":"#9e9e9e","cyan":"#26b5ff","blue":"#0078d4","black":"#121212","pure_white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"white","link_color":"cyan","text_dim":"grey","border_color":"blue","border_active":"cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"cyan","accent_tertiary":"blue","accent_quaternary":"grey","cube":"white","cube_hover":"cyan","resume_job_role":"cyan","resume_job_company":"blue","resume_job_meta":"grey","resume_skill_bg":"blue","resume_skill_text":"pure_white","resume_badge_bg":"cyan","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"white"}},{"id":"spaces_11","name":"Spaces 11","colors":{"bg_color":"#18191c","bg_window":"#24272c","text_color":"#f8f9fa","link_color":"#4cc2ff","text_dim":"#8e96a0","border_color":"#383d44","border_active":"#60cdff","accent_color":"#4cc2ff","shadow_color":"#0d0e10","accent_secondary":"#60cdff","accent_tertiary":"#4cc2ff","accent_quaternary":"#383d44","cube":"#f8f9fa","cube_hover":"#60cdff","resume_job_role":"#4cc2ff","resume_job_company":"#60cdff","resume_job_meta":"#8e96a0","resume_skill_bg":"#005fb8","resume_skill_text":"#ffffff","resume_badge_bg":"#4cc2ff","resume_badge_text":"#0d0e10","filter_start_color":"#18191c","filter_end_color":"#f8f9fa"},"palette_colors":{"dark_charcoal":"#18191c","charcoal":"#24272c","white":"#f8f9fa","grey":"#8e96a0","cyan":"#4cc2ff","slate":"#383d44","light_cyan":"#60cdff","black":"#0d0e10","blue":"#005fb8","pure_white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"white","link_color":"cyan","text_dim":"grey","border_color":"slate","border_active":"light_cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"light_cyan","accent_tertiary":"
41cyan","accent_quaternary":"slate","cube":"white","cube_hover":"light_cyan","resume_job_role":"cyan","resume_job_company":"light_cyan","resume_job_meta":"grey","resume_skill_bg":"blue","resume_skill_text":"pure_white","resume_badge_bg":"cyan","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"white"}},{"id":"fruit_os","name":"Fruit OS","colors":{"bg_color":"#d6d6d6","bg_window":"#ffffff","text_color":"#000000","link_color":"#0000aa","text_dim":"#555555","border_color":"#000000","border_active":"#3333cc","accent_color":"#0000aa","shadow_color":"#888888","accent_secondary":"#3333cc","accent_tertiary":"#0000aa","accent_quaternary":"#555555","cube":"#000000","cube_hover":"#3333cc","resume_job_role":"#0000aa","resume_job_company":"#3333cc","resume_job_meta":"#555555","resume_skill_bg":"#0000aa","resume_skill_text":"#ffffff","resume_badge_bg":"#3333cc","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#d6d6d6"},"palette_colors":{"light_grey":"#d6d6d6","white":"#ffffff","black":"#000000","dark_grey":"#555555","blue":"#0000aa","royal_blue":"#3333cc","grey":"#888888"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"black","link_color":"blue","text_dim":"dark_grey","border_color":"black","border_active":"royal_blue","accent_color":"blue","shadow_color":"grey","accent_secondary":"royal_blue","accent_tertiary":"blue","accent_quaternary":"dark_grey","cube":"black","cube_hover":"royal_blue","resume_job_role":"blue","resume_job_company":"royal_blue","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"fruit_osx","name":"Fruit OSX","colors":{"bg_color":"#e8ecef","bg_window":"#ffffff","text_color":"#1d1d1f","link_color":"#007aff","text_dim":"#6e6e73","border_color":"#007aff","border_active":"#34c759","accent_color":"#007aff","shadow_color":"#c0c8d0","accent_secondary":"#34c759","accent_tertiary":"#ff9500","accent_quaternary":"#ff3b30","cube":"#1d1d1f","cube_hover":"#ff3b30","resume_job_role":"#007aff","resume_job_company":"#34c759","resume_job_meta":"#6e6e73","resume_skill_bg":"#007aff","resume_skill_text":"#ffffff","resume_badge_bg":"#34c759","resume_badge_text":"#ffffff","filter_start_color":"#1d1d1f","filter_end_color":"#e8ecef"},"palette_colors":{"light_grey":"#e8ecef","white":"#ffffff","charcoal":"#1d1d1f","slate":"#6e6e73","blue":"#007aff","green":"#34c759","orange":"#ff9500","red":"#ff3b30","grey":"#c0c8d0"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"charcoal","link_color":"blue","text_dim":"slate","border_color":"blue","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"orange","accent_quaternary":"red","cube":"charcoal","cube_hover":"red","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_grey"}},{"id":"community","name":"Community","colors":{"bg_color":"#2c001e","bg_window":"#380c2a","text_color":"#f7f7f7","link_color":"#ff6331","text_dim":"#aea79f","border_color":"#e95420","border_active":"#ff6331","accent_color":"#ff6331","shadow_color":"#180010","accent_secondary":"#ff6331","accent_tertiary":"#e95420","accent_quaternary":"#aea79f","cube":"#f7f7f7","cube_hover":"#ff6331","resume_job_role":"#ff6331","resume_job_company":"#e95420","resume_job_meta":"#aea79f","resume_skill_bg":"#e95420","resume_skill_text":"#ffffff","resume_badge_bg":"#77216f","resume_badge_text":"#ffffff","filter_start_color":"#2c001e","filter_end_color":"#f7f7f7"},"palette_colors":{"dark_aubergine":"#2c001e","aubergine":"#380c2a","white":"#f7f7f7","grey":"#aea79f","orange":"#ff6331","ubuntu_orange":"#e95420","black":"#180010","pure_white":"#ffffff","purple":"#77216f"},"variables":{"bg_color":"dark_aubergine","bg_window":"aubergine","text_color":"white","link_color":"orange","text_dim":"grey","border_color":"ubuntu_orange","border_active":"orange","accent_color":"orange","shadow_color":"black","accent_secondary":"orange","accent_tertiary":"ubuntu_orange","accent_quaternary":"grey","cube":"white","cube_hover":"orange","resume_job_role":"orange","resume_job_company":"ubuntu_orange","resume_job_meta":"grey","resume_skill_bg":"ubuntu_orange","resume_skill_text":"pure_white","resume_badge_bg":"purple","resume_badge_text":"pure_white","filter_start_color":"dark_aubergine","filter_end_color":"white"}},{"id":"pico_8","name":"Pico-8","colors":{"bg_color":"#1d2b53","bg_window":"#1d2b53","text_color":"#fff1e8","link_color":"#29adff","text_dim":"#83769c","border_color":"#83769c","border_active":"#29adff","accent_color":"#ffff27","shadow_color":"#000000","accent_secondary":"#00e436","accent_tertiary":"#ff004d","accent_quaternary":"#ffa300","cube":"#29adff","cube_hover":"#ffff27","resume_job_role":"#ffff27","resume_job_company":"#00e436","resume_job_meta":"#83769c","resume_skill_bg":"#7e2553","resume_skill_text":"#fff1e8","resume_badge_bg":"#ff004d","resume_badge_text":"#fff1e8","filter_start_color":"#1d2b53","filter_end_color":"#fff1e8"}
41,"palette_colors":{"black":"#000000","dark_blue":"#1d2b53","dark_purple":"#7e2553","dark_green":"#008751","brown":"#ab5236","dark_grey":"#5f574f","light_grey":"#c2c3c7","white":"#fff1e8","red":"#ff004d","orange":"#ffa300","yellow":"#ffff27","green":"#00e436","blue":"#29adff","indigo":"#83769c","pink":"#ff77a8","peach":"#ffccaa"},"variables":{"bg_color":"dark_blue","bg_window":"dark_blue","text_color":"white","link_color":"blue","text_dim":"indigo","border_color":"indigo","border_active":"blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"green","accent_tertiary":"red","accent_quaternary":"orange","cube":"blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"green","resume_job_meta":"indigo","resume_skill_bg":"dark_purple","resume_skill_text":"white","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"dark_blue","filter_end_color":"white"}},{"id":"playdate","name":"Playdate","colors":{"bg_color":"#ffc72c","bg_window":"#ffc72c","text_color":"#111110","link_color":"#111110","text_dim":"#3a3a36","border_color":"#111110","border_active":"#111110","accent_color":"#111110","shadow_color":"#111110","accent_secondary":"#20201d","accent_tertiary":"#3a3a36","accent_quaternary":"#111110","cube":"#111110","cube_hover":"#20201d","resume_job_role":"#111110","resume_job_company":"#20201d","resume_job_meta":"#3a3a36","resume_skill_bg":"#111110","resume_skill_text":"#ffc72c","resume_badge_bg":"#111110","resume_badge_text":"#ffc72c","filter_start_color":"#111110","filter_end_color":"#ffc72c"},"palette_colors":{"signal_yellow":"#ffc72c","lcd_charcoal":"#20201d","dpad_black":"#111110","dark_grey":"#3a3a36"},"variables":{"bg_color":"signal_yellow","bg_window":"signal_yellow","text_color":"dpad_black","link_color":"dpad_black","text_dim":"dark_grey","border_color":"dpad_black","border_active":"dpad_black","accent_color":"dpad_black","shadow_color":"dpad_black","accent_secondary":"lcd_charcoal","accent_tertiary":"dark_grey","accent_quaternary":"dpad_black","cube":"dpad_black","cube_hover":"lcd_charcoal","resume_job_role":"dpad_black","resume_job_company":"lcd_charcoal","resume_job_meta":"dark_grey","resume_skill_bg":"dpad_black","resume_skill_text":"signal_yellow","resume_badge_bg":"dpad_black","resume_badge_text":"signal_yellow","filter_start_color":"dpad_black","filter_end_color":"signal_yellow"}},{"id":"sweetie_80","name":"Sweetie 80","colors":{"bg_color":"#1a1c2c","bg_window":"#333c57","text_color":"#f4f4f4","link_color":"#41a6f6","text_dim":"#94b0c2","border_color":"#3b5dc9","border_active":"#73eff7","accent_color":"#ffcd75","shadow_color":"#1a1c2c","accent_secondary":"#38b764","accent_tertiary":"#ef7d57","accent_quaternary":"#a7f070","cube":"#41a6f6","cube_hover":"#73eff7","resume_job_role":"#ffcd75","resume_job_company":"#a7f070","resume_job_meta":"#94b0c2","resume_skill_bg":"#5d275d","resume_skill_text":"#f4f4f4","resume_badge_bg":"#b13e53","resume_badge_text":"#f4f4f4","filter_start_color":"#1a1c2c","filter_end_color":"#f4f4f4"},"palette_colors":{"deep_void":"#1a1c2c","plum":"#5d275d","wine":"#b13e53","coral":"#ef7d57","peach":"#ffcd75","lime":"#a7f070","emerald":"#38b764","teal":"#257179","midnight":"#29366f","royal_blue":"#3b5dc9","sky_blue":"#41a6f6","aqua":"#73eff7","ghost_white":"#f4f4f4","ice_grey":"#94b0c2","slate":"#566c86","dark_slate":"#333c57"},"variables":{"bg_color":"deep_void","bg_window":"dark_slate","text_color":"ghost_white","link_color":"sky_blue","text_dim":"ice_grey","border_color":"royal_blue","border_active":"aqua","accent_color":"peach","shadow_color":"deep_void","accent_secondary":"emerald","accent_tertiary":"coral","accent_quaternary":"lime","cube":"sky_blue","cube_hover":"aqua","resume_job_role":"peach","resume_job_company":"lime","resume_job_meta":"ice_grey","resume_skill_bg":"plum","resume_skill_text":"ghost_white","resume_badge_bg":"wine","resume_badge_text":"ghost_white","filter_start_color":"deep_void","filter_end_color":"ghost_white"}},{"id":"oled_micro","name":"OLED Micro","colors":{"bg_color":"#05080c","bg_window":"#05080c","text_color":"#00f0ff","link_color":"#ffffff","text_dim":"#0099aa","border_color":"#00f0ff","border_active":"#ffffff","accent_color":"#f59e0b","shadow_color":"#1f2937","accent_secondary":"#ffffff","accent_tertiary":"#f59e0b","accent_quaternary":"#0099aa","cube":"#00f0ff","cube_hover":"#ffffff","resume_job_role":"#f59e0b","resume_job_company":"#ffffff","resume_job_meta":"#0099aa","resume_skill_bg":"#1f2937","resume_skill_text":"#00f0ff","resume_badge_bg":"#f59e0b","resume_badge_text":"#05080c","filter_start_color":"#05080c","filter_end_color":"#00f0ff"},"palette_colors":{"oled_black":"#05080c","oled_cyan":"#00f0ff","oled_white":"#ffffff","solder_slate":"#1f2937","circuit_gold":"#f59e0b","dim_cyan":"#0099aa"},"variables":{"bg_color":"oled_black","bg_window":"oled_black","text_color":"oled_cyan","link_color":"oled_white","text_dim":"dim_cyan","border_color":"oled_cyan","border_active":"oled_white","accent_color":"circuit_gold","shadow_color":"solder_slate","accent_secondary":"oled_white","accent_tertiary":"
41circuit_gold","accent_quaternary":"dim_cyan","cube":"oled_cyan","cube_hover":"oled_white","resume_job_role":"circuit_gold","resume_job_company":"oled_white","resume_job_meta":"dim_cyan","resume_skill_bg":"solder_slate","resume_skill_text":"oled_cyan","resume_badge_bg":"circuit_gold","resume_badge_text":"oled_black","filter_start_color":"oled_black","filter_end_color":"oled_cyan"}},{"id":"dreamcast","name":"Spiral 128","colors":{"bg_color":"#ececec","bg_window":"#dcdcdc","text_color":"#232328","link_color":"#ff6600","text_dim":"#55555c","border_color":"#232328","border_active":"#ff6600","accent_color":"#ff6600","shadow_color":"#232328","accent_secondary":"#0055a5","accent_tertiary":"#6dc5b8","accent_quaternary":"#232328","cube":"#232328","cube_hover":"#ff6600","resume_job_role":"#ff6600","resume_job_company":"#0055a5","resume_job_meta":"#55555c","resume_skill_bg":"#232328","resume_skill_text":"#ececec","resume_badge_bg":"#ff6600","resume_badge_text":"#ececec","filter_start_color":"#232328","filter_end_color":"#ececec"},"palette_colors":{"console_grey":"#ececec","deep_grey":"#dcdcdc","charcoal":"#232328","swirl_orange":"#ff6600","swirl_blue":"#0055a5","vmu_teal":"#6dc5b8","dim_charcoal":"#55555c"},"variables":{"bg_color":"console_grey","bg_window":"deep_grey","text_color":"charcoal","link_color":"swirl_orange","text_dim":"dim_charcoal","border_color":"charcoal","border_active":"swirl_orange","accent_color":"swirl_orange","shadow_color":"charcoal","accent_secondary":"swirl_blue","accent_tertiary":"vmu_teal","accent_quaternary":"charcoal","cube":"charcoal","cube_hover":"swirl_orange","resume_job_role":"swirl_orange","resume_job_company":"swirl_blue","resume_job_meta":"dim_charcoal","resume_skill_bg":"charcoal","resume_skill_text":"console_grey","resume_badge_bg":"swirl_orange","resume_badge_text":"console_grey","filter_start_color":"charcoal","filter_end_color":"console_grey"}},{"id":"saturn","name":"Saturn","colors":{"bg_color":"#dcdde1","bg_window":"#cbccd1","text_color":"#22252a","link_color":"#192a56","text_dim":"#555f6d","border_color":"#192a56","border_active":"#0f1830","accent_color":"#192a56","shadow_color":"#192a56","accent_secondary":"#192a56","accent_tertiary":"#0f1830","accent_quaternary":"#555f6d","cube":"#192a56","cube_hover":"#0f1830","resume_job_role":"#192a56","resume_job_company":"#0f1830","resume_job_meta":"#555f6d","resume_skill_bg":"#192a56","resume_skill_text":"#dcdde1","resume_badge_bg":"#e1b12c","resume_badge_text":"#192a56","filter_start_color":"#192a56","filter_end_color":"#dcdde1"},"palette_colors":{"mist_grey":"#dcdde1","slate_card":"#cbccd1","midnight_blue":"#192a56","saturn_gold":"#e1b12c","dark_charcoal":"#22252a","slate_dim":"#555f6d","deep_navy":"#0f1830"},"variables":{"bg_color":"mist_grey","bg_window":"slate_card","text_color":"dark_charcoal","link_color":"midnight_blue","text_dim":"slate_dim","border_color":"midnight_blue","border_active":"deep_navy","accent_color":"midnight_blue","shadow_color":"midnight_blue","accent_secondary":"midnight_blue","accent_tertiary":"deep_navy","accent_quaternary":"slate_dim","cube":"midnight_blue","cube_hover":"deep_navy","resume_job_role":"midnight_blue","resume_job_company":"deep_navy","resume_job_meta":"slate_dim","resume_skill_bg":"midnight_blue","resume_skill_text":"mist_grey","resume_badge_bg":"saturn_gold","resume_badge_text":"midnight_blue","filter_start_color":"midnight_blue","filter_end_color":"mist_grey"}},{"id":"atomic_purple","name":"Atomic Purple","colors":{"bg_color":"#4b3869","bg_window":"#6a528f","text_color":"#e8e0f5","link_color":"#ad9cc1","text_dim":"#bdaece","border_color":"#7e68a0","border_active":"#c83e74","accent_color":"#c83e74","shadow_color":"#261b36","accent_secondary":"#ad9cc1","accent_tertiary":"#2d572c","accent_quaternary":"#bdaece","cube":"#e8e0f5","cube_hover":"#c83e74","resume_job_role":"#ad9cc1","resume_job_company":"#c83e74","resume_job_meta":"#bdaece","resume_skill_bg":"#c83e74","resume_skill_text":"#e8e0f5","resume_badge_bg":"#2d572c","resume_badge_text":"#e8e0f5","filter_start_color":"#261b36","filter_end_color":"#e8e0f5"},"palette_colors":{"resin_purple":"#4b3869","resin_light":"#6a528f","resin_border":"#7e68a0","lilac_text":"#e8e0f5","lilac_dim":"#bdaece","pcb_green":"#2d572c","button_magenta":"#c83e74","specular_lilac":"#ad9cc1","void_black":"#261b36"},"variables":{"bg_color":"resin_purple","bg_window":"resin_light","text_color":"lilac_text","link_color":"specular_lilac","text_dim":"lilac_dim","border_color":"resin_border","border_active":"button_magenta","accent_color":"button_magenta","shadow_color":"void_black","accent_secondary":"specular_lilac","accent_tertiary":"pcb_green","accent_quaternary":"lilac_dim","cube":"lilac_text","cube_hover":"button_magenta","resume_job_role":"specular_lilac","resume_job_company":"button_magenta","resume_job_meta":"lilac_dim","resume_skill_bg":"button_magenta","resume_skill_text":"lilac_text","resume_badge_bg":"pcb_green","resume_badge_text":"lilac_text","filter_start_color":"void_black","filter_end_color":"lilac_text"}},{"id":"pocket_advance","name":"Pocket Advance","colors":{"bg_color":"#3f427b","bg_window":"#282a52","text_color":"#e0e4f0","link_color":"#39ff14","text_dim":"#9fa5b5","border_color":"#9fa5b5","border_active":"#39ff14","accent_color":"#39ff14","shadow_color":"#1a1b36","accent_secondary":"#ff5500","accent_tertiary":"#9fa5b5","accent_quaternary":"#39ff14","cube":"#e0e4f0","cube_hover":"#39ff14","resume_job_role":"#39ff14","resume_job_company":"#ff5500","resume_job_meta":"#9fa5b5","resume_skill_bg":"#282a52","resume_skill_text":"#e0e4f0","resume_badge_bg":"#39ff14","resume_badge_text":"#282a52","filter_start_color":"#1a1b36","filter_end_color":"#e0e4f0"},"palette_colors":{"gba_indigo":"#3f427b","gba_dark":"#282a52","white_lettering":"#e0e4f0","slate_grey":"#9fa5b5","power_green":"#39ff14","battery_amber":"#ff5500","shadow_indigo":"#1a1b36"},"variables":{"bg_color":"gba_indigo","bg_window":"gba_dark","text_color":"white_lettering","link_color":"power_green","text_dim":"slate_grey","border_color":"slate_grey","border_active":"power_green","accent_color":"power_green","shadow_color":"shadow_indigo","accent_secondary":"battery_amber","accent_tertiary":"slate_grey","accent_quaternary":"power_green","cube":"white_lettering","cube_hover":"power_green","resume_job_role":"power_green","resume_job_company":"battery_amber","resume_job_meta":"slate_grey","resume_skill_bg":"gba_dark","resume_skill_text":"white_lettering","resume_badge_bg":"power_green","resume_badge_text":"gba_dark","filter_start_color":"shadow_indigo","filter_end_color":"white_lettering"}},{"id":"indiglo_light","name":"Indiglo Light","colors":{"bg_color":"#124742","bg_window":"#092623","text_color":"#66fcd4","link_color":"#2de2b6","text_dim":"#258575","border_color":"#2de2b6","border_active":"#66fcd4","accent_color":"#66fcd4","shadow_color":"#041210","accent_secondary":"#2de2b6","accent_tertiary":"#258575","accent_quaternary":"#66fcd4","cube":"#66fcd4","cube_hover":"#2de2b6","resume_job_role":"#66fcd4","resume_job_company":"#2de2b6","resume_job_meta":"#258575","resume_skill_bg":"#041210","resume_skill_text":"#66fcd4","resume_badge_bg":"#2de2b6","resume_badge_text":"#041210","filter_start_color":"#041210","filter_end_color":"#66fcd4"},"palette_colors":{"el_backlit":"#124742","el_dark":"#092623","lcd_mint":"#66fcd4","lcd_glow":"#2de2b6","lcd_ink":"#041210","dim_mint":"#258575"},"variables":{"bg_color":"el_backlit","bg_window":"el_dark","text_color":"lcd_mint","link_color":"lcd_glow","text_dim":"dim_mint","border_color":"lcd_glow","border_active":"lcd_mint","accent_color":"lcd_mint","shadow_color":"lcd_ink","accent_secondary":"lcd_glow","accent_tertiary":"dim_mint","accent_quaternary":"lcd_mint","cube":"lcd_mint","cube_hover":"lcd_glow","resume_job_role":"lcd_mint","resume_job_company":"lcd_glow","resume_job_meta":"dim_mint","resume_skill_bg":"lcd_ink","resume_skill_text":"lcd_mint","resume_badge_bg":"lcd_glow","resume_badge_text":"lcd_ink","filter_start_color":"lcd_ink","filter_end_color":"lcd_mint"}},{"id":"gamestation_portable","name":"GameStationPortable","colors":{"bg_color":"#0c0d10","bg_window":"#181b22","text_color":"#e0f7fa","link_color":"#29b6f6","text_dim":"#758294","border_color":"#c8d1dc","border_active":"#29b6f6","accent_color":"#29b6f6","shadow_color":"#050607","accent_secondary":"#c8d1dc","accent_tertiary":"#e0f7fa","accent_quaternary":"#758294","cube":"#c8d1dc","cube_hover":"#29b6f6","resume_job_role":"#29b6f6","resume_job_company":"#c8d1dc","resume_job_meta":"#758294","resume_skill_bg":"#181b22","resume_skill_text":"#29b6f6","resume_badge_bg":"#29b6f6","resume_badge_text":"#050607","filter_start_color":"#050607","filter_end_color":"#e0f7fa"},"palette_colors":{"piano_black":"#0c0d10","bezel_dark":"#181b22","xmb_cyan":"#29b6f6","chrome_silver":"#c8d1dc","white_glow":"#e0f7fa","dim_silver":"#758294","deep_black":"#050607"},"variables":{"bg_color":"piano_black","bg_window":"bezel_dark","text_color":"white_glow","link_color":"xmb_cyan","text_dim":"dim_silver","border_color":"chrome_silver","border_active":"xmb_cyan","accent_color":"xmb_cyan","shadow_color":"deep_black","accent_secondary":"chrome_silver","accent_tertiary":"white_glow","accent_quaternary":"dim_silver","cube":"chrome_silver","cube_hover":"xmb_cyan","resume_job_role":"xmb_cyan","resume_job_company":"chrome_silver","resume_job_meta":"dim_silver","resume_skill_bg":"bezel_dark","resume_skill_text":"xmb_cyan","resume_badge_bg":"xmb_cyan","resume_badge_text":"deep_black","filter_start_color":"deep_black","filter_end_color":"white_glow"}},{"id":"gamestation_3","name":"GameStation 3","colors":{"bg_color":"#0e0f14","bg_window":"#191b22","text_color":"#d4dae2","link_color":"#ff1744","text_dim":"#8a95a5","border_color":"#d4dae2","border_active":"#00e676","accent_color":"#ff1744","shadow_color":"#060709","accent_secondary":"#00e676","accent_tertiary":"#d4dae2","accent_quaternary":"#8a95a5","cube":"#d4dae2","cube_hover":"#ff1744","resume_job_role":"#ff1744","resume_job_company":"#00e676","resume_job_meta":"#8a95a5","resume_skill_bg":"#191b22","resume_skill_text":"#d4dae2","resume_badge_bg":"#ff1744","resume_badge_text":"#0e0f14","filter_start_color":"#060709","filter_end_color":"#d4dae2"},"palette_colors":{"gloss_black":"#0e0f14","slot_dark":"#191b22","chrome_trim":"#d4dae2","standby_red":"#ff1744","power_green":"#00e676","titanium_grey":"#8a95a5","void_black":"#060709"},"variables":{"bg_color":"gloss_black","bg_window":"slot_dark","text_color":"chrome_trim","link_color":"standby_red","text_dim":"titanium_grey","border_color":"chrome_trim","border_active":"power_green","accent_color":"standby_red","shadow_color":"void_black","accent_secondary":"power_green","accent_tertiary":"
41chrome_trim","accent_quaternary":"titanium_grey","cube":"chrome_trim","cube_hover":"standby_red","resume_job_role":"standby_red","resume_job_company":"power_green","resume_job_meta":"titanium_grey","resume_skill_bg":"slot_dark","resume_skill_text":"chrome_trim","resume_badge_bg":"standby_red","resume_badge_text":"gloss_black","filter_start_color":"void_black","filter_end_color":"chrome_trim"}},{"id":"nds_aqua","name":"NDS Aqua","colors":{"bg_color":"#008b9e","bg_window":"#005d6b","text_color":"#ffffff","link_color":"#80deea","text_dim":"#80deea","border_color":"#ffffff","border_active":"#80deea","accent_color":"#80deea","shadow_color":"#0f1318","accent_secondary":"#ffffff","accent_tertiary":"#80deea","accent_quaternary":"#266973","cube":"#ffffff","cube_hover":"#80deea","resume_job_role":"#80deea","resume_job_company":"#ffffff","resume_job_meta":"#80deea","resume_skill_bg":"#0f1318","resume_skill_text":"#80deea","resume_badge_bg":"#80deea","resume_badge_text":"#0f1318","filter_start_color":"#0f1318","filter_end_color":"#ffffff"},"palette_colors":{"metallic_aqua":"#008b9e","abyss_cyan":"#005d6b","bezel_black":"#0f1318","pure_white":"#ffffff","glint_cyan":"#80deea","dim_cyan":"#266973"},"variables":{"bg_color":"metallic_aqua","bg_window":"abyss_cyan","text_color":"pure_white","link_color":"glint_cyan","text_dim":"glint_cyan","border_color":"pure_white","border_active":"glint_cyan","accent_color":"glint_cyan","shadow_color":"bezel_black","accent_secondary":"pure_white","accent_tertiary":"glint_cyan","accent_quaternary":"dim_cyan","cube":"pure_white","cube_hover":"glint_cyan","resume_job_role":"glint_cyan","resume_job_company":"pure_white","resume_job_meta":"glint_cyan","resume_skill_bg":"bezel_black","resume_skill_text":"glint_cyan","resume_badge_bg":"glint_cyan","resume_badge_text":"bezel_black","filter_start_color":"bezel_black","filter_end_color":"pure_white"}},{"id":"atarl","name":"AtarL","colors":{"bg_color":"#1a1a1a","bg_window":"#5c3a21","text_color":"#f0e6d2","link_color":"#ff4500","text_dim":"#997a54","border_color":"#b0b0b0","border_active":"#ff4500","accent_color":"#ff4500","shadow_color":"#111111","accent_secondary":"#b0b0b0","accent_tertiary":"#5c3a21","accent_quaternary":"#997a54","cube":"#f0e6d2","cube_hover":"#ff4500","resume_job_role":"#ff4500","resume_job_company":"#b0b0b0","resume_job_meta":"#997a54","resume_skill_bg":"#1a1a1a","resume_skill_text":"#f0e6d2","resume_badge_bg":"#ff4500","resume_badge_text":"#1a1a1a","filter_start_color":"#1a1a1a","filter_end_color":"#f0e6d2"},"palette_colors":{"ribbed_black":"#1a1a1a","ribbed_shadow":"#111111","walnut_veneer":"#5c3a21","joystick_fire":"#ff4500","lever_silver":"#b0b0b0","vintage_ivory":"#f0e6d2","dim_amber":"#997a54"},"variables":{"bg_color":"ribbed_black","bg_window":"walnut_veneer","text_color":"vintage_ivory","link_color":"joystick_fire","text_dim":"dim_amber","border_color":"lever_silver","border_active":"joystick_fire","accent_color":"joystick_fire","shadow_color":"ribbed_shadow","accent_secondary":"lever_silver","accent_tertiary":"walnut_veneer","accent_quaternary":"dim_amber","cube":"vintage_ivory","cube_hover":"joystick_fire","resume_job_role":"joystick_fire","resume_job_company":"lever_silver","resume_job_meta":"dim_amber","resume_skill_bg":"ribbed_black","resume_skill_text":"vintage_ivory","resume_badge_bg":"joystick_fire","resume_badge_text":"ribbed_black","filter_start_color":"ribbed_black","filter_end_color":"vintage_ivory"}},{"id":"mega_shock","name":"Mega Shock","colors":{"bg_color":"#141416","bg_window":"#222329","text_color":"#f5f5f5","link_color":"#d4af37","text_dim":"#8f7524","border_color":"#d4af37","border_active":"#e53935","accent_color":"#e53935","shadow_color":"#141416","accent_secondary":"#1e88e5","accent_tertiary":"#fbc02d","accent_quaternary":"#43a047","cube":"#d4af37","cube_hover":"#e53935","resume_job_role":"#d4af37","resume_job_company":"#1e88e5","resume_job_meta":"#8f7524","resume_skill_bg":"#141416","resume_skill_text":"#d4af37","resume_badge_bg":"#e53935","resume_badge_text":"#f5f5f5","filter_start_color":"#141416","filter_end_color":"#f5f5f5"},"palette_colors":{"arcade_black":"#141416","cabinet_slate":"#222329","neo_gold":"#d4af37","button_red":"#e53935","button_yellow":"#fbc02d","button_green":"#43a047","button_blue":"#1e88e5","text_white":"#f5f5f5","dim_gold":"#8f7524"},"variables":{"bg_color":"arcade_black","bg_window":"cabinet_slate","text_color":"text_white","link_color":"neo_gold","text_dim":"dim_gold","border_color":"neo_gold","border_active":"button_red","accent_color":"button_red","shadow_color":"arcade_black","accent_secondary":"button_blue","accent_tertiary":"button_yellow","accent_quaternary":"button_green","cube":"neo_gold","cube_hover":"button_red","resume_job_role":"neo_gold","resume_job_company":"button_blue","resume_job_meta":"dim_gold","resume_skill_bg":"arcade_black","resume_skill_text":"neo_gold","resume_badge_bg":"button_red","resume_badge_text":"text_white","filter_start_color":"arcade_black","filter_end_color":"text_white"}}
41,{"id":"engine_16","name":"Engine 16","colors":{"bg_color":"#f2f4f7","bg_window":"#e4e7eb","text_color":"#33373d","link_color":"#ff3b30","text_dim":"#8e95a0","border_color":"#33373d","border_active":"#ff3b30","accent_color":"#ff3b30","shadow_color":"#33373d","accent_secondary":"#007aff","accent_tertiary":"#8e95a0","accent_quaternary":"#33373d","cube":"#33373d","cube_hover":"#ff3b30","resume_job_role":"#ff3b30","resume_job_company":"#007aff","resume_job_meta":"#8e95a0","resume_skill_bg":"#33373d","resume_skill_text":"#f2f4f7","resume_badge_bg":"#ff3b30","resume_badge_text":"#f2f4f7","filter_start_color":"#33373d","filter_end_color":"#f2f4f7"},"palette_colors":{"pce_white":"#f2f4f7","pce_card":"#e4e7eb","pad_charcoal":"#33373d","hucard_red":"#ff3b30","nec_blue":"#007aff","switch_grey":"#8e95a0","dark_black":"#1a1a1c"},"variables":{"bg_color":"pce_white","bg_window":"pce_card","text_color":"pad_charcoal","link_color":"hucard_red","text_dim":"switch_grey","border_color":"pad_charcoal","border_active":"hucard_red","accent_color":"hucard_red","shadow_color":"pad_charcoal","accent_secondary":"nec_blue","accent_tertiary":"switch_grey","accent_quaternary":"pad_charcoal","cube":"pad_charcoal","cube_hover":"hucard_red","resume_job_role":"hucard_red","resume_job_company":"nec_blue","resume_job_meta":"switch_grey","resume_skill_bg":"pad_charcoal","resume_skill_text":"pce_white","resume_badge_bg":"hucard_red","resume_badge_text":"pce_white","filter_start_color":"pad_charcoal","filter_end_color":"pce_white"}},{"id":"phosphor_vector","name":"Phosphor Vector","colors":{"bg_color":"#070709","bg_window":"#070709","text_color":"#39ff14","link_color":"#00e5ff","text_dim":"#1a660a","border_color":"#39ff14","border_active":"#ffffff","accent_color":"#ffffff","shadow_color":"#070709","accent_secondary":"#00e5ff","accent_tertiary":"#ff007f","accent_quaternary":"#1a660a","cube":"#39ff14","cube_hover":"#ffffff","resume_job_role":"#ffffff","resume_job_company":"#00e5ff","resume_job_meta":"#1a660a","resume_skill_bg":"#121217","resume_skill_text":"#39ff14","resume_badge_bg":"#ff007f","resume_badge_text":"#ffffff","filter_start_color":"#070709","filter_end_color":"#39ff14"},"palette_colors":{"crt_pitch":"#070709","crt_mesh":"#121217","laser_green":"#39ff14","vector_cyan":"#00e5ff","overlay_pink":"#ff007f","beam_white":"#ffffff","dim_green":"#1a660a"},"variables":{"bg_color":"crt_pitch","bg_window":"crt_pitch","text_color":"laser_green","link_color":"vector_cyan","text_dim":"dim_green","border_color":"laser_green","border_active":"beam_white","accent_color":"beam_white","shadow_color":"crt_pitch","accent_secondary":"vector_cyan","accent_tertiary":"overlay_pink","accent_quaternary":"dim_green","cube":"laser_green","cube_hover":"beam_white","resume_job_role":"beam_white","resume_job_company":"vector_cyan","resume_job_meta":"dim_green","resume_skill_bg":"crt_mesh","resume_skill_text":"laser_green","resume_badge_bg":"overlay_pink","resume_badge_text":"beam_white","filter_start_color":"crt_pitch","filter_end_color":"laser_green"}},{"id":"deck_handheld","name":"Deck Handheld","colors":{"bg_color":"#17191e","bg_window":"#0f1013","text_color":"#f1f3f6","link_color":"#1a9fff","text_dim":"#667085","border_color":"#1a9fff","border_active":"#ff7700","accent_color":"#1a9fff","shadow_color":"#0f1013","accent_secondary":"#ff7700","accent_tertiary":"#1a9fff","accent_quaternary":"#667085","cube":"#f1f3f6","cube_hover":"#1a9fff","resume_job_role":"#1a9fff","resume_job_company":"#ff7700","resume_job_meta":"#667085","resume_skill_bg":"#0f1013","resume_skill_text":"#f1f3f6","resume_badge_bg":"#1a9fff","resume_badge_text":"#0f1013","filter_start_color":"#0f1013","filter_end_color":"#f1f3f6"},"palette_colors":{"matte_slate":"#17191e","grip_black":"#0f1013","steam_blue":"#1a9fff","thumb_amber":"#ff7700","font_white":"#f1f3f6","dim_slate":"#667085"},"variables":{"bg_color":"matte_slate","bg_window":"grip_black","text_color":"font_white","link_color":"steam_blue","text_dim":"dim_slate","border_color":"steam_blue","border_active":"thumb_amber","accent_color":"steam_blue","shadow_color":"grip_black","accent_secondary":"thumb_amber","accent_tertiary":"steam_blue","accent_quaternary":"dim_slate","cube":"font_white","cube_hover":"steam_blue","resume_job_role":"steam_blue","resume_job_company":"thumb_amber","resume_job_meta":"dim_slate","resume_skill_bg":"grip_black","resume_skill_text":"font_white","resume_badge_bg":"steam_blue","resume_badge_text":"grip_black","filter_start_color":"grip_black","filter_end_color":"font_white"}},{"id":"orchard_2","name":"Orchard II","colors":{"bg_color":"#e3d8be","bg_window":"#e3d8be","text_color":"#4a3728","link_color":"#61bb46","text_dim":"#735945","border_color":"#4a3728","border_active":"#61bb46","accent_color":"#e03a3e","shadow_color":"#4a3728","accent_secondary":"#fdb827","accent_tertiary":"#009ddc","accent_quaternary":"#963d97","cube":"#4a3728","cube_hover":"#61bb46","resume_job_role":"#e03a3e","resume_job_company":"#61bb46","resume_job_meta":"#735945","resume_skill_bg":"#4a3728","resume_skill_text":"#e3d8be","resume_badge_bg":"#fdb827","resume_badge_text":"#4a3728","filter_start_color":"#4a3728","filter_end_color":"#e3d8be"},"palette_colors":{"putty_case":"#e3d8be","dark_umber":"#4a3728","crt_green":"#33ff33","apple_green":"#61bb46","apple_yellow":"#fdb827","apple_orange":"#f58220","apple_red":"#e03a3e","apple_purple":"#963d97","apple_blue":"#009ddc","dim_umber":"#735945"},"variables":{"bg_color":"putty_case","bg_window":"putty_case","text_color":"dark_umber","link_color":"apple_green","text_dim":"dim_umber","border_color":"dark_umber","border_active":"apple_green","accent_color":"apple_red","
41shadow_color":"dark_umber","accent_secondary":"apple_yellow","accent_tertiary":"apple_blue","accent_quaternary":"apple_purple","cube":"dark_umber","cube_hover":"apple_green","resume_job_role":"apple_red","resume_job_company":"apple_green","resume_job_meta":"dim_umber","resume_skill_bg":"dark_umber","resume_skill_text":"putty_case","resume_badge_bg":"apple_yellow","resume_badge_text":"dark_umber","filter_start_color":"dark_umber","filter_end_color":"putty_case"}},{"id":"snow_white","name":"Snow White","colors":{"bg_color":"#ded7c4","bg_window":"#ffffff","text_color":"#000000","link_color":"#34312d","text_dim":"#888888","border_color":"#000000","border_active":"#34312d","accent_color":"#000000","shadow_color":"#34312d","accent_secondary":"#34312d","accent_tertiary":"#888888","accent_quaternary":"#000000","cube":"#000000","cube_hover":"#34312d","resume_job_role":"#000000","resume_job_company":"#34312d","resume_job_meta":"#888888","resume_skill_bg":"#000000","resume_skill_text":"#ffffff","resume_badge_bg":"#34312d","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ded7c4"},"palette_colors":{"vintage_beige":"#ded7c4","chassis_card":"#cfc8b4","recessed_vent":"#34312d","gui_ink":"#000000","paper_white":"#ffffff","dither_grey":"#888888"},"variables":{"bg_color":"vintage_beige","bg_window":"paper_white","text_color":"gui_ink","link_color":"recessed_vent","text_dim":"dither_grey","border_color":"gui_ink","border_active":"recessed_vent","accent_color":"gui_ink","shadow_color":"recessed_vent","accent_secondary":"recessed_vent","accent_tertiary":"dither_grey","accent_quaternary":"gui_ink","cube":"gui_ink","cube_hover":"recessed_vent","resume_job_role":"gui_ink","resume_job_company":"recessed_vent","resume_job_meta":"dither_grey","resume_skill_bg":"gui_ink","resume_skill_text":"paper_white","resume_badge_bg":"recessed_vent","resume_badge_text":"paper_white","filter_start_color":"gui_ink","filter_end_color":"vintage_beige"}},{"id":"black_cube","name":"Black Cube","colors":{"bg_color":"#121214","bg_window":"#1c1c20","text_color":"#ffffff","link_color":"#f9e01e","text_dim":"#7d7f85","border_color":"#7d7f85","border_active":"#35b34b","accent_color":"#f32736","shadow_color":"#121214","accent_secondary":"#35b34b","accent_tertiary":"#e52d7e","accent_quaternary":"#f9e01e","cube":"#ffffff","cube_hover":"#35b34b","resume_job_role":"#f9e01e","resume_job_company":"#35b34b","resume_job_meta":"#7d7f85","resume_skill_bg":"#e52d7e","resume_skill_text":"#ffffff","resume_badge_bg":"#f32736","resume_badge_text":"#ffffff","filter_start_color":"#121214","filter_end_color":"#ffffff"},"palette_colors":{"magnesium_black":"#121214","cube_dark":"#1c1c20","pure_white":"#ffffff","titanium_grey":"#7d7f85","rand_vermilion":"#f32736","rand_cerise":"#e52d7e","rand_green":"#35b34b","rand_yellow":"#f9e01e"},"variables":{"bg_color":"magnesium_black","bg_window":"cube_dark","text_color":"pure_white","link_color":"rand_yellow","text_dim":"titanium_grey","border_color":"titanium_grey","border_active":"rand_green","accent_color":"rand_vermilion","shadow_color":"magnesium_black","accent_secondary":"rand_green","accent_tertiary":"rand_cerise","accent_quaternary":"rand_yellow","cube":"pure_white","cube_hover":"rand_green","resume_job_role":"rand_yellow","resume_job_company":"rand_green","resume_job_meta":"titanium_grey","resume_skill_bg":"rand_cerise","resume_skill_text":"pure_white","resume_badge_bg":"rand_vermilion","resume_badge_text":"pure_white","filter_start_color":"magnesium_black","filter_end_color":"pure_white"}},{"id":"yellow_tab","name":"YellowTab","colors":{"bg_color":"#dcdfe3","bg_window":"#eef0f3","text_color":"#141416","link_color":"#c40000","text_dim":"#36414e","border_color":"#234b75","border_active":"#ffc400","accent_color":"#234b75","shadow_color":"#234b75","accent_secondary":"#ffc400","accent_tertiary":"#c40000","accent_quaternary":"#36414e","cube":"#234b75","cube_hover":"#c40000","resume_job_role":"#c40000","resume_job_company":"#234b75","resume_job_meta":"#36414e","resume_skill_bg":"#ffc400","resume_skill_text":"#141416","resume_badge_bg":"#c40000","resume_badge_text":"#ffffff","filter_start_color":"#234b75","filter_end_color":"#dcdfe3"},"palette_colors":{"gui_grey":"#dcdfe3","gui_window":"#eef0f3","steel_blue":"#234b75","bold_yellow":"#ffc400","border_black":"#141416","be_red":"#c40000","dark_slate":"#36414e","pure_white":"#ffffff"},"variables":{"bg_color":"gui_grey","bg_window":"gui_window","text_color":"border_black","link_color":"be_red","text_dim":"dark_slate","border_color":"steel_blue","border_active":"bold_yellow","accent_color":"steel_blue","shadow_color":"steel_blue","accent_secondary":"bold_yellow","accent_tertiary":"be_red","accent_quaternary":"dark_slate","cube":"steel_blue","cube_hover":"be_red","resume_job_role":"be_red","resume_job_company":"steel_blue","resume_job_meta":"dark_slate","resume_skill_bg":"bold_yellow","resume_skill_text":"border_black","resume_badge_bg":"be_red","resume_badge_text":"pure_white","filter_start_color":"steel_blue","filter_end_color":"gui_grey"}},{"id":"silicon_indigo","name":"Silicon Indigo","colors":{"bg_color":"#1e3a8a","bg_window":"#14285e","text_color":"#ffffff","link_color":"#00f0ff","text_dim":"#c7d2fe","border_color":"#00f0ff","border_active":"#e91e63","accent_color":"#00f0ff","shadow_color":"#14285e","accent_secondary":"#e91e63","accent_tertiary":"#005952","accent_quaternary":"#5eead4","cube":"#00f0ff","cube_hover":"#e91e63","resume_job_role":"#00f0ff","resume_job_company":"#e91e63","resume_job_meta":"#c7d2fe","resume_skill_bg":"#005952","resume_skill_text":"#ffffff","resume_badge_bg":"#e91e63","resume_badge_text":"#ffffff","filter_start_color":"#14285e","filter_end_color":"#ffffff"},"palette_colors":{"sgi_blue":"#1e3a8a","sgi_dark":"#14285e","indy_teal":"#005952","silicon_cyan":"#00f0ff","wireframe_magenta":"#e91e63","text_white":"#ffffff","window_grey":"#c7d2fe","dim_cyan":"#5eead4"},"variables":{"bg_color":"sgi_blue","bg_window":"sgi_dark","text_color":"text_white","link_color":"silicon_cyan","text_dim":"window_grey","border_color":"silicon_cyan","border_active":"wireframe_magenta","accent_color":"silicon_cyan","shadow_color":"sgi_dark","accent_secondary":"wireframe_magenta","accent_tertiary":"indy_teal","accent_quaternary":"dim_cyan","cube":"silicon_cyan","cube_hover":"wireframe_magenta","resume_job_role":"silicon_cyan","resume_job_company":"wireframe_magenta","resume_job_meta":"window_grey","resume_skill_bg":"indy_teal","resume_skill_text":"text_white","resume_badge_bg":"wireframe_magenta","resume_badge_text":"text_white","filter_start_color":"sgi_dark","filter_end_color":"text_white"}},{"id":"bento_pad","name":"Bento Pad","colors":{"bg_color":"#141416","bg_window":"#1e1e24","text_color":"#e6e6e6","link_color":"#e00000","text_dim":"#737373","border_color":"#e00000","border_active":"#0066cc","accent_color":"#e00000","shadow_color":"#141416","accent_secondary":"#0066cc","accent_tertiary":"#43a047","accent_quaternary":"#737373","cube":"#e6e6e6","cube_hover":"#e00000","resume_job_role":"#e00000","resume_job_company":"#0066cc","resume_job_meta":"#737373","resume_skill_bg":"#0066cc","resume_skill_text":"#e6e6e6","resume_badge_bg":"#e00000","resume_badge_text":"#e6e6e6","filter_start_color":"#141416","filter_end_color":"#e6e6e6"},"palette_colors":{"raven_black":"#141416","raven_panel":"#1e1e24","trackpoint_red":"#e00000","enter_blue":"#0066cc","key_white":"#e6e6e6","led_green":"#43a047","dim_grey":"#737373"},"variables":{"bg_color":"raven_black","bg_window":"raven_panel","text_color":"key_white","link_color":"trackpoint_red","text_dim":"dim_grey","border_color":"trackpoint_red","border_active":"enter_blue","accent_color":"trackpoint_red","
41shadow_color":"raven_black","accent_secondary":"enter_blue","accent_tertiary":"led_green","accent_quaternary":"dim_grey","cube":"key_white","cube_hover":"trackpoint_red","resume_job_role":"trackpoint_red","resume_job_company":"enter_blue","resume_job_meta":"dim_grey","resume_skill_bg":"enter_blue","resume_skill_text":"key_white","resume_badge_bg":"trackpoint_red","resume_badge_text":"key_white","filter_start_color":"raven_black","filter_end_color":"key_white"}},{"id":"speccy_48k","name":"Speccy 48K","colors":{"bg_color":"#000000","bg_window":"#141414","text_color":"#ffffff","link_color":"#00d8d8","text_dim":"#666666","border_color":"#00d8d8","border_active":"#d8d800","accent_color":"#d80000","shadow_color":"#000000","accent_secondary":"#00d800","accent_tertiary":"#d8d800","accent_quaternary":"#00d8d8","cube":"#00d8d8","cube_hover":"#d8d800","resume_job_role":"#d8d800","resume_job_company":"#00d800","resume_job_meta":"#666666","resume_skill_bg":"#d80000","resume_skill_text":"#ffffff","resume_badge_bg":"#00d8d8","resume_badge_text":"#000000","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"speccy_black":"#000000","speccy_card":"#141414","chiclet_grey":"#d8d8d8","rainbow_red":"#d80000","rainbow_yellow":"#d8d800","rainbow_green":"#00d800","rainbow_cyan":"#00d8d8","bright_white":"#ffffff","dim_grey":"#666666"},"variables":{"bg_color":"speccy_black","bg_window":"speccy_card","text_color":"bright_white","link_color":"rainbow_cyan","text_dim":"dim_grey","border_color":"rainbow_cyan","border_active":"rainbow_yellow","accent_color":"rainbow_red","shadow_color":"speccy_black","accent_secondary":"rainbow_green","accent_tertiary":"rainbow_yellow","accent_quaternary":"rainbow_cyan","cube":"rainbow_cyan","cube_hover":"rainbow_yellow","resume_job_role":"rainbow_yellow","resume_job_company":"rainbow_green","resume_job_meta":"dim_grey","resume_skill_bg":"rainbow_red","resume_skill_text":"bright_white","resume_badge_bg":"rainbow_cyan","resume_badge_text":"speccy_black","filter_start_color":"speccy_black","filter_end_color":"bright_white"}},{"id":"acorn_bbc","name":"Acorn BBC","colors":{"bg_color":"#ded6c4","bg_window":"#ded6c4","text_color":"#2b221a","link_color":"#e62b1e","text_dim":"#6b5847","border_color":"#2b221a","border_active":"#e62b1e","accent_color":"#e62b1e","shadow_color":"#2b221a","accent_secondary":"#00e676","accent_tertiary":"#e62b1e","accent_quaternary":"#6b5847","cube":"#2b221a","cube_hover":"#e62b1e","resume_job_role":"#e62b1e","resume_job_company":"#00e676","resume_job_meta":"#6b5847","resume_skill_bg":"#2b221a","resume_skill_text":"#ded6c4","resume_badge_bg":"#e62b1e","resume_badge_text":"#f7f4ec","filter_start_color":"#2b221a","filter_end_color":"#ded6c4"},"palette_colors":{"biscuit_cream":"#ded6c4","chassis_panel":"#cfc5af","umber_dark":"#2b221a","function_red":"#e62b1e","crt_green":"#00e676","dim_umber":"#6b5847","light_ivory":"#f7f4ec"},"variables":{"bg_color":"biscuit_cream","bg_window":"biscuit_cream","text_color":"umber_dark","link_color":"function_red","text_dim":"dim_umber","border_color":"umber_dark","border_active":"function_red","accent_color":"function_red","shadow_color":"umber_dark","accent_secondary":"crt_green","accent_tertiary":"function_red","accent_quaternary":"dim_umber","cube":"umber_dark","cube_hover":"function_red","resume_job_role":"function_red","resume_job_company":"crt_green","resume_job_meta":"dim_umber","resume_skill_bg":"umber_dark","resume_skill_text":"biscuit_cream","resume_badge_bg":"function_red","resume_badge_text":"light_ivory","filter_start_color":"umber_dark","filter_end_color":"biscuit_cream"}},{"id":"twin_tower","name":"Twin Tower","colors":{"bg_color":"#191b20","bg_window":"#0f1013","text_color":"#e8ebf0","link_color":"#00ff88","text_dim":"#5c6370","border_color":"#00ff88","border_active":"#ff9900","accent_color":"#ff9900","shadow_color":"#0f1013","accent_secondary":"#00ff88","accent_tertiary":"#ff9900","accent_quaternary":"#5c6370","cube":"#e8ebf0","cube_hover":"#00ff88","resume_job_role":"#ff9900","resume_job_company":"#00ff88","resume_job_meta":"#5c6370","resume_skill_bg":"#0f1013","resume_skill_text":"#00ff88","resume_badge_bg":"#ff9900","resume_badge_text":"#0f1013","filter_start_color":"#0f1013","filter_end_color":"#e8ebf0"},"palette_colors":{"graphite_black":"#191b20","shadow_black":"#0f1013","drive_green":"#00ff88","eject_amber":"#ff9900","human_white":"#e8ebf0","dim_graphite":"#5c6370"},"variables":{"bg_color":"graphite_black","bg_window":"shadow_black","text_color":"human_white","link_color":"drive_green","text_dim":"dim_graphite","border_color":"drive_green","border_active":"eject_amber","accent_color":"eject_amber","shadow_color":"shadow_black","accent_secondary":"drive_green","accent_tertiary":"eject_amber","accent_quaternary":"dim_graphite","cube":"human_white","cube_hover":"drive_green","resume_job_role":"eject_amber","resume_job_company":"drive_green","resume_job_meta":"dim_graphite","resume_skill_bg":"shadow_black","resume_skill_text":"drive_green","resume_badge_bg":"eject_amber","resume_badge_text":"shadow_black","filter_start_color":"shadow_black","filter_end_color":"human_white"}},{"id":"datacorder_464","name":"Datacorder 464","colors":{"bg_color":"#26282e","bg_window":"#1c1d22","text_color":"#f4f4f7","link_color":"#27ae60","text_dim":"#6c727d","border_color":"#c0392b","border_active":"#27ae60","accent_color":"#c0392b","shadow_color":"#1c1d22","accent_secondary":"#27ae60","accent_tertiary":"#2980b9","accent_quaternary":"#f39c12","cube":"#f4f4f7","cube_hover":"#27ae60","resume_job_role":"#f39c12","resume_job_company":"#27ae60","resume_job_meta":"#6c727d","resume_skill_bg":"#c0392b","resume_skill_text":"#f4f4f7","resume_badge_bg":"#2980b9","resume_badge_text":"#f4f4f7","filter_start_color":"#1c1d22","filter_end_color":"#f4f4f7"},"palette_colors":{"cpc_charcoal":"#26282e","cpc_panel":"#1c1d22","text_white":"#f4f4f7","rec_red":"#c0392b","play_green":"#27ae60","pause_blue":"#2980b9","stop_yellow":"#f39c12","dim_cpc":"#6c727d"},"variables":{"bg_color":"cpc_charcoal","bg_window":"cpc_panel","text_color":"text_white","link_color":"play_green","text_dim":"dim_cpc","border_color":"rec_red","border_active":"play_green","accent_color":"rec_red","shadow_color":"cpc_panel","accent_secondary":"play_green","accent_tertiary":"pause_blue","accent_quaternary":"stop_yellow","cube":"text_white","cube_hover":"play_green","resume_job_role":"stop_yellow","resume_job_company":"play_green","resume_job_meta":"dim_cpc","resume_skill_bg":"rec_red","resume_skill_text":"text_white","resume_badge_bg":"pause_blue","resume_badge_text":"text_white","filter_start_color":"cpc_panel","filter_end_color":"text_white"}},{"id":"rhythm_808","name":"Rhythm 808","colors":{"bg_color":"#18191d","bg_window":"#23252b","text_color":"#f5f0e1","link_color":"#ff7700","text_dim":"#7a7e88","border_color":"#ff7700","border_active":"#f5c400","accent_color":"#e02828","shadow_color":"#18191d","accent_secondary":"#f5c400","accent_tertiary":"#e02828","accent_quaternary":"#ede9de","cube":"#ff7700","cube_hover":"#f5c400","resume_job_role":"#f5c400","resume_job_company":"#ff7700","resume_job_meta":"#7a7e88","resume_skill_bg":"#e02828","resume_skill_text":"#f5f0e1","resume_badge_bg":"#ff7700","resume_badge_text":"#18191d","filter_start_color":"#18191d","filter_end_color":"#ff7700"},"palette_colors":{"chassis_black":"#18191d","chassis_slate":"#23252b","cream_print":"#f5f0e1","step_red":"#e02828","step_orange":"#ff7700","step_yellow":"#f5c400","step_white":"#ede9de","dim_grey":"#7a7e88"},"variables":{"bg_color":"chassis_black","bg_window":"chassis_slate","text_color":"cream_print","link_color":"step_orange","text_dim":"dim_grey","border_color":"step_orange","border_active":"step_yellow","accent_color":"step_red","shadow_color":"chassis_black","accent_secondary":"step_yellow","accent_tertiary":"step_red","accent_quaternary":"step_white","cube":"step_orange","cube_hover":"step_yellow","resume_job_role":"step_yellow","resume_job_company":"step_orange","resume_job_meta":"dim_grey","resume_skill_bg":"step_red","resume_skill_text":"cream_print","resume_badge_bg":"step_orange","resume_badge_text":"chassis_black","filter_start_color":"chassis_black","filter_end_color":"step_orange"}},{"id":"acid_303","name":"Acid 303","colors":{"bg_color":"#c2c7cc","bg_window":"#c2c7cc","text_color":"#26282d","link_color":"#ff0033","text_dim":"#50555e","border_color":"#26282d","border_active":"#ff0033","accent_color":"#ff0033","shadow_color":"#26282d","accent_secondary":"#a6ff00","accent_tertiary":"#ff0033","accent_quaternary":"#50555e","cube":"#26282d","cube_hover":"#ff0033","resume_job_role":"#ff0033","resume_job_company":"#26282d","resume_job_meta":"#50555e","resume_skill_bg":"#26282d","resume_skill_text":"#c2c7cc","resume_badge_bg":"#ff0033","resume_badge_text":"#c2c7cc","filter_start_color":"#26282d","filter_end_color":"#c2c7cc"},"palette_colors":{"silver_metallic":"#c2c7cc","chassis_card":"#adb5bd","knob_charcoal":"#26282d","ruby_led":"#ff0033","acid_neon":"#a6ff00","deep_cut":"#0e1014","dim_charcoal":"#50555e"},"variables":{"bg_color":"silver_metallic","bg_window":"silver_metallic","text_color":"knob_charcoal","link_color":"ruby_led","text_dim":"dim_charcoal","border_color":"knob_charcoal","border_active":"ruby_led","accent_color":"ruby_led","shadow_color":"knob_charcoal","accent_secondary":"acid_neon","accent_tertiary":"ruby_led","accent_quaternary":"dim_charcoal","cube":"knob_charcoal","cube_hover":"ruby_led","resume_job_role":"ruby_led","resume_job_company":"knob_charcoal","resume_job_meta":"dim_charcoal","resume_skill_bg":"knob_charcoal","resume_skill_text":"silver_metallic","resume_badge_bg":"ruby_led","resume_badge_text":"silver_metallic","filter_start_color":"knob_charcoal","filter_end_color":"silver_metallic"}},{"id":"operator_1","name":"Operator 1","colors":{"bg_color":"#e2e4e2","bg_window":"#f0f2f0","text_color":"#1c1d20","link_color":"#1658b4","text_dim":"#4e5158","border_color":"#1c1d20","border_active":"#d96500","accent_color":"#d96500","shadow_color":"#1c1d20","accent_secondary":"#198c4f","accent_tertiary":"#1658b4","accent_quaternary":"#d96500","cube":"#1c1d20","cube_hover":"#d96500","resume_job_role":"#d96500","resume_job_company":"#1658b4","resume_job_meta":"#4e5158","resume_skill_bg":"#1c1d20","resume_skill_text":"#ffffff","resume_badge_bg":"#1658b4","resume_badge_text":"#ffffff","filter_start_color":"#1c1d20","filter_end_color":"#e2e4e2"},"palette_colors":{"cnc_aluminum":"#e2e4e2","aluminum_window":"#f0f2f0","oled_charcoal":"#1c1d20","key_white":"#ffffff","dial_blue":"#1658b4","dial_green":"#198c4f","dial_orange":"#d96500","dim_charcoal":"#4e5158"},"variables":{"bg_color":"cnc_aluminum","bg_window":"aluminum_window","text_color":"oled_charcoal","link_color":"dial_blue","text_dim":"dim_charcoal","border_color":"oled_charcoal","border_active":"dial_orange","accent_color":"dial_orange","shadow_color":"oled_charcoal","accent_secondary":"dial_green","accent_tertiary":"dial_blue","accent_quaternary":"dial_orange","cube":"oled_charcoal","cube_hover":"dial_orange","resume_job_role":"dial_orange","resume_job_company":"dial_blue","resume_job_meta":"dim_charcoal","resume_skill_bg":"oled_charcoal","resume_skill_text":"key_white","resume_badge_bg":"dial_blue","resume_badge_text":"key_white","filter_start_color":"oled_charcoal","filter_end_color":"cnc_aluminum"}},{"id":"boom_bap_16","name":"Boom Bap 16","colors":{"bg_color":"#d4cfc7","bg_window":"#d4cfc7","text_color":"#212328","link_color":"#d32f2f","text_dim":"#69717d","border_color":"#43484f","border_active":"#d32f2f","accent_color":"#d32f2f","shadow_color":"#43484f","accent_secondary":"#7ca4cc","accent_tertiary":"#43484f","accent_quaternary":"#69717d","cube":"#43484f","cube_hover":"#d32f2f","resume_job_role":"#d32f2f","resume_job_company":"#43484f","resume_job_meta":"#69717d","resume_skill_bg":"#43484f","resume_skill_text":"#d4cfc7","resume_badge_bg":"#7ca4cc","resume_badge_text":"#212328","filter_start_color":"#212328","filter_end_color":"#d4cfc7"},"palette_colors":{"putty_grey":"#d4cfc7","housing_panel":"#c4beba","pad_slate":"#43484f","lcd_blue":"#7ca4cc","record_red":"#d32f2f","ink_charcoal":"#212328","dim_slate":"#69717d"},"variables":{"bg_color":"putty_grey","bg_window":"putty_grey","text_color":"ink_charcoal","link_color":"record_red","text_dim":"dim_slate","border_color":"pad_slate","border_active":"record_red","accent_color":"record_red","shadow_color":"pad_slate","accent_secondary":"lcd_blue","accent_tertiary":"pad_slate","accent_quaternary":"dim_slate","cube":"pad_slate","cube_hover":"record_red","resume_job_role":"record_red","resume_job_company":"pad_slate","resume_job_meta":"dim_slate","resume_skill_bg":"pad_slate","resume_skill_text":"putty_grey","resume_badge_bg":"lcd_blue","resume_badge_text":"ink_charcoal","filter_start_color":"ink_charcoal","filter_end_color":"putty_grey"}}
41,{"id":"blue_cassette","name":"Blue Cassette","colors":{"bg_color":"#1e4d8c","bg_window":"#133563","text_color":"#ffffff","link_color":"#ff6f00","text_dim":"#c8d1d9","border_color":"#c8d1d9","border_active":"#ff6f00","accent_color":"#ff6f00","shadow_color":"#222629","accent_secondary":"#c8d1d9","accent_tertiary":"#ff6f00","accent_quaternary":"#8fa0b3","cube":"#c8d1d9","cube_hover":"#ff6f00","resume_job_role":"#ff6f00","resume_job_company":"#c8d1d9","resume_job_meta":"#8fa0b3","resume_skill_bg":"#c8d1d9","resume_skill_text":"#1e4d8c","resume_badge_bg":"#ff6f00","resume_badge_text":"#ffffff","filter_start_color":"#222629","filter_end_color":"#ffffff"},"palette_colors":{"walkman_blue":"#1e4d8c","deep_blue":"#133563","brushed_silver":"#c8d1d9","hotline_orange":"#ff6f00","leather_black":"#222629","pure_white":"#ffffff","dim_silver":"#8fa0b3"},"variables":{"bg_color":"walkman_blue","bg_window":"deep_blue","text_color":"pure_white","link_color":"hotline_orange","text_dim":"brushed_silver","border_color":"brushed_silver","border_active":"hotline_orange","accent_color":"hotline_orange","shadow_color":"leather_black","accent_secondary":"brushed_silver","accent_tertiary":"hotline_orange","accent_quaternary":"dim_silver","cube":"brushed_silver","cube_hover":"hotline_orange","resume_job_role":"hotline_orange","resume_job_company":"brushed_silver","resume_job_meta":"dim_silver","resume_skill_bg":"brushed_silver","resume_skill_text":"walkman_blue","resume_badge_bg":"hotline_orange","resume_badge_text":"pure_white","filter_start_color":"leather_black","filter_end_color":"pure_white"}},{"id":"functionalist","name":"Functionalist","colors":{"bg_color":"#212121","bg_window":"#363636","text_color":"#ffffff","link_color":"#ff6d00","text_dim":"#7d7d7d","border_color":"#ffffff","border_active":"#ff6d00","accent_color":"#ff6d00","shadow_color":"#212121","accent_secondary":"#556b2f","accent_tertiary":"#ff6d00","accent_quaternary":"#7d7d7d","cube":"#ffffff","cube_hover":"#ff6d00","resume_job_role":"#ff6d00","resume_job_company":"#556b2f","resume_job_meta":"#7d7d7d","resume_skill_bg":"#363636","resume_skill_text":"#ffffff","resume_badge_bg":"#ff6d00","resume_badge_text":"#212121","filter_start_color":"#212121","filter_end_color":"#ffffff"},"palette_colors":{"pebble_dark":"#212121","key_grey":"#363636","rams_orange":"#ff6d00","olive_green":"#556b2f","pure_white":"#ffffff","dim_grey":"#7d7d7d"},"variables":{"bg_color":"pebble_dark","bg_window":"key_grey","text_color":"pure_white","link_color":"rams_orange","text_dim":"dim_grey","border_color":"pure_white","border_active":"rams_orange","accent_color":"rams_orange","shadow_color":"pebble_dark","accent_secondary":"olive_green","accent_tertiary":"rams_orange","accent_quaternary":"dim_grey","cube":"pure_white","cube_hover":"rams_orange","resume_job_role":"rams_orange","resume_job_company":"olive_green","resume_job_meta":"dim_grey","resume_skill_bg":"key_grey","resume_skill_text":"pure_white","resume_badge_bg":"rams_orange","resume_badge_text":"pebble_dark","filter_start_color":"pebble_dark","filter_end_color":"pure_white"}},{"id":"resin_91","name":"Resin 91","colors":{"bg_color":"#18191c","bg_window":"#9eaa90","text_color":"#1b241a","link_color":"#0088ff","text_dim":"#595e69","border_color":"#d4af37","border_active":"#39ff14","accent_color":"#d4af37","shadow_color":"#18191c","accent_secondary":"#0088ff","accent_tertiary":"#39ff14","accent_quaternary":"#595e69","cube":"#d4af37","cube_hover":"#39ff14","resume_job_role":"#d4af37","resume_job_company":"#0088ff","resume_job_meta":"#595e69","resume_skill_bg":"#18191c","resume_skill_text":"#9eaa90","resume_badge_bg":"#d4af37","resume_badge_text":"#18191c","filter_start_color":"#18191c","filter_end_color":"#9eaa90"},"palette_colors":{"resin_black":"#18191c","resin_bezel":"#222429","lcd_grey":"#9eaa90","lcd_segment":"#1b241a","resist_gold":"#d4af37","stripe_blue":"#0088ff","nightlight_green":"#39ff14","dim_resin":"#595e69"},"variables":{"bg_color":"resin_black","bg_window":"lcd_grey","text_color":"lcd_segment","link_color":"stripe_blue","text_dim":"dim_resin","border_color":"resist_gold","border_active":"nightlight_green","accent_color":"resist_gold","shadow_color":"resin_black","accent_secondary":"stripe_blue","accent_tertiary":"nightlight_green","accent_quaternary":"dim_resin","cube":"resist_gold","cube_hover":"nightlight_green","resume_job_role":"resist_gold","resume_job_company":"stripe_blue","resume_job_meta":"dim_resin","resume_skill_bg":"resin_black","resume_skill_text":"lcd_grey","resume_badge_bg":"resist_gold","resume_badge_text":"resin_black","filter_start_color":"resin_black","filter_end_color":"lcd_grey"}},{"id":"night_city","name":"Night City","colors":{"bg_color":"#0d0d11","bg_window":"#15151c","text_color":"#ffffff","link_color":"#fcee0a","text_dim":"#5e5073","border_color":"#fcee0a","border_active":"#00f0ff","accent_color":"#fcee0a","shadow_color":"#ff0055","accent_secondary":"#00f0ff","accent_tertiary":"#ff0055","accent_quaternary":"#5e5073","cube":"#fcee0a","cube_hover":"#00f0ff","resume_job_role":"#fcee0a","resume_job_company":"#00f0ff","resume_job_meta":"#5e5073","resume_skill_bg":"#ff0055","resume_skill_text":"#ffffff","resume_badge_bg":"#fcee0a","resume_badge_text":"#0d0d11","filter_start_color":"#0d0d11","filter_end_color":"#ffffff"},"palette_colors":{"netrunner_black":"#0d0d11","cyber_panel":"#15151c","cyber_yellow":"#fcee0a","neon_cyan":"#00f0ff","hot_magenta":"#ff0055","pure_white":"#ffffff","dim_purple":"#5e5073"},"variables":{"bg_color":"netrunner_black","bg_window":"cyber_panel","text_color":"pure_white","link_color":"cyber_yellow","text_dim":"dim_purple","border_color":"cyber_yellow","border_active":"neon_cyan","accent_color":"cyber_yellow","shadow_color":"hot_magenta","accent_secondary":"neon_cyan","accent_tertiary":"hot_magenta","accent_quaternary":"dim_purple","cube":"cyber_yellow","cube_hover":"neon_cyan","resume_job_role":"cyber_yellow","resume_job_company":"neon_cyan","resume_job_meta":"dim_purple","resume_skill_bg":"hot_magenta","resume_skill_text":"pure_white","resume_badge_bg":"cyber_yellow","resume_badge_text":"netrunner_black","filter_start_color":"netrunner_black","filter_end_color":"pure_white"}},{"id":"they_fear","name":"They Fear","colors":{"bg_color":"#101014","bg_window":"#1c1c24","text_color":"#ffffff","link_color":"#f5a623","text_dim":"#78879e","border_color":"#3b7dd8","border_active":"#f5a623","accent_color":"#f5a623","shadow_color":"#101014","accent_secondary":"#3b7dd8","accent_tertiary":"#b71c1c","accent_quaternary":"#e
4165100","cube":"#f5a623","cube_hover":"#3b7dd8","resume_job_role":"#f5a623","resume_job_company":"#3b7dd8","resume_job_meta":"#78879e","resume_skill_bg":"#3b7dd8","resume_skill_text":"#ffffff","resume_badge_bg":"#b71c1c","resume_badge_text":"#ffffff","filter_start_color":"#101014","filter_end_color":"#f5a623"},"palette_colors":{"slag_black":"#101014","furnace_dark":"#1c1c24","logo_blue":"#3b7dd8","logo_cyan":"#68a9f4","logo_gold":"#f5a623","logo_orange":"#e65100","logo_red":"#b71c1c","armor_white":"#ffffff","dim_steel":"#78879e"},"variables":{"bg_color":"slag_black","bg_window":"furnace_dark","text_color":"armor_white","link_color":"logo_gold","text_dim":"dim_steel","border_color":"logo_blue","border_active":"logo_gold","accent_color":"logo_gold","shadow_color":"slag_black","accent_secondary":"logo_blue","accent_tertiary":"logo_red","accent_quaternary":"logo_orange","cube":"logo_gold","cube_hover":"logo_blue","resume_job_role":"logo_gold","resume_job_company":"logo_blue","resume_job_meta":"dim_steel","resume_skill_bg":"logo_blue","resume_skill_text":"armor_white","resume_badge_bg":"logo_red","resume_badge_text":"armor_white","filter_start_color":"slag_black","filter_end_color":"logo_gold"}},{"id":"hero_of_time","name":"Hero of Time","colors":{"bg_color":"#0e2417","bg_window":"#163824","text_color":"#f5f0db","link_color":"#ffd700","text_dim":"#527a63","border_color":"#ffd700","border_active":"#00e5ff","accent_color":"#ffd700","shadow_color":"#0e2417","accent_secondary":"#00e5ff","accent_tertiary":"#1565c0","accent_quaternary":"#527a63","cube":"#f5f0db","cube_hover":"#ffd700","resume_job_role":"#ffd700","resume_job_company":"#00e5ff","resume_job_meta":"#527a63","resume_skill_bg":"#1565c0","resume_skill_text":"#f5f0db","resume_badge_bg":"#ffd700","resume_badge_text":"#0e2417","filter_start_color":"#0e2417","filter_end_color":"#f5f0db"},"palette_colors":{"woods_green":"#0e2417","kokiri_dark":"#163824","triforce_gold":"#ffd700","master_blue":"#1565c0","sheikah_cyan":"#00e5ff","parchment_cream":"#f5f0db","dim_sage":"#527a63"},"variables":{"bg_color":"woods_green","bg_window":"kokiri_dark","text_color":"parchment_cream","link_color":"triforce_gold","text_dim":"dim_sage","border_color":"triforce_gold","border_active":"sheikah_cyan","accent_color":"triforce_gold","shadow_color":"woods_green","accent_secondary":"sheikah_cyan","accent_tertiary":"master_blue","accent_quaternary":"dim_sage","cube":"parchment_cream","cube_hover":"triforce_gold","resume_job_role":"triforce_gold","resume_job_company":"sheikah_cyan","resume_job_meta":"dim_sage","resume_skill_bg":"master_blue","resume_skill_text":"parchment_cream","resume_badge_bg":"triforce_gold","resume_badge_text":"woods_green","filter_start_color":"woods_green","filter_end_color":"parchment_cream"}},{"id":"kanto_red","name":"Kanto Red","colors":{"bg_color":"#b71c1c","bg_window":"#c62828","text_color":"#f8f9fa","link_color":"#ffeb3b","text_dim":"#e0d8d8","border_color":"#f8f9fa","border_active":"#ffeb3b","accent_color":"#ffeb3b","shadow_color":"#500b0b","accent_secondary":"#1565c0","accent_tertiary":"#5e35b1","accent_quaternary":"#e0d8d8","cube":"#f8f9fa","cube_hover":"#ffeb3b","resume_job_role":"#ffeb3b","resume_job_company":"#1565c0","resume_job_meta":"#e0d8d8","resume_skill_bg":"#1565c0","resume_skill_text":"#f8f9fa","resume_badge_bg":"#ffeb3b","resume_badge_text":"#500b0b","filter_start_color":"#500b0b","filter_end_color":"#f8f9fa"},"palette_colors":{"pokeball_red":"#b71c1c","scarlet_panel":"#c62828","cerulean_blue":"#1565c0","pikachu_yellow":"#ffeb3b","pure_white":"#f8f9fa","freak_purple":"#5e35b1","dim_cream":"#e0d8d8","shadow_dark":"#500b0b"},"variables":{"bg_color":"pokeball_red","bg_window":"scarlet_panel","text_color":"pure_white","link_color":"pikachu_yellow","text_dim":"dim_cream","border_color":"pure_white","border_active":"pikachu_yellow","accent_color":"pikachu_yellow","shadow_color":"shadow_dark","accent_secondary":"cerulean_blue","accent_tertiary":"freak_purple","accent_quaternary":"dim_cream","cube":"pure_white","cube_hover":"pikachu_yellow","resume_job_role":"pikachu_yellow","resume_job_company":"cerulean_blue","resume_job_meta":"dim_cream","resume_skill_bg":"cerulean_blue","resume_skill_text":"pure_white","resume_badge_bg":"pikachu_yellow","resume_badge_text":"shadow_dar
41k","filter_start_color":"shadow_dark","filter_end_color":"pure_white"}},{"id":"hazard_suit","name":"Hazard Suit","colors":{"bg_color":"#1f2127","bg_window":"#14151a","text_color":"#e0e0e0","link_color":"#ff6f00","text_dim":"#607d8b","border_color":"#ff6f00","border_active":"#76ff03","accent_color":"#ff6f00","shadow_color":"#14151a","accent_secondary":"#76ff03","accent_tertiary":"#d32f2f","accent_quaternary":"#607d8b","cube":"#e0e0e0","cube_hover":"#ff6f00","resume_job_role":"#ff6f00","resume_job_company":"#76ff03","resume_job_meta":"#607d8b","resume_skill_bg":"#14151a","resume_skill_text":"#ff6f00","resume_badge_bg":"#ff6f00","resume_badge_text":"#14151a","filter_start_color":"#14151a","filter_end_color":"#e0e0e0"},"palette_colors":{"research_slate":"#1f2127","facility_black":"#14151a","hazard_orange":"#ff6f00","xen_green":"#76ff03","crowbar_red":"#d32f2f","alloy_grey":"#e0e0e0","dim_steel":"#607d8b"},"variables":{"bg_color":"research_slate","bg_window":"facility_black","text_color":"alloy_grey","link_color":"hazard_orange","text_dim":"dim_steel","border_color":"hazard_orange","border_active":"xen_green","accent_color":"hazard_orange","shadow_color":"facility_black","accent_secondary":"xen_green","accent_tertiary":"crowbar_red","accent_quaternary":"dim_steel","cube":"alloy_grey","cube_hover":"hazard_orange","resume_job_role":"hazard_orange","resume_job_company":"xen_green","resume_job_meta":"dim_steel","resume_skill_bg":"facility_black","resume_skill_text":"hazard_orange","resume_badge_bg":"hazard_orange","resume_badge_text":"facility_black","filter_start_color":"facility_black","filter_end_color":"alloy_grey"}},{"id":"vault_101","name":"Vault 101","colors":{"bg_color":"#0c2340","bg_window":"#071526","text_color":"#ffcc00","link_color":"#f5f5f5","text_dim":"#a88700","border_color":"#ffcc00","border_active":"#ffb000","accent_color":"#ffcc00","shadow_color":"#071526","accent_secondary":"#1eff00","accent_tertiary":"#ffb000","accent_quaternary":"#a88700","cube":"#ffcc00","cube_hover":"#f5f5f5","resume_job_role":"#ffcc00","resume_job_company":"#1eff00","resume_job_meta":"#a88700","resume_skill_bg":"#071526","resume_skill_text":"#ffcc00","resume_badge_bg":"#ffcc00","resume_badge_text":"#071526","filter_start_color":"#071526","filter_end_color":"#ffcc00"},"palette_colors":{"vault_navy":"#0c2340","jumpsuit_dark":"#071526","vault_gold":"#ffcc00","pip_amber":"#ffb000","pip_green":"#1eff00","pure_white":"#f5f5f5","dim_gold":"#a88700"},"variables":{"bg_color":"vault_navy","bg_window":"jumpsuit_dark","text_color":"vault_gold","link_color":"pure_white","text_dim":"dim_gold","border_color":"vault_gold","border_active":"pip_amber","accent_color":"vault_gold","shadow_color":"jumpsuit_dark","accent_secondary":"pip_green","accent_tertiary":"pip_amber","accent_quaternary":"dim_gold","cube":"vault_gold","cube_hover":"pure_white","resume_job_role":"vault_gold","resume_job_company":"pip_green","resume_job_meta":"dim_gold","resume_skill_bg":"jumpsuit_dark","resume_skill_text":"vault_gold","resume_badge_bg":"vault_gold","resume_badge_text":"jumpsuit_dark","filter_start_color":"jumpsuit_dark","filter_end_color":"vault_gold"}},{"id":"overworld_85","name":"Overworld 85","colors":{"bg_color":"#5c94fc","bg_window":"#3f78e0","text_color":"#ffffff","link_color":"#fcd116","text_dim":"#ffffff","border_color":"#ffffff","border_active":"#fcd116","accent_color":"#fcd116","shadow_color":"#28509e","accent_secondary":"#e52521","accent_tertiary":"#00a800","accent_quaternary":"#b84418","cube":"#ffffff","cube_hover":"#fcd116","resume_job_role":"#fcd116","resume_job_company":"#00a800","resume_job_meta":"#ffffff","resume_skill_bg":"#e52521","resume_skill_text":"#ffffff","resume_badge_bg":"#fcd116","resume_badge_text":"#b84418","filter_start_color":"#28509e","filter_end_color":"#ffffff"},"palette_colors":{"sky_blue":"#5c94fc","deep_sky":"#3f78e0","mario_red":"#e52521","block_gold":"#fcd116","pipe_green":"#00a800","cloud_white":"#ffffff","brick_brown":"#b84418","shadow_blue":"#28509e"},"variables":{"bg_color":"sky_blue","bg_window":"deep_sky","text_color":"cloud_white","link_color":"block_gold","text_dim":"cloud_white","border_color":"cloud_white","border_active":"block_gold","accent_color":"block_gold","shadow_color":"shadow_blue","accent_secondary":"mario_red","accent_tertiary":"pipe_green","accent_quaternary":"brick_brown","cube":"cloud_white","cube_hover":"block_gold","resume_job_role":"block_gold","resume_job_company":"pipe_green","resume_job_meta":"cloud_white","resume_skill_bg":"mario_red","resume_skill_text":"cloud_white","resume_badge_bg":"block_gold","resume_badge_text":"brick_brown","filter_start_color":"shadow_blue","filter_end_color":"cloud_white"}},{"id":"mineshaft","name":"Mineshaft","colors":{"bg_color":"#141316","bg_window":"#1e1e24","text_color":"#f0f2f5","link_color":"#38e6d2","text_dim":"#9aa0a6","border_color":"#38e6d2","border_active":"#f5a623","accent_color":"#38e6d2","shadow_color":"#0b0a0d","accent_secondary":"#ff3333","accent_tertiary":"#f5a623","accent_quaternary":"#5b8731","cube":"#f0f2f5","cube_hover":"#38e6d2","resume_job_role":"#f5a623","resume_job_company":"#38e6d2","resume_job_meta":"#9aa0a6","resume_skill_bg":"#1e1e24","resume_skill_text":"#38e6d2","resume_badge_bg":"#ff3333","resume_badge_text":"#f0f2f5","filter_start_color":"#0b0a0d","filter_end_color":"#f0f2f5"},"palette_colors":{"deepslate":"#141316","cobblestone_dark":"#1e1e24","quartz_white":"#f0f2f5","diamond_cyan":"#38e6d2","redstone_red":"#ff3333","grass_green":"#5b8731","torch_gold":"#f5a623","stone_dim":"#9aa0a6","void_black":"#0b0a0d"},"variables":{"bg_color":"deepslate","bg_window":"cobblestone_dark","text_color":"quartz_white","link_color":"diamond_cyan","text_dim":"stone_dim","border_color":"diamond_cyan","border_active":"torch_gold","accent_color":"diamond_cyan","shadow_color":"void_black","accent_secondary":"redstone_red","accent_tertiary":"torch_gold","accent_quaternary":"grass_green","cube":"quartz_white","cube_hover":"diamond_cyan","resume_job_role":"torch_gold","resume_job_company":"diamond_cyan","resume_job_meta":"stone_dim","resume_skill_bg":"cobblestone_dark","resume_skill_text":"diamond_cyan","resume_badge_bg":"redstone_red","resume_badge_text":"quartz_white","filter_start_color":"void_black","filter_end_color":"quartz_white"}},{"id":"master","name":"Master","colors":{"bg_color":"#3d4528","bg_window":"#2a301b","text_color":"#eef2e6","link_color":"#e5a823","text_dim":"#707b53","border_color":"#e5a823","border_active":"#00e5ff","accent_color":"#e5a823","shadow_color":"#2a301b","accent_secondary":"#00e5ff","accent_tertiary":"#7b1fa2","accent_quaternary":"#707b53","cube":"#eef2e6","cube_hover":"#e5a823","resume_job_role":"#e5a823","resume_job_company":"#00e5ff","resume_job_meta":"#707b53","resume_skill_bg":"#2a301b","resume_skill_text":"#eef2e6","resume_badge_bg":"#e5a823","resume_badge_text":"#2a301b","filter_start_color":"#2a301b","filter_end_color":"#eef2e6"},"palette_colors":{"mjolnir_olive":"#3d4528","armor_dark":"#2a301b","visor_gold":"#e5a823","cortana_cyan":"#00e5ff","plasma_purple":"#7b1fa2","armor_white":"#eef2e6","dim_olive":"#707b53"},"variables":{"bg_color":"mjolnir_olive","bg_window":"armor_dark","text_color":"armor_white","link_color":"visor_gold","text_dim":"dim_olive","border_color":"visor_gold","border_active":"cortana_cyan","accent_color":"visor_gold","shadow_color":"armor_dark","accent_secondary":"cortana_cyan","accent_tertiary":"plasma_purple","accent_quaternary":"dim_olive","cube":"armor_white","cube_hover":"visor_gold","resume_job_role":"visor_gold","resume_job_company":"cortana_cyan","resume_job_meta":"dim_olive","resume_skill_bg":"armor_dark","resume_skill_text":"armor_white","resume_badge_bg":"visor_gold","resume_badge_text":"armor_dark","filter_start_color":"armor_dark","filter_end_color":"armor_white"}},{"id":"faith","name":"Faith","colors":{"bg_color":"#f8f9fa","bg_window":"#f8f9fa","text_color":"#212529","link_color":"#e60000","text_dim":"#6c757d","border_color":"#212529","border_active":"#e60000","accent_color":"#e60000","shadow_color":"#212529","accent_secondary":"#00b4d8","accent_tertiary":"#ffcc00","accent_quaternary":"#6c757d","cube":"#212529","cube_hover":"#e60000","resume_job_role":"#e60000","resume_job_company":"#00b4d8","resume_job_meta":"#6c757d","resume_skill_bg":"#212529","resume_skill_text":"#f8f9fa","resume_badge_bg":"#e60000","resume_badge_text":"#f8f9fa","filter_start_color":"#212529","filter_end_color":"#f8f9fa"},"palette_colors":{"sterile_white":"#f8f9fa","panel_card":"#eceef1","runner_crimson":"#e60000","skyline_cyan":"#00b4d8","concrete_black":"#212529","hazard_yellow":"#ffcc00","dim_concrete":"#6c757d"},"variables":{"bg_color":"sterile_white","bg_window":"sterile_white","text_color":"concrete_black","link_color":"runner_crimson","text_dim":"dim_concrete","border_color":"concrete_black","border_active":"runner_crimson","accent_color":"runner_crimson","shadow_color":"concrete_black","accent_secondary":"skyline_cyan","accent_tertiary":"hazard_yellow","accent_quaternary":"dim_concrete","cube":"concrete_black","cube_hover":"runner_crimson","resume_job_role":"runner_crimson","resume_job_company":"skyline_cyan","resume_job_meta":"dim_concrete","resume_skill_bg":"concrete_black","resume_skill_text":"sterile_white","resume_badge_bg":"runner_crimson","resume_badge_text":"sterile_white","filter_start_color":"concrete_black","filter_end_color":"sterile_white"}},{"id":"ash_of_ember","name":"Ash of Ember","colors":{"bg_color":"#121214","bg_window":"#1e1e24","text_color":"#f5f5f5","link_color":"#d84315","text_dim":"#78909c","border_color":"#d84315","border_active":"#ffb300","accent_color":"#d84315","shadow_color":"#121214","accent_secondary":"#ffb300","accent_tertiary":"#546e7a","accent_quaternary":"#78909c","cube":"#f5f5f5","cube_hover":"#d84315","resume_job_role":"#d84315","resume_job_company":"#ffb300","resume_job_meta":"#78909c","resume_skill_bg":"#1e1e24","resume_skill_text":"#f5f5f5","resume_badge_bg":"#d84315","resume_badge_text":"#121214","filter_start_color":"#121214","filter_end_color":"#f5f5f5"},"palette_colors":{"abyssal_black":"#121214","ash_dark":"#1e1e24","ember_orange":"#d84315","estus_gold":"#ffb300","sword_grey":"#546e7a","pure_white":"#f5f5f5","dim_ash":"#78909c"},"variables":{"bg_color":"abyssal_black","bg_window":"ash_dark","text_color":"pure_white","link_color":"ember_orange","text_dim":"dim_ash","border_color":"ember_orange","border_active":"estus_gold","accent_color":"ember_orange","shadow_color":"abyssal_black","accent_secondary":"estus_gold","accent_tertiary":"sword_grey","accent_quaternary":"dim_ash","cube":"pure_white","cube_hover":"ember_orange","resume_job_role":"ember_orange","resume_job_company":"estus_gold","resume_job_meta":"dim_ash","resume_skill_bg":"ash_dark","resume_skill_text":"pure_white","resume_badge_bg":"ember_orange","resume_badge_text":"abyssal_black","filter_start_color":"abyssal_black","filter_end_color":"pure_white"}},{"id":"disturbing_the_peace","name":"Disturbing The Peace","colors":{"bg_color":"#0a0a0c","bg_window":"#16161c","text_color":"#ffffff","link_color":"#e60012","text_dim":"#6e6e78","border_color":"#e60012","border_active":"#ffe600","accent_color":"#e60012","shadow_color":"#0a0a0c","accent_secondary":"#ffe600","accent_tertiary":"#ffffff","accent_quaternary":"#6e6e78","cube":"#ffffff","cube_hover":"#e60012","resume_job_role":"#e60012","resume_job_company":"#ffe600","resume_job_meta":"#6e6e78","resume_skill_bg":"#e60012","resume_skill_text":"#ffffff","resume_badge_bg":"#ffe600","resume_badge_text":"#0a0a0c","filter_start_color":"#0a0a0c","filter_end_color":"#ffffff"},"palette_colors":{"underground_black":"#0a0a0c","rebel_panel":"#16161c","rebel_red":"#e60012","star_yellow":"#ffe600","comic_white":"#ffffff","shadow_grey":"#3a3a40","dim_slate":"#6e6e78"},"variables":{"bg_color":"underground_black","bg_window":"rebel_panel","text_color":"comic_white","link_color":"rebel_red","text_dim":"dim_slate","border_color":"rebel_red","border_active":"star_yellow","accent_color":"rebel_red","
41shadow_color":"underground_black","accent_secondary":"star_yellow","accent_tertiary":"comic_white","accent_quaternary":"dim_slate","cube":"comic_white","cube_hover":"rebel_red","resume_job_role":"rebel_red","resume_job_company":"star_yellow","resume_job_meta":"dim_slate","resume_skill_bg":"rebel_red","resume_skill_text":"comic_white","resume_badge_bg":"star_yellow","resume_badge_text":"underground_black","filter_start_color":"underground_black","filter_end_color":"comic_white"}},{"id":"iwasbornintheusa","name":"IWASBORNINTHEUSA","colors":{"bg_color":"#0c0714","bg_window":"#180f26","text_color":"#ffffff","link_color":"#00ffff","text_dim":"#5e3a8c","border_color":"#ff1493","border_active":"#00ffff","accent_color":"#ff1493","shadow_color":"#0c0714","accent_secondary":"#00ffff","accent_tertiary":"#ffe600","accent_quaternary":"#5e3a8c","cube":"#ffffff","cube_hover":"#ff1493","resume_job_role":"#ffe600","resume_job_company":"#00ffff","resume_job_meta":"#5e3a8c","resume_skill_bg":"#ff1493","resume_skill_text":"#ffffff","resume_badge_bg":"#00ffff","resume_badge_text":"#0c0714","filter_start_color":"#0c0714","filter_end_color":"#ffffff"},"palette_colors":{"midnight_horizon":"#0c0714","dusk_panel":"#180f26","neon_pink":"#ff1493","laser_cyan":"#00ffff","sunset_violet":"#7928ca","neon_yellow":"#ffe600","pure_white":"#ffffff","dim_purple":"#5e3a8c"},"variables":{"bg_color":"midnight_horizon","bg_window":"dusk_panel","text_color":"pure_white","link_color":"laser_cyan","text_dim":"dim_purple","border_color":"neon_pink","border_active":"laser_cyan","accent_color":"neon_pink","shadow_color":"midnight_horizon","accent_secondary":"laser_cyan","accent_tertiary":"neon_yellow","accent_quaternary":"dim_purple","cube":"pure_white","cube_hover":"neon_pink","resume_job_role":"neon_yellow","resume_job_company":"laser_cyan","resume_job_meta":"dim_purple","resume_skill_bg":"neon_pink","resume_skill_text":"pure_white","resume_badge_bg":"laser_cyan","resume_badge_text":"midnight_horizon","filter_start_color":"midnight_horizon","filter_end_color":"pure_white"}},{"id":"solarized_dark","name":"Solarized Dark","colors":{"bg_color":"#002b36","bg_window":"#073642","text_color":"#839496","link_color":"#268bd2","text_dim":"#586e75","border_color":"#586e75","border_active":"#2aa198","accent_color":"#b58900","shadow_color":"#002b36","accent_secondary":"#2aa198","accent_tertiary":"#859900","accent_quaternary":"#cb4b16","cube":"#839496","cube_hover":"#2aa198","resume_job_role":"#b58900","resume_job_company":"#268bd2","resume_job_meta":"#586e75","resume_skill_bg":"#073642","resume_skill_text":"#839496","resume_badge_bg":"#2aa198","resume_badge_text":"#002b36","filter_start_color":"#002b36","filter_end_color":"#839496"},"palette_colors":{"base03":"#002b36","base02":"#073642","base01":"#586e75","base00":"#657b83","base0":"#839496","base1":"#93a1a1","base2":"#eee8d5","base3":"#fdf6e3","yellow":"#b58900","orange":"#cb4b16","red":"#dc322f","magenta":"#d33682","violet":"#6c71c4","blue":"#268bd2","cyan":"#2aa198","green":"#859900"},"variables":{"bg_color":"base03","bg_window":"base02","text_color":"base0","link_color":"blue","text_dim":"base01","border_color":"base01","border_active":"cyan","accent_color":"yellow","shadow_color":"base03","accent_secondary":"cyan","accent_tertiary":"green","accent_quaternary":"orange","cube":"base0","cube_hover":"cyan","resume_job_role":"yellow","resume_job_company":"blue","resume_job_meta":"base01","resume_skill_bg":"base02","resume_skill_text":"base0","resume_badge_bg":"cyan","resume_badge_text":"base03","filter_start_color":"base03","filter_end_color":"base0"}},{"id":"solarized_light","name":"Solarized Light","colors":{"bg_color":"#fdf6e3","bg_window":"#eee8d5","text_color":"#657b83","link_color":"#268bd2","text_dim":"#93a1a1","border_color":"#93a1a1","border_active":"#268bd2","accent_color":"#cb4b16","shadow_color":"#93a1a1","accent_secondary":"#2aa198","accent_tertiary":"#859900","accent_quaternary":"#b58900","cube":"#657b83","cube_hover":"#268bd2","resume_job_role":"#cb4b16","resume_job_company":"#268bd2","resume_job_meta":"#93a1a1","resume_skill_bg":"#eee8d5","resume_skill_text":"#657b83","resume_badge_bg":"#268bd2","resume_badge_text":"#fdf6e3","filter_start_color":"#657b83","filter_end_color":"#fdf6e3"},"palette_colors":{"base3":"#fdf6e3","base2":"#eee8d5","base1":"#93a1a1","base0":"#839496","base00":"#657b83","base01":"#586e75","base02":"#073642","base03":"#002b36","yellow":"#b58900","orange":"#cb4b16","red":"#dc322f","magenta":"#d33682","violet":"#6c71c4","blue":"#268bd2","cyan":"#2aa198","green":"#859900"},"variables":{"bg_color":"base3","bg_window":"base2","text_color":"base00","link_color":"blue","text_dim":"base1","border_color":"base1","border_active":"blue","accent_color":"orange","shadow_color":"base1","accent_secondary":"cyan","accent_tertiary":"green","accent_quaternary":"yellow","cube":"base00","cube_hover":"blue","resume_job_role":"orange","resume_job_company":"blue","resume_job_meta":"base1","resume_skill_bg":"base2","resume_skill_text":"base00","resume_badge_bg":"blue","resume_badge_text":"base3","filter_start_color":"base00","filter_end_color":"base3"}},{"id":"nord_frost","name":"Arctic Frost","colors":{"bg_color":"#2e3440","bg_window":"#3b4252","text_color":"#eceff4","link_color":"#88c0d0","text_dim":"#a3b1c6","border_color":"#81a1c1","border_active":"#88c0d0","accent_color":"#88c0d0","shadow_color":"#2e3440","accent_secondary":"#a3be8c","accent_tertiary":"#ebcb8b","accent_quaternary":"#bf616a","cube":"#eceff4","cube_hover":"#88c0d0","resume_job_role":"#88c0d0","resume_job_company":"#a3be8c","resume_job_meta":"#a3b1c6","resume_skill_bg":"#434c5e","resume_skill_text":"#eceff4","resume_badge_bg":"#88c0d0","resume_badge_text":"#2e3440","filter_start_color":"#2e3440","filter_end_color":"#eceff4"},"palette_colors":{"polar_night0":"#2e3440","polar_night1":"#3b4252","polar_night2":"#434c5e","polar_night3":"#4c566a","snow_storm0":"#d8dee9","snow_storm1":"#e5e9f0","snow_storm2":"#eceff4","frost0":"#8fbcbb","frost1":"#88c0d0","frost2":"#81a1c1","frost3":"#5e81ac","aurora_red":"#bf616a","aurora_orange":"#d08770","aurora_yellow":"#ebcb8b","aurora_green":"#a3be8c","aurora_purple":"#b48ead","frost_dim":"#a3b1c6"},"variables":{"bg_color":"polar_night0","bg_window":"polar_night1","text_color":"snow_storm2","link_color":"frost1","text_dim":"frost_dim","border_color":"frost2","border_active":"frost1","accent_color":"frost1","shadow_color":"polar_night0","accent_secondary":"aurora_green","accent_tertiary":"aurora_yellow","accent_quaternary":"aurora_red","cube":"snow_storm2","cube_hover":"frost1","resume_job_role":"frost1","resume_job_company":"aurora_green","resume_job_meta":"frost_dim","resume_skill_bg":"polar_night2","resume_skill_text":"snow_storm2","resume_badge_bg":"frost1","resume_badge_text":"polar_night0","filter_start_color":"polar_night0","filter_end_color":"snow_storm2"}},{"id":"catppuccin_mocha","name":"Catppuccin Mocha","colors":{"bg_color":"#1e1e2e","bg_window":"#181825","text_color":"#cdd6f4","link_color":"#89b4fa","text_dim":"#a6adc8","border_color":"#cba6f7","border_active":"#89b4fa","accent_color":"#cba6f7","shadow_color":"#11111b","accent_secondary":"#a6e3a1","accent_tertiary":"#fab387","accent_quaternary":"#f9e2af","cube":"#cdd6f4","cube_hover":"#89b4fa","resume_job_role":"#cba6f7","resume_job_company":"#89b4fa","resume_job_meta":"#a6adc8","resume_skill_bg":"#313244","resume_skill_text":"#cdd6f4","resume_badge_bg":"#cba6f7","resume_badge_text":"#11111b","filter_start_color":"#11111b","filter_end_color":"#cdd6f4"}
41,"palette_colors":{"mocha_base":"#1e1e2e","mocha_mantle":"#181825","mocha_crust":"#11111b","mocha_surface":"#313244","mocha_text":"#cdd6f4","mocha_subtext":"#a6adc8","mocha_mauve":"#cba6f7","mocha_pink":"#f5c2e7","mocha_red":"#f38ba8","mocha_peach":"#fab387","mocha_yellow":"#f9e2af","mocha_green":"#a6e3a1","mocha_teal":"#94e2d5","mocha_sapphire":"#74c7ec","mocha_blue":"#89b4fa","mocha_lavender":"#b4befe"},"variables":{"bg_color":"mocha_base","bg_window":"mocha_mantle","text_color":"mocha_text","link_color":"mocha_blue","text_dim":"mocha_subtext","border_color":"mocha_mauve","border_active":"mocha_blue","accent_color":"mocha_mauve","shadow_color":"mocha_crust","accent_secondary":"mocha_green","accent_tertiary":"mocha_peach","accent_quaternary":"mocha_yellow","cube":"mocha_text","cube_hover":"mocha_blue","resume_job_role":"mocha_mauve","resume_job_company":"mocha_blue","resume_job_meta":"mocha_subtext","resume_skill_bg":"mocha_surface","resume_skill_text":"mocha_text","resume_badge_bg":"mocha_mauve","resume_badge_text":"mocha_crust","filter_start_color":"mocha_crust","filter_end_color":"mocha_text"}},{"id":"vampire_count","name":"Vampire Count","colors":{"bg_color":"#282a36","bg_window":"#44475a","text_color":"#f8f8f2","link_color":"#8be9fd","text_dim":"#6272a4","border_color":"#bd93f9","border_active":"#ff79c6","accent_color":"#ff79c6","shadow_color":"#282a36","accent_secondary":"#50fa7b","accent_tertiary":"#ffb86c","accent_quaternary":"#f1fa8c","cube":"#f8f8f2","cube_hover":"#8be9fd","resume_job_role":"#bd93f9","resume_job_company":"#50fa7b","resume_job_meta":"#6272a4","resume_skill_bg":"#44475a","resume_skill_text":"#f8f8f2","resume_badge_bg":"#ff79c6","resume_badge_text":"#282a36","filter_start_color":"#282a36","filter_end_color":"#f8f8f2"},"palette_colors":{"drac_bg":"#282a36","drac_current":"#44475a","drac_fg":"#f8f8f2","drac_comment":"#6272a4","drac_cyan":"#8be9fd","drac_green":"#50fa7b","drac_orange":"#ffb86c","drac_pink":"#ff79c6","drac_purple":"#bd93f9","drac_red":"#ff5555","drac_yellow":"#f1fa8c"},"variables":{"bg_color":"drac_bg","bg_window":"drac_current","text_color":"drac_fg","link_color":"drac_cyan","text_dim":"drac_comment","border_color":"drac_purple","border_active":"drac_pink","accent_color":"drac_pink","shadow_color":"drac_bg","accent_secondary":"drac_green","accent_tertiary":"drac_orange","accent_quaternary":"drac_yellow","cube":"drac_fg","cube_hover":"drac_cyan","resume_job_role":"drac_purple","resume_job_company":"drac_green","resume_job_meta":"drac_comment","resume_skill_bg":"drac_current","resume_skill_text":"drac_fg","resume_badge_bg":"drac_pink","resume_badge_text":"drac_bg","filter_start_color":"drac_bg","filter_end_color":"drac_fg"}},{"id":"retro_groove","name":"Retro Groove","colors":{"bg_color":"#282828","bg_window":"#3c3836","text_color":"#ebdbb2","link_color":"#83a598","text_dim":"#a89984","border_color":"#fabd2f","border_active":"#8ec07c","accent_color":"#fe8019","shadow_color":"#282828","accent_secondary":"#b8bb26","accent_tertiary":"#fabd2f","accent_quaternary":"#d3869b","cube":"#ebdbb2","cube_hover":"#8ec07c","resume_job_role":"#fabd2f","resume_job_company":"#83a598","resume_job_meta":"#a89984","resume_skill_bg":"#3c3836","resume_skill_text":"#ebdbb2","resume_badge_bg":"#fe8019","resume_badge_text":"#282828","filter_start_color":"#282828","filter_end_color":"#ebdbb2"},"palette_colors":{"dark0":"#282828","dark1":"#3c3836","dark2":"#504945","light1":"#ebdbb2","light4":"#a89984","red":"#fb4934","green":"#b8bb26","yellow":"#fabd2f","blue":"#83a598","purple":"#d3869b","aqua":"#8ec07c","orange":"#fe8019"},"variables":{"bg_color":"dark0","bg_window":"dark1","text_color":"light1","link_color":"blue","text_dim":"light4","border_color":"yellow","border_active":"aqua","accent_color":"orange","shadow_color":"dark0","accent_secondary":"green","accent_tertiary":"yellow","accent_quaternary":"purple","cube":"light1","cube_hover":"aqua","resume_job_role":"yellow","resume_job_company":"blue","resume_job_meta":"light4","resume_skill_bg":"dark1","resume_skill_text":"light1","resume_badge_bg":"orange","resume_badge_text":"dark0","filter_start_color":"dark0","filter_end_color":"light1"}},{"id":"tokyo_midnight","name":"Tokyo Midnight","colors":{"bg_color":"#1a1b26","bg_window":"#24283b","text_color":"#c0caf5","link_color":"#7dcfff","text_dim":"#565f89","border_color":"#7aa2f7","border_active":"#7dcfff","accent_color":"#bb9af7","shadow_color":"#1a1b26","accent_secondary":"#73daca","accent_tertiary":"#ff9e64","accent_quaternary":"#e0af68","cube":"#c0caf5","cube_hover":"#7dcfff","resume_job_role":"#bb9af7","resume_job_company":"#7aa2f7","resume_job_meta":"#565f89","resume_skill_bg":"#24283b","resume_skill_text":"#c0caf5","resume_badge_bg":"#bb9af7","resume_badge_text":"#1a1b26","filter_start_color":"#1a1b26","filter_end_color":"#c0caf5"},"palette_colors":{"tokyo_bg":"#1a1b26","tokyo_storm":"#24283b","tokyo_fg":"#c0caf5","tokyo_dim":"#565f89","tokyo_blue":"#7aa2f7","tokyo_cyan":"#7dcfff","tokyo_green":"#73daca","tokyo_magenta":"#bb9af7","tokyo_orange":"#ff9e64","tokyo_red":"#f7768e","tokyo_yellow":"#e0af68"},"variables":{"bg_color":"tokyo_bg","bg_window":"tokyo_storm","text_color":"tokyo_fg","link_color":"tokyo_cyan","text_dim":"tokyo_dim","border_color":"tokyo_blue","border_active":"tokyo_cyan","accent_color":"tokyo_magenta","shadow_color":"tokyo_bg","accent_secondary":"tokyo_green","accent_tertiary":"tokyo_orange","accent_quaternary":"tokyo_yellow","cube":"tokyo_fg","cube_hover":"tokyo_cyan","resume_job_role":"tokyo_magenta","resume_job_company":"tokyo_blue","resume_job_meta":"tokyo_dim","resume_skill_bg":"tokyo_storm","resume_skill_text":"tokyo_fg","resume_badge_bg":"tokyo_magenta","resume_badge_text":"tokyo_bg","filter_start_color":"tokyo_bg","filter_end_color":"tokyo_fg"}}
41,{"id":"dawnbringer_16","name":"DawnBringer 16","colors":{"bg_color":"#140c1c","bg_window":"#30346d","text_color":"#deeed6","link_color":"#6dc2ca","text_dim":"#8595a1","border_color":"#597dce","border_active":"#6dc2ca","accent_color":"#dad45e","shadow_color":"#140c1c","accent_secondary":"#6daa2c","accent_tertiary":"#d04648","accent_quaternary":"#d27d2c","cube":"#deeed6","cube_hover":"#6dc2ca","resume_job_role":"#dad45e","resume_job_company":"#6daa2c","resume_job_meta":"#8595a1","resume_skill_bg":"#30346d","resume_skill_text":"#deeed6","resume_badge_bg":"#d04648","resume_badge_text":"#deeed6","filter_start_color":"#140c1c","filter_end_color":"#deeed6"},"palette_colors":{"void_black":"#140c1c","plum_dark":"#442434","midnight_indigo":"#30346d","dark_grey":"#4e4a4e","rust_brown":"#854c30","forest_green":"#346524","coral_red":"#d04648","muted_gold":"#757161","periwinkle":"#597dce","amber_orange":"#d27d2c","slate_light":"#8595a1","lime_green":"#6daa2c","desert_sand":"#d2aa99","glacier_cyan":"#6dc2ca","pale_yellow":"#dad45e","off_white":"#deeed6"},"variables":{"bg_color":"void_black","bg_window":"midnight_indigo","text_color":"off_white","link_color":"glacier_cyan","text_dim":"slate_light","border_color":"periwinkle","border_active":"glacier_cyan","accent_color":"pale_yellow","shadow_color":"void_black","accent_secondary":"lime_green","accent_tertiary":"coral_red","accent_quaternary":"amber_orange","cube":"off_white","cube_hover":"glacier_cyan","resume_job_role":"pale_yellow","resume_job_company":"lime_green","resume_job_meta":"slate_light","resume_skill_bg":"midnight_indigo","resume_skill_text":"off_white","resume_badge_bg":"coral_red","resume_badge_text":"off_white","filter_start_color":"void_black","filter_end_color":"off_white"}},{"id":"endesga_32","name":"Endesga 32","colors":{"bg_color":"#0d080d","bg_window":"#1f1624","text_color":"#eef4f4","link_color":"#73a7c4","text_dim":"#756c7d","border_color":"#7f4e82","border_active":"#73a7c4","accent_color":"#edd666","shadow_color":"#0d080d","accent_secondary":"#4fb377","accent_tertiary":"#f05b5b","accent_quaternary":"#756c7d","cube":"#eef4f4","cube_hover":"#73a7c4","resume_job_role":"#edd666","resume_job_company":"#4fb377","resume_job_meta":"#756c7d","resume_skill_bg":"#7f4e82","resume_skill_text":"#eef4f4","resume_badge_bg":"#f05b5b","resume_badge_text":"#eef4f4","filter_start_color":"#0d080d","filter_end_color":"#eef4f4"},"palette_colors":{"edg_void":"#0d080d","edg_shadow":"#1f1624","edg_text":"#eef4f4","edg_dim":"#756c7d","edg_coral":"#f05b5b","edg_blue":"#73a7c4","edg_foliage":"#4fb377","edg_sun":"#edd666","edg_purple":"#7f4e82","edg_marine":"#2b4f6e"},"variables":{"bg_color":"edg_void","bg_window":"edg_shadow","text_color":"edg_text","link_color":"edg_blue","text_dim":"edg_dim","border_color":"edg_purple","border_active":"edg_blue","accent_color":"edg_sun","shadow_color":"edg_void","accent_secondary":"edg_foliage","accent_tertiary":"edg_coral","accent_quaternary":"edg_dim","cube":"edg_text","cube_hover":"edg_blue","resume_job_role":"edg_sun","resume_job_company":"edg_foliage","resume_job_meta":"edg_dim","resume_skill_bg":"edg_purple","resume_skill_text":"edg_text","resume_badge_bg":"edg_coral","resume_badge_text":"edg_text","filter_start_color":"edg_void","filter_end_color":"edg_text"}}]; 42 window.SITE_JAMS = [{"id":"1dayjam_3","name":"1-DAY JAM #3","tagline":"The 24-hour Game Jam #3 Winner","link":"https://itch.io/jam/1-day-jam-3","start_date":"2026-09-04","end_date":"2026-09-07","submission_date":"2026-09-05","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","host":"","games":[{"subdomain":"soulantern","title":"Soulantern","ranking":"1st Place Winner!","rate_url":"https://itch.io/jam/1-day-jam-3/rate/4976157"}]},{"id":"procjam_2021","name":"PROCJAM 2021","tagline":"Procedural Generation Jam 2021","link":"https://itch.io/jam/procjam2021","start_date":"2021-12-02","end_date":"2021-12-12","submission_date":"2021-12-11","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","host":"","games":[{"subdomain":"mineshift","title":"Mineshift","ranking":"Jam Entry","rate_url":""}]},{"id":"soupjam_2026","name":"SOUPJAM 2026","tagline":"Collaborative fever-dream room exploration jam","link":"https://itch.io/jam/soupjam2026","start_date":"2026-03-01","end_date":"2026-07-01","submission_date":"2026-6-30","de
42scription":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","host":"","games":[{"subdomain":"soup","title":"Solo Oasis : Unlimited Places","ranking":"Jam Collaboration","rate_url":"https://itch.io/jam/soupjam2026/rate/4451070"}]},{"id":"trijam_346","name":"TRIJAM 346","tagline":"The 3-hour Game Jam #346","link":"https://itch.io/jam/trijam-346","start_date":"2025-11-14","end_date":"2025-11-17","submission_date":"2025-11-15","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","host":"","games":[{"subdomain":"box-warp","title":"Box Warp","ranking":"Jam Submission","rate_url":""}]},{"id":"trijam_363","name":"TRIJAM 363","tagline":"The 3-hour Game Jam #363 Winner","link":"https://itch.io/jam/trijam-363","start_date":"2026-03-13","end_date":"2026-03-16","submission_date":"2026-03-16","description":"TRIJAM 363 challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","host":"","games":[{"subdomain":"trolleys","title":"The Problem With Trolleys","ranking":"Winner!","rate_url":""}]}]; 43 </script>
43 44 45
45<script src="./js/palette_engine.js"></script>
45 46 47
47<script> 48 if (window.PaletteEngine) { 49 PaletteEngine.initHead(window.SITE_PALETTES); 50 } 51 </script>
51 52 <link rel="stylesheet" href="./style.css"> 53<link rel="stylesheet" href="./grayscale.min.css"> 54</head> 55<body> 56 <div class="terminal-container" id="top"> 57 <header class="terminal-header"> 58 <div class="terminal-header-top"> 59 <div class="header-left-container"> 60 61 <div id="header-cube-app" title="Spinning 3D Isometric Cube"></div> 62 63 </div> 64 65 <a href="./" class="terminal-logo-link" title="[ HOME ]" aria-label="[ HOME ]"> 66 <div class="terminal-logo" role="img" aria-label="SOL.VIN Logo"></div> 67 </a> 68 <div class="header-right-controls"> 69 <button id="hamburger-btn" class="hamburger-btn" type="button" aria-label="Toggle Menu" aria-expanded="false"> 70 [ <span class="hamburger-icon">â°</span> MENU ] 71 </button> 72 <div id="header-menu-content" class="header-menu-content"> 73 <div class="menu-window-header">[ MENU ]</div> 74 <button id="palette-swap-btn" class="palette-swap-btn" type="button" aria-label="Swap Color Palette" data-tooltip="Left-click: Next | Right-click: Prev | Left Hold: Palette Selection Menu | Right Hold: Reset Default"> 75 [ PALETTE: <span id="palette-color-preview" class="palette-color-preview">â</span><span id="palette-name-label">Warm Paper</span> ] 76 </button> 77 78 <div class="header-download-links"> 79 80 81 82 <a href="./rss.xml" class="export-btn" title="[RSS FEED]" data-tooltip="[RSS FEED]"> 83 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg> 84 </a> 85 86 87 88 </div> 89 90 </div> 91 </div> 92 </div> 93 <div class="terminal-subtitle"> 94 <span class="terminal-prompt">cat ~</span> 95 <span class="header-build-info"> 96 <span>SOL.VIN JOURNAL v1.51-prod</span> 97 <span title="[ BUILD TIME: 2026-10-06 22:27:24 UTC ]" data-tooltip="[ BUILD TIME: 2026-10-06 22:27:24 UTC ]" class="header-build-hash">[ MIBPO ]</span> 98 </span> 99 </div> 100 </header> 101 102 <nav class="nav-bar-container"> 103 <div class="nav-links"> 104 105 106 107 108 <a href="./chains" class="nav-link" data-tooltip="[ CHAINS ]" aria-label="[ CHAINS ]"> 109 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M419.5 96c-16.6 0-32.7 4.5-46.8 12.7-15.8-16-34.2-29.4-54.5-39.5 28.2-24 64.1-37.2 101.3-37.2 86.4 0 156.5 70 156.5 156.5 0 41.5-16.5 81.3-45.8 110.6l-71.1 71.1c-29.3 29.3-69.1 45.8-110.6 45.8-86.4 0-156.5-70-156.5-156.5 0-1.5 0-3 .1-4.5 .5-17.7 15.2-31.6 32.9-31.1s31.6 15.2 31.1 32.9c0 .9 0 1.8 0 2.6 0 51.1 41.4 92.5 92.5 92.5 24.5 0 48-9.7 65.4-27.1l71.1-71.1c17.3-17.3 27.1-40.9 27.1-65.4 0-51.1-41.4-92.5-92.5-92.5zM275.2 173.3c-1.9-.8-3.8-1.9-5.5-3.1-12.6-6.5-27-10.2-42.1-10.2-24.5 0-48 9.7-65.4 27.1L91.1 258.2c-17.3 17.3-27.1 40.9-27.1 65.4 0 51.1 41.4 92.5 92.5 92.5 16.5 0 32.6-4.4 46.7-12.6 15.8 16 34.2 29.4 54.6 39.5-28.2 23.9-64 37.2-101.3 37.2-86.4 0-156.5-70-156.5-156.5 0-41.5 16.5-81.3 45.8-110.6l71.1-71.1c29.3-29.3 69.1-45.8 110.6-45.8 86.6 0 156.5 70.6 156.5 156.9 0 1.3 0 2.6 0 3.9-.4 17.7-15.1 31.6-32.8 31.2s-31.6-15.1-31.2-32.8c0-.8 0-1.5 0-2.3 0-33.7-18-63.3-44.8-79.6z"/></svg>
110 <span class="nav-link-label">[ CHAINS ]</span> 111 </a> 112 113 114 115 116 117 <a href="./projects" class="nav-link" data-tooltip="[ PROJECTS ]" aria-label="[ PROJECTS ]"> 118 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 16 128 0 0-16c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-16-128 0 0 16c0 7.3-1.7 14.3-4.6 20.5l68.6 91.5 80 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-7.3 1.7-14.3 4.6-20.5L128 224 48 224c-26.5 0-48-21.5-48-48L0 80z"/></svg> 119 <span class="nav-link-label">[ PROJECTS ]</span> 120 </a> 121 122 123 124 125 126 <a href="./games" class="nav-link" data-tooltip="[ GAMES ]" aria-label="[ GAMES ]"> 127 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg> 128 <span class="nav-link-label">[ GAMES ]</span> 129 </a> 130 131 132 133 134 135 <a href="./art" class="nav-link" data-tooltip="[ ART ]" aria-label="[ ART ]"> 136 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg> 137 <span class="nav-link-label">[ ART ]</span> 138 </a> 139 140 141 142 143 144 <a href="./achievements" class="nav-link" data-tooltip="[ ACHIEVEMENTS ]" aria-label="[ ACHIEVEMENTS ]"> 145 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M144.3 0l224 0c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8l49.6 0c26.1 0 49.1 21.6 47.1 49.8-7.5 103.7-60.5 160.7-118 190.5-15.8 8.2-31.9 14.3-47.2 18.8-20.2 28.6-41.2 43.7-57.9 51.8l0 73.1 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 0-73.1c-16-7.7-35.9-22-55.3-48.3-18.4-4.8-38.4-12.1-57.9-23.1-54.1-30.3-102.9-87.4-109.9-189.9-1.9-28.1 21-49.7 47.1-49.7l49.6 0c-.3-5.2-.5-10.4-.7-15.8-1-26.5 20.6-48.2 47.1-48.2zM101.5 112l-52.4 0c6.2 84.7 45.1 127.1 85.2 149.6-14.4-37.3-26.3-86-32.8-149.6zM380 256.8c40.5-23.8 77.1-66.1 83.3-144.8L411 112c-6.2 60.9-17.4 108.2-31 144.8z"/></svg> 146 <span class="nav-link-label">[ ACHIEVEMENTS ]</span> 147 </a> 148 149 150 151 152 153 <a href="./favorites" class="nav-link" data-tooltip="[ FAVORITES ]" aria-label="[ FAVORITES ]"> 154 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
154<path fill="currentColor" d="M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z"/></svg> 155 <span class="nav-link-label">[ FAVORITES ]</span> 156 </a> 157 158 159 160 161 162 <a href="./whoami" class="nav-link" data-tooltip="[ WHOAMI ]" aria-label="[ WHOAMI ]"> 163 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224 248a120 120 0 1 0 0-240 120 120 0 1 0 0 240zm-29.7 56C95.8 304 16 383.8 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3l-59.4 0z"/></svg> 164 <span class="nav-link-label">[ WHOAMI ]</span> 165 </a> 166 167 168 169 170 171 <a href="./status" class="nav-link" data-tooltip="[ STATUS ]" aria-label="[ STATUS ]"> 172 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg> 173 <span class="nav-link-label">[ STATUS ]</span> 174 </a> 175 176 177 </div> 178 179 180 </nav> 181 182 183 184 <main> 185 <!-- src/templates/home.ecr --> 186 187<div class="terminal-window home-section-window"> 188 <div class="window-header"> 189 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M9.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 256 9.4 118.6zM224 384l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span>CONSOLE // Welcome to SOL.VIN // System Overview</h1> 190 <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
190<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 191 </div> 192 <div class="window-body home-window-body"> 193 <div class="home-welcome-box"> 194 <p class="home-welcome-p1"> 195 <strong>SOL.VIN</strong> is the personal engineering journal, systems architecture archive, and project portfolio of <strong>Ian Rash</strong>. 196 </p> 197 <p class="home-welcome-p2"> 198 Specializing in DevOps automation, low-level security research, Crystal/Ruby/Python systems engineering, reverse engineering, and procedural audio/graphics. 199 </p> 200 </div> 201 </div> 202</div> 203 204<div class="terminal-window home-section-window"> 205 <div class="window-header"> 206 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M419.5 96c-16.6 0-32.7 4.5-46.8 12.7-15.8-16-34.2-29.4-54.5-39.5 28.2-24 64.1-37.2 101.3-37.2 86.4 0 156.5 70 156.5 156.5 0 41.5-16.5 81.3-45.8 110.6l-71.1 71.1c-29.3 29.3-69.1 45.8-110.6 45.8-86.4 0-156.5-70-156.5-156.5 0-1.5 0-3 .1-4.5 .5-17.7 15.2-31.6 32.9-31.1s31.6 15.2 31.1 32.9c0 .9 0 1.8 0 2.6 0 51.1 41.4 92.5 92.5 92.5 24.5 0 48-9.7 65.4-27.1l71.1-71.1c17.3-17.3 27.1-40.9 27.1-65.4 0-51.1-41.4-92.5-92.5-92.5zM275.2 173.3c-1.9-.8-3.8-1.9-5.5-3.1-12.6-6.5-27-10.2-42.1-10.2-24.5 0-48 9.7-65.4 27.1L91.1 258.2c-17.3 17.3-27.1 40.9-27.1 65.4 0 51.1 41.4 92.5 92.5 92.5 16.5 0 32.6-4.4 46.7-12.6 15.8 16 34.2 29.4 54.6 39.5-28.2 23.9-64 37.2-101.3 37.2-86.4 0-156.5-70-156.5-156.5 0-41.5 16.5-81.3 45.8-110.6l71.1-71.1c29.3-29.3 69.1-45.8 110.6-45.8 86.6 0 156.5 70.6 156.5 156.9 0 1.3 0 2.6 0 3.9-.4 17.7-15.1 31.6-32.8 31.2s-31.6-15.1-31.2-32.8c0-.8 0-1.5 0-2.3 0-33.7-18-63.3-44.8-79.6z"/></svg></span>CHAINS // Featured Series // Journal Deep Dives</h1> 207 <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
207<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 208 </div> 209 <div class="window-body"> 210 <p class="home-section-desc"> 211 Multi-part technical deep dives, security audits, and game engine devlogs: 212 </p> 213 <div class="home-cards-grid"> 214 215 <div class="home-featured-card"> 216 <div> 217 <div class="home-card-title"> 218 Liminalita Devlog 219 </div> 220 <p class="home-card-desc"> 221 Development log entries for Liminalita, a 3D procedural art walking simulator. 222 </p> 223 </div> 224 <div> 225 <div class="home-card-tags"> 226 227 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="3d_modeling" data-tooltip="Creating 3D polygonal models, retro low-poly assets, and environmental art for games."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg><span class="skill-tag-label">3d Modeling</span></span> 228
229 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="game_engine_dev" data-tooltip="Building lightweight game engines, rendering loops, input handling, and entity systems from scratch."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">Game Engine Dev</span></span> 230 231 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="gdshader" data-tooltip="Godot Engine's custom shading language for 2D and 3D visual effects, materials, and post-processing."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z"/></svg><span class="skill-tag-label">gdshader</span></span> 232 233 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="generative_art" data-tooltip="Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg><span class="skill-tag-label">Generative Art</span></span> 234 235 </div> 236 <a href="./liminalita_devlog/" class="nav-link nav-link-sm">[ EXPLORE CHAIN (4 ENTRIES) â ]</a> 237 </div> 238 </div> 239 240 <div class="home-featured-card"> 241 <div> 242 <div class="home-card-title"> 243 PixelLang Esoteric Language 244 </div> 245 <p class="home-card-desc"> 246 An esoteric language entirely in pixels. 247 </p> 248 </div> 249 <div> 250 <div class="home-card-tags"> 251 252 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="crystal" data-tooltip="A fast, compiled, statically typed language with Ruby-inspired syntax."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
252<path fill="currentColor" d="M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0" fill-rule="evenodd"/></svg><span class="skill-tag-label">crystal</span></span> 253 254 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="esoteric_programming" data-tooltip="Designing non-traditional programming languages to test boundaries of language design and visual computing."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M120 56c0-30.9 25.1-56 56-56l24 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32l-32 0c-29.8 0-54.9-20.4-62-48-.7 0-1.3 0-2 0-44.2 0-80-35.8-80-80 0-18 6-34.6 16-48-19.4-14.6-32-37.8-32-64 0-30.9 17.6-57.8 43.2-71.1-7.1-12-11.2-26-11.2-40.9 0-44.2 35.8-80 80-80l0-24zm272 0l0 24c44.2 0 80 35.8 80 80 0 15-4.1 29-11.2 40.9 25.7 13.3 43.2 40.1 43.2 71.1 0 26.2-12.6 49.4-32 64 10 13.4 16 30 16 48 0 44.2-35.8 80-80 80-.7 0-1.3 0-2 0-7.1 27.6-32.2 48-62 48l-32 0c-17.7 0-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32l24 0c30.9 0 56 25.1 56 56z"/></svg><span class="skill-tag-label">Esoteric Programming</span></span> 255 256 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="generative_art" data-tooltip="Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg><span class="skill-tag-label">Generative Art</span></span> 257 258 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="raylib" data-tooltip="A simple and easy-to-use C library to enjoy videogames programming."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">raylib</span></span> 259 260 </div> 261 <a href="./pixellang/" class="nav-link nav-link-sm">[ EXPLORE CHAIN (3 ENTRIES) â ]</a> 262 </div> 263 </div> 264 265 <div class="home-featured-card"> 266 <div> 267 <div class="home-card-title"> 268 Solo Oasis Devlog 269 </div> 270 <p class="home-card-desc"> 271 Development log entries for Solo Oasis : Unlimited Places (SOUPJAM 2026). 272 </p> 273 </div> 274 <div> 275 <div class="home-card-tags"> 276
277 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="3d_modeling" data-tooltip="Creating 3D polygonal models, retro low-poly assets, and environmental art for games."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg><span class="skill-tag-label">3d Modeling</span></span> 278 279 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="game_engine_dev" data-tooltip="Building lightweight game engines, rendering loops, input handling, and entity systems from scratch."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">Game Engine Dev</span></span> 280 281 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="godot_4" data-tooltip="Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M352 0c0-17.7-14.3-32-32-32S288-17.7 288 0l0 64-96 0c-53 0-96 43-96 96l0 224c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-224c0-53-43-96-96-96l-96 0 0-64zM160 368c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM64 224c0-17.7-14.3-32-32-32S0 206.3 0 224l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96zm544-32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32z"/></svg><span class="skill-tag-label">Godot 4</span></span> 282 283 </div> 284 <a href="./soup_devlog/" class="nav-link nav-link-sm">[ EXPLORE CHAIN (3 ENTRIES) â ]</a> 285 </div> 286 </div> 287 288 <div class="home-featured-card"> 289 <div> 290 <div class="home-card-title"> 291 VStarCam Security Research 292 </div> 293 <p class="home-card-desc"> 294 A journey through a horribly insecure webcam, and the discovery, and fruititon of a client hijacking exploit. 295 </p> 296 </div> 297 <div> 298 <div class="home-card-tags"> 299 300 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="c" data-tooltip="Low-level system programming language for high-performance applications, memory management, and low-level system software."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
300<path fill="currentColor" d="M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"/></svg><span class="skill-tag-label">c</span></span> 301 302 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="crystal" data-tooltip="A fast, compiled, statically typed language with Ruby-inspired syntax."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="currentColor" d="M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0" fill-rule="evenodd"/></svg><span class="skill-tag-label">crystal</span></span> 303 304 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="exploit_poc" data-tooltip="Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z"/></svg><span class="skill-tag-label">Exploit Poc</span></span> 305 306 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="exploitation" data-tooltip="Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z"/></svg><span class="skill-tag-label">exploitation</span></span> 307 308 </div> 309 <a href="./vstarcam_journey/" class="nav-link nav-link-sm">[ EXPLORE CHAIN (11 ENTRIES) â ]</a> 310 </div> 311 </div> 312 313 </div> 314 <div class="home-section-footer"> 315 <a href="./chains" class="nav-link nav-link-md">[ EXPLORE ALL JOURNAL CHAINS â ]</a> 316 </div> 317 </div> 318</div> 319 320<div class="terminal-window home-section-window"> 321 <div class="window-header"> 322 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
322<path fill="currentColor" d="M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 16 128 0 0-16c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-16-128 0 0 16c0 7.3-1.7 14.3-4.6 20.5l68.6 91.5 80 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-7.3 1.7-14.3 4.6-20.5L128 224 48 224c-26.5 0-48-21.5-48-48L0 80z"/></svg></span>PROJECTS // Featured Works // Libraries & Tools</h1> 323 <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 324 </div> 325 <div class="window-body"> 326 <div class="home-cards-grid"> 327 328 <div class="home-featured-card"> 329 <div> 330 <div class="home-card-header-flex"> 331 <span class="home-card-title-span">Citrine</span> 332 <span class="home-card-section-tag">[PROGRAMS]</span> 333 </div> 334 <p class="home-card-desc"> 335 PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal. 336 </p> 337 </div> 338 <div> 339 <a href="./projects/programs/citrine.html" class="nav-link nav-link-sm">[ VIEW PROJECT SPEC â ]</a> 340 </div> 341 </div> 342 343 <div class="home-featured-card"> 344 <div> 345 <div class="home-card-header-flex">
346 <span class="home-card-title-span">Fluorite</span> 347 <span class="home-card-section-tag">[LIBRARIES]</span> 348 </div> 349 <p class="home-card-desc"> 350 Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI. 351 </p> 352 </div> 353 <div> 354 <a href="./projects/libraries/fluorite.html" class="nav-link nav-link-sm">[ VIEW PROJECT SPEC â ]</a> 355 </div> 356 </div> 357 358 <div class="home-featured-card"> 359 <div> 360 <div class="home-card-header-flex"> 361 <span class="home-card-title-span">Carbon</span> 362 <span class="home-card-section-tag">[PROGRAMS]</span> 363 </div> 364 <p class="home-card-desc"> 365 Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards. 366 </p> 367 </div> 368 <div> 369 <a href="./projects/programs/carbon.html" class="nav-link nav-link-sm">[ VIEW PROJECT SPEC â ]</a> 370 </div> 371 </div> 372 373 <div class="home-featured-card"> 374 <div> 375 <div class="home-card-header-flex"> 376 <span class="home-card-title-span">Jasper</span> 377 <span class="home-card-section-tag">[LIBRARIES]</span> 378 </div> 379 <p class="home-card-desc"> 380 Modular structured guide, book, and documentation compiler for Crystal docs. 381 </p> 382 </div> 383 <div> 384 <a href="./projects/libraries/jasper.html" class="nav-link nav-link-sm">[ VIEW PROJECT SPEC â ]</a> 385 </div> 386 </div> 387 388 </div> 389 <div class="home-section-footer"> 390 <a href="./projects" class="nav-link nav-link-md">[ BROWSE ALL PROJECTS â ]</a> 391 </div> 392 </div> 393</div> 394 395<div class="terminal-window home-section-window"> 396 <div class="window-header"> 397 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M144.3 0l224 0c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8l49.6 0c26.1 0 49.1 21.6 47.1 49.8-7.5 103.7-60.5 160.7-118 190.5-15.8 8.2-31.9 14.3-47.2 18.8-20.2 28.6-41.2 43.7-57.9 51.8l0 73.1 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 0-73.1c-16-7.7-35.9-22-55.3-48.3-18.4-4.8-38.4-12.1-57.9-23.1-54.1-30.3-102.9-87.4-109.9-189.9-1.9-28.1 21-49.7 47.1-49.7l49.6 0c-.3-5.2-.5-10.4-.7-15.8-1-26.5 20.6-48.2 47.1-48.2zM101.5 112l-52.4 0c6.2 84.7 45.1 127.1 85.2 149.6-14.4-37.3-26.3-86-32.8-149.6zM380 256.8c40.5-23.8 77.1-66.1 83.3-144.8L411 112c-6.2 60.9-17.4 108.2-31 144.8z"/></svg></span>ACHIEVEMENTS // Notable Milestones // Security Findings</h1> 398 <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
398<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 399 </div> 400 <div class="window-body"> 401 <div class="home-achievements-list"> 402 403 <div class="home-achievement-row"> 404 <div> 405 <strong class="home-ach-title">TRIJAM 363</strong> 406 <span class="home-ach-cat">(Game Jams)</span> 407 </div> 408 <div class="home-ach-date"> 409 [ Itch.io Jam ] 410 </div> 411 </div> 412 413 <div class="home-achievement-row"> 414 <div> 415 <strong class="home-ach-title">SOUPJAM 2026</strong> 416 <span class="home-ach-cat">(Game Jams)</span> 417 </div> 418 <div class="home-ach-date"> 419 [ Itch.io Jam ] 420 </div> 421 </div> 422 423 <div class="home-achievement-row"> 424 <div> 425 <strong class="home-ach-title">
4251-DAY JAM #3</strong> 426 <span class="home-ach-cat">(Game Jams)</span> 427 </div> 428 <div class="home-ach-date"> 429 [ Itch.io Jam ] 430 </div> 431 </div> 432 433 <div class="home-achievement-row"> 434 <div> 435 <strong class="home-ach-title">TRIJAM 346</strong> 436 <span class="home-ach-cat">(Game Jams)</span> 437 </div> 438 <div class="home-ach-date"> 439 [ Itch.io Jam ] 440 </div> 441 </div> 442 443 </div> 444 <div class="home-section-footer"> 445 <a href="./achievements" class="nav-link nav-link-md">[ VIEW ALL ACHIEVEMENTS â ]</a> 446 </div> 447 </div> 448</div> 449 450 </main> 451 452 <footer class="terminal-footer"> 453 454 <div class="footer-nav-container"> 455 <div class="footer-nav-links"> 456 457 458 459 460 461 <a href="./chains" class="nav-link">[ CHAINS ]</a> 462 463 464 465 466 467 <a href="./projects" class="nav-link">[ PROJECTS ]</a> 468 469 470 471 472 473 <a href="./games" class="nav-link">[ GAMES ]</a> 474 475 476 477 478 479 <a href="./art" class="nav-link">[ ART ]</a> 480 481 482 483 484 485 <a href="./achievements" class="nav-link">[ ACHIEVEMENTS ]</a> 486 487 488 489 490 491 <a href="./favorites" class="nav-link">[ FAVORITES ]</a> 492 493 494 495 496 497 <a href="./whoami" class="nav-link">[ WHOAMI ]</a> 498 499 500 501 502 503 <a href="./status" class="nav-link">[ STATUS ]</a> 504 505 506 507 <a href="#top" id="scroll-to-top-btn" class="nav-link scroll-to-top-btn" title="Back to top" aria-label="Back to top">[ â² ]</a> 508 </div> 509 </div> 510 511 512 <div class="footer-logo-wrapper"> 513 <a href="./" class="terminal-logo-link" title="[ HOME ]" aria-label="[ HOME ]"> 514 <div class="terminal-logo" role="img" aria-label="SOL.VIN Logo"></div> 515 </a> 516 </div> 517 <p>+---------------------------------------------------+</p> 518 519 <p>© 2026 Ian Rash - Built with Crystal & Served with Nginx</p> 520 521 <p>+---------------------------------------------------+</p> 522 </footer> 523 </div> 524 525 <div id="gui-image-modal" class="no-palette-filter no-monochrome" data-palette-filter="false" data-monochrome="false" role="dialog" aria-modal="true" aria-labelledby="image-viewer-title-text"> 526 <div class="terminal-window image-viewer-window" data-palette-filter="false" data-monochrome="false"> 527 <div class="window-header"> 528 <h1 class="window-title" id="image-viewer-title-text"><span class="window-header-icon" title="Image Viewer"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM272 224c8.4 0 16.1 4.4 20.5 11.5l88 144c4.5 7.4 4.7 16.7 .5 24.3S368.7 416 360 416L88 416c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l26.4 37.8 61.4-100.5c4.4-7.1 12.1-11.5 20.5-11.5z"/></svg></span>VIEWER // Lightbox // Image Inspector: <span id="image-viewer-filename">image.png</span></h1> 529 <div class="window-controls"> 530 <span id="image-viewer-min-btn" class="window-btn window-btn-min" title="Toggle Fit / Zoom"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
530<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 531 <span id="image-viewer-max-btn" class="window-btn" title="Toggle Zoom"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 532 <span id="image-viewer-close-btn" class="window-btn window-btn-close" title="Close Viewer"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
532<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 533 </div> 534 </div> 535 <div class="window-body image-viewer-body" data-palette-filter="false" data-monochrome="false"> 536 <img id="image-viewer-img" src="" alt="Image Viewer Preview" filter="0" data-filter="0" data-palette-filter="false" data-monochrome="false" class="no-palette-filter no-monochrome" /> 537 </div> 538 <div class="image-viewer-caption"> 539 <span id="image-viewer-path">SOURCE: N/A</span> 540 <span>[ CLICK IMAGE TO TOGGLE ZOOM | ESC TO CLOSE ]</span> 541 </div> 542 </div> 543 </div> 544 545 <div id="palette-picker-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="palette-picker-modal-title"> 546 <div class="terminal-window skill-modal-window palette-picker-window"> 547 <div class="window-header window-header-flex"> 548 <h1 id="palette-picker-modal-title" class="window-title palette-modal-title"> 549 <span class="window-header-icon" title="Theme Palette Selector"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg></span>THEME // Palette Selector // Color Catalog 550 </h1> 551 <div class="window-controls"> 552 <button type="button" id="palette-picker-modal-close" class="window-btn window-btn-close" title="Close Catalog"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></button> 553 </div> 554 </div> 555 <div class="window-body palette-modal-body"> 556 <div class="palette-modal-top-bar"> 557 <p class="palette-modal-text">Select a theme palette from the catalog below to instantly customize site appearance:</p> 558 <button id="palette-picker-random-btn" type="button" class="export-btn export-btn-bold-sm" title="Pick Random Palette"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
558<path fill="currentColor" d="M141.4 2.3C103-8 63.5 14.8 53.3 53.2L2.5 242.7C-7.8 281.1 15 320.6 53.4 330.9l189.5 50.8c38.4 10.3 77.9-12.5 88.2-50.9l50.8-189.5c10.3-38.4-12.5-77.9-50.9-88.2L141.4 2.3zm23 205.7a32 32 0 1 1 55.4-32 32 32 0 1 1 -55.4 32zM79.2 220.3a32 32 0 1 1 32 55.4 32 32 0 1 1 -32-55.4zm185 96.4a32 32 0 1 1 -32-55.4 32 32 0 1 1 32 55.4zm9-208.4a32 32 0 1 1 32 55.4 32 32 0 1 1 -32-55.4zm-121 14.4a32 32 0 1 1 -32-55.4 32 32 0 1 1 32 55.4zM418 192L377.4 343.2c-17.2 64-83 102-147 84.9l-38.3-10.3 0 30.2c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64L418 192z"/></svg> [ RANDOM // Palette ]</button> 559 </div> 560 <div id="palette-picker-grid"></div> 561 </div> 562 </div> 563 </div> 564 565 <div id="skill-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="skill-modal-title"> 566 <div class="terminal-window skill-modal-window"> 567 <div class="window-header"> 568 <h1 id="skill-modal-title" class="window-title"><span id="skill-modal-icon" class="window-header-icon skill-modal-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z"/></svg></span><span id="skill-modal-title-text">SKILL // Specification // Technical Details</span></h1> 569 <div class="window-controls"> 570 <span id="skill-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 571 </div> 572 </div> 573 <div class="window-body"> 574 <div class="skill-modal-meta"> 575 <div><strong>Category:</strong> <span id="skill-modal-category"></span></div> 576 <div id="skill-modal-exp-wrap"><strong>Experience:</strong> <span id="skill-modal-exp"></span></div> 577 <div id="skill-modal-started-wrap"><strong>Started:</strong> <span id="skill-modal-started"></span></div> 578 <div id="skill-modal-links-wrap"> 579 <strong>Links:</strong>
580 <span id="skill-modal-links"></span> 581 </div> 582 </div> 583 <div class="skill-modal-short-desc" id="skill-modal-short-desc"></div> 584 <div class="skill-modal-long-desc" id="skill-modal-long-desc"></div> 585 586 <div id="skill-modal-projects-section" class="skill-modal-section"> 587 <h2 class="modal-section-h2">[ MATCHING PROJECTS (<span id="skill-modal-projects-count">0</span>) ]</h2> 588 <div id="skill-modal-projects-list" class="skill-modal-projects-grid"></div> 589 </div> 590 591 <div id="skill-modal-games-section" class="skill-modal-section"> 592 <h2 class="modal-section-h2">[ MATCHING GAMES (<span id="skill-modal-games-count">0</span>) ]</h2> 593 <div id="skill-modal-games-list" class="skill-modal-projects-grid"></div> 594 </div> 595 596 <div id="skill-modal-achievements-section" class="skill-modal-section"> 597 <h2 class="modal-section-h2">[ MATCHING ACCOLADES & ACHIEVEMENTS (<span id="skill-modal-achievements-count">0</span>) ]</h2> 598 <div id="skill-modal-achievements-list" class="skill-modal-projects-grid"></div> 599 </div> 600 601 <div id="skill-modal-posts-section" class="skill-modal-section"> 602 <h2 class="modal-section-h2">[ MATCHING JOURNAL POSTS (<span id="skill-modal-posts-count">0</span>) ]</h2> 603 <div id="skill-modal-posts-list" class="skill-modal-projects-grid"></div> 604 </div> 605 </div> 606 </div> 607 </div> 608 609
609<script id="skills-catalog-data" type="application/json"> 610{"3d_modeling":{"name":"3D Modeling","slug":"3d_modeling","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Creating 3D polygonal models, retro low-poly assets, and environmental art for games.","long_description_html":"<p>3D modeling involves creating digital three-dimensional surfaces and assets. Specializing in stylized low-poly environmental assets, retro game art, and optimized game meshes.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/3D_modeling"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"./projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"./liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"./liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"},{"title":"Room Progress Snapshot","url":"./soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"}]},"aseprite":{"name":"Aseprite","slug":"aseprite","category":"Design & Art","years":"5 years","date_started":"2019-01-01","description":"Animated sprite editor and pixel art tool for game development and 2D assets.","long_description_html":"<p>Aseprite is an industry-standard pixel art tool designed for creating sprite sheets, pixel animations, tilemaps, and 2D game artwork.</p>\n","icon":"palette.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"/></svg>","links":[{"key":"website","url":"https://www.aseprite.org"}],"projects":[{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"}],"posts":[]},"audacity":{"name":"Audacity","slug":"audacity","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Open-source multi-track audio editor and recorder for sound editing, filtering, and effect processing.","long_description_html":"<p>Audacity is an open-source audio editing tool used for recording, trimming, noise reduction, audio format conversion, and mastering game sound effects and voiceovers.</p>\n","icon":"waveform.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M288 0c15.5 0 28.8 11.1 31.5 26.4l47.4 265.5 33.5-201.1c2.5-15 15.1-26.1 30.3-26.7s28.6 9.5 32.3 24.2L505 256 528 256c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0c-14.7 0-27.5-10-31-24.2L438.3 253 399.6 485.3c-2.6 15.4-15.8 26.6-31.4 26.7s-29-11-31.7-26.4L288 214 239.5 485.6c-2.7 15.3-16.1 26.5-31.7 26.4s-28.8-11.4-31.4-26.7L137.7 253 127 295.8C123.5 310 110.7 320 96 320l-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32L71 256 113 88.2c3.7-14.7 17.2-24.8 32.3-24.2s27.8 11.8 30.3 26.7l33.5 201.1 47.4-265.5C259.2 11.1 272.5 0 288 0z\"/></svg>","links":[{"key":"website","url":"https://www.audacityteam.org"}],"projects":[{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"}],"games":[{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363
610challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"audio_engine_dev":{"name":"Audio Engine Development","slug":"audio_engine_dev","category":"Audio & Music","years":"4 years","date_started":"2020-01-01","description":"Building real-time audio playback engines, waveform synthesis, and audio driver integrations.","long_description_html":"<p>Audio engine development focuses on low-latency audio buffer streaming, sound synthesis algorithms, and embedding modular audio libraries like SunVox into custom applications.</p>\n","icon":"sliders.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 224zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Audio_signal_processing"}],"projects":[{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"audio_engineering":{"name":"Audio Engineering","slug":"audio_engineering","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Sound design, audio mixing, signal processing, and sound effect engineering for games and s
610oftware.","long_description_html":"<p>Audio engineering encompasses recording, synthesizing, editing, and processing digital audio. Used for designing game sound effects, procedural voice generation, dynamic audio mixing, and mastering soundtracks.</p>\n","icon":"headphones.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 224c0-88.4 71.6-160 160-160s160 71.6 160 160l0 37.5c-10-3.5-20.8-5.5-32-5.5l-16 0c-26.5 0-48 21.5-48 48l0 128c0 26.5 21.5 48 48 48l16 0c53 0 96-43 96-96l0-160C448 100.3 347.7 0 224 0S0 100.3 0 224L0 384c0 53 43 96 96 96l16 0c26.5 0 48-21.5 48-48l0-128c0-26.5-21.5-48-48-48l-16 0c-11.2 0-22 1.9-32 5.5L64 224z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Audio_engineering"}],"projects":[{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"}],"posts":[]},"autohotkey":{"name":"AutoHotkey","slug":"autohotkey","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Windows scripting language for hotkeys, UI automation, and rapid desktop tool prototyping.","long_description_html":"<p>AutoHotkey is a custom scripting language for Windows providing automation of desktop GUIs, input sequences, and hotkeys. Used for constructing automated game testing sequences and rapid desktop automation tools. I mainly use this tool for the automation of QA testing for games as it is easier to automate combonation button presses, as well as create macros that can test for common problems.</p>\n","icon":"keyboard.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm16 64l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM176 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM160 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l224 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16z\"/></svg>","links":[{"key":"website","url":"https://www.autohotkey.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"blender":{"name":"Blender","slug":"blender","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Open-source 3D creation suite for low-poly modeling, UV unwrapping, rigging, and animation.","long_description_html":"<p>Blender is a powerful 3D modeling and animation platform. Used for crafting low-poly game models, environment props, UV mapping, and glTF export pipelines.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"website","url":"https://www.blender.org"}],"projects":[],"games":[{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"c":{"name":"C","slug":"c","category":"Languages","years":"12 years","date_started":"2012-01-01","description":"Low-level system programming language for high-performance applications, memory management, and low-level system software.","long_description_html":"<p>C is a fundamental system programming language offering direct hardware access and precise control over memory. My work with C spans native library extensions, developing low-level network protocol analyzers, firmware reverse engineering, and analyzing system vulnerabilities.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448
610c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://en.wikipedia.org/wiki/C_(programming_language)"}],"projects":[{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"raylib-cr","url":"./projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"}],"posts":[{"title":"Network Protocol Analysis","url":"./vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Memory Leaks and De-serialization","url":"./vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"},{"title":"Reversing authentication","url":"./vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"./vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Software Overview and Audit","url":"./xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Hashing","url":"./xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Brute Force","url":"./xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"}]},"cd":{"name":"CD","slug":"cd","category":"DevOps & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"Continuous Delivery and Continuous Deployment pipelines for automated application releases.","long_description_html":"<p>Continuous Delivery automates artifact building, release packaging, and automated deployment pipelines across cloud platforms, Steam, Itch.io, and GitHub Releases.</p>\n","icon":"code-branch.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 70.7 176 0c26.5 0 48-21.5 48-48l0-22.7c-28.3-12.3-48-40.5-48-73.3 0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 22.7c0 61.9-50.1 112-112 112l-176 0 0 70.7c28.3 12.3 48 40.5 48 73.3 0 44.2-35.8 80-80 80S0 476.2 0 432c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80 0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Continuous_delivery"}],"projects":[{"title":"Carbon","url":"./projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"chiptune_audio":{"name":"Chiptune Audio","slug":"chiptune_audio","category":"Audio & Music","years":"5 years","date_started":"2019-01-01","description":"Synthesized retro 8-bit / 16-bit music and sound effect design for games and standalone audio tools.","long_description_html":"<p>Chiptune audio design leverages limited-channel synthesized sound generators (square waves, noise, FM synthesis) to craft nostalgic retro audio tracks and sound effects.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Chiptune"}],"projects":[{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"}],"games":[],"achievements":[],"posts":[]}
610,"ci":{"name":"CI","slug":"ci","category":"DevOps & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"Continuous Integration practices for automated build, test, and code quality verification.","long_description_html":"<p>Continuous Integration automates code building and automated testing on every code push, catching defects early and keeping repository main branches release-ready.</p>\n","icon":"code-branch.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 70.7 176 0c26.5 0 48-21.5 48-48l0-22.7c-28.3-12.3-48-40.5-48-73.3 0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 22.7c0 61.9-50.1 112-112 112l-176 0 0 70.7c28.3 12.3 48 40.5 48 73.3 0 44.2-35.8 80-80 80S0 476.2 0 432c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80 0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Continuous_integration"}],"projects":[{"title":"Carbon","url":"./projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"cpp":{"name":"C++","slug":"cpp","category":"Languages","years":"12 years","date_started":"2012-01-01","description":"High-performance object-oriented and generic system programming language.","long_description_html":"<p>C++ provides low-level control combined with high-level abstractions. My experience includes high-performance software development, game engine architecture, native library bindings, and reverse engineering.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://isocpp.org"}],"projects":[{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"crocotile_3d":{"name":"Crocotile 3D","slug":"crocotile_3d","category":"Design & Art","years":"3 years","date_started":"2021-01-01","description":"3D tile-based modeling tool for creating retro low-poly environments and assets.","long_description_html":"<p>Crocotile 3D is a specialized tool that creates 3D models using 2D tilemaps, perfect for low-poly retro aesthetic game environments and level geometry.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"website","url":"https://crocotile3d.com"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"./projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[],"achievements":[],"posts":[]},"crystal":{"name":"Crystal","slug":"crystal","category":"Languages","years":"8 years","date_started":"2016-01-01","description":"A fast, compiled, statically typed language with Ruby-inspired syntax.","long_description_html":"<p>Crystal is a compiled, statically type-checked language featuring syntax inspired by Ruby. It provides C-like performance with zero-cost abstractions, macro metaprogramming, and built-in concurrency primitives. I have used Crystal extensively to build high-performance command-line utilities, web application generators, and custom game framework bindings.</p>\n","icon":"crystal.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\"><path fill=\"currentColor\" d=\"M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0\" fill-rule=\"evenodd\"/></svg>","links":[{"key":"website","url":"https://crystal-lang.org"},{"key":"github","url":"crystal-lang/crystal"}],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"Carbon","url":"./projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"},{"title":"Jasper","url":"./projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"Diorite","url":"./projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via L
610apis.","section":"libraries"},{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Opal","url":"./projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"},{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"crixel","url":"./projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"},{"title":"raylib-cr","url":"./projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"},{"title":"wireland","url":"./projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"celestine","url":"./projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"},{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"}],"games":[{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"},{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"},{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"},{"title":"Crystal Code Camp 2017","category":"Certificates","date":"2017","issuer":"Crystal Core Team","description":"Certificate of achievement for participation, open-source development, and collaborative code contributions during Crystal Code Camp 2017.","link":"https://crystal-lang.org/"}],"posts":[{"title":"Intro","url":"./pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"./pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"./pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"},{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Writing a Client","url":"./vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"}]},"css":{"name":"CSS","slug":"css","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Cascading Style Sheets for visual presentation, layouts, and responsive design.","long_description_html":"<p>Modern CSS3 including Flexbox, CSS Grid, custom properties, animation, and responsive media queries to craft clean retro/terminal aesthetic UI design.</p>\n","icon":"css3.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M480 32l-64 368-223.3 80-192.7-80 19.6-94.8 82 0-8 40.6 116.4 44.4 134.1-44.4 18.8-97.1-333.4 0 16-82 333.7 0 10.5-52.7-333.4 0 16.3-82 407.4 0z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/CSS"}],"projects":[],"games":[],"achievements":[],"posts":[]},"dns":{"name":"DNS","slug":"dns","category":"Networking & Security","years":"8 years","date_started":"2016-01-01","description":"Domain Name System protocol for hostname resolution, zone management, and network infrastru
610cture security.","long_description_html":"<p>Domain Name System (DNS) is a core Internet protocol. Work includes configuring DNSSEC, managing zone records, implementing custom DNS sinkholes/tunneling research, and auditing DNS resolution behavior in embedded hardware.</p>\n","icon":"globe.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M351.9 280l-190.9 0c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zM160.9 232l190.9 0C349 167.5 334.7 108.1 314.4 64.6 303 40.2 290.7 22.8 279.3 12.2 268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4zm-48 0C116.4 146.4 138.5 66.9 170.8 14.7 78.7 47.3 10.9 131.2 1.5 232l111.4 0zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3L1.5 280zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3l-111.4 0zm111.4-48C501.9 131.2 434.1 47.3 342 14.7 374.3 66.9 396.4 146.4 399.9 232l111.4 0z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Domain_Name_System"}],"projects":[],"games":[],"achievements":[],"posts":[]},"docker":{"name":"Docker","slug":"docker","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Application containerization, Dockerfile optimization, and isolated development environments.","long_description_html":"<p>Docker containerization enables portable runtime environments across development and production servers. I construct lightweight multi-stage Dockerfiles, Docker Compose orchestrations, and containerized build toolchains for consistent software execution.</p>\n","icon":"docker.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M349.9 236.3l-66.1 0 0-59.4 66.1 0 0 59.4zm0-204.3l-66.1 0 0 60.7 66.1 0 0-60.7zm78.2 144.8l-66.1 0 0 59.4 66.1 0 0-59.4zM271.8 104.7l-66.1 0 0 60.1 66.1 0 0-60.1zm78.1 0l-66.1 0 0 60.1 66.1 0 0-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7l-434.7 0c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4 .4 67.6 .1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zM115.6 176.8l-66 0 0 59.4 66.1 0 0-59.4-.1 0zm78.1 0l-66.1 0 0 59.4 66.1 0 0-59.4zm78.1 0l-66.1 0 0 59.4 66.1 0 0-59.4zm-78.1-72.1l-66.1 0 0 60.1 66.1 0 0-60.1z\"/></svg>","links":[{"key":"website","url":"https://www.docker.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"esoteric_programming":{"name":"Esoteric Programming","slug":"esoteric_programming","category":"Languages","years":"3 years","date_started":"2021-01-01","description":"Designing non-traditional programming languages to test boundaries of language design and visual computing.","long_description_html":"<p>Esoteric programming languages (esolangs) explore unconventional paradigms. Created PixelLangâa language where executable code is encoded directly as 2D RGB pixel images.</p>\n","icon":"brain.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M120 56c0-30.9 25.1-56 56-56l24 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32l-32 0c-29.8 0-54.9-20.4-62-48-.7 0-1.3 0-2 0-44.2 0-80-35.8-80-80 0-18 6-34.6 16-48-19.4-14.6-32-37.8-32-64 0-30.9 17.6-57.8 43.2-71.1-7.1-12-11.2-26-11.2-40.9 0-44.2 35.8-80 80-80l0-24zm272 0l0 24c44.2 0 80 35.8 80 80 0 15-4.1 29-11.2 40.9 25.7 13.3 43.2 40.1 43.2 71.1 0 26.2-12.6 49.4-32 64 10 13.4 16 30 16 48 0 44.2-35.8 80-80 80-.7 0-1.3 0-2 0-7.1 27.6-32.2 48-62 48l-32 0c-17.7 0-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32l24 0c30.9 0 56 25.1 56 56z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Esoteric_programming_language"}],"projects":[{"title":"wireland","url":"./projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[{"title":"Intro","url":"./pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"./pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"./pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"exploit_poc":{"name":"Exploit PoC Development","slug":"exploit_poc","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation.","long_description_html":"<p>Developing reliable proof-of-concept exploits to demonstrate security vulnerabilities under controlled conditions. Responsible for researching zero-day security flaws, authoring ethical exploit PoCs for responsible disclosure to vendors and MITRE (resulting in published CVE disclosures).</p>\n","icon":"bug.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-1
6105.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z\"/></svg>","links":[{"key":"cve","url":"https://cve.mitre.org"}],"projects":[{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastructure research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Reversing authentication","url":"./vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"./vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Post Mortem & Fixes","url":"./vstarcam_journey/9.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":9,"date":"2019-09-03"},{"title":"Fuzzing With Radamsa","url":"./xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Denial of Service","url":"./xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"exploitation":{"name":"Exploitation","slug":"exploitation","category":"Security","years":"6 years","date_started":"2018-01-01","description":"Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps.","long_description_html":"<p>Vulnerability exploitation involves writing reliable PoC exploit code (buffer overflows, RCEs, authentication bypasses) to demonstrate security risks and verify patch effectiveness.</p>\n","icon":"user-secret.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z\"/></svg>","links":[{"key":"exploit_db","url":"https://www.exploit-db.com"}],"projects":[{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
610cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Reversing authentication","url":"./vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"./vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Software Overview and Audit","url":"./xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Brute Force","url":"./xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"}]},"ffmpeg":{"name":"FFmpeg","slug":"ffmpeg","category":"Tools & Frameworks","years":"6 years","date_started":"2018-01-01","description":"Cross-platform audio/video transcoding, media stream processing, filter graphs, and container multiplexing.","long_description_html":"<p>Comprehensive media processing using FFmpeg and libav libraries. Building automated video transcode pipelines, audio track extraction, filter graph transformations, Discord upload size budgeting, and palette-optimized GIF generation.</p>\n","icon":"film.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM48 368l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm304-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM48 240l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm304-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM48 112l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16L64 96c-8.8 0-16 7.2-16 16zM352 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0z\"/></svg>","links":[{"key":"website","url":"https://ffmpeg.org"}],"projects":[{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"fuzzing":{"name":"Fuzzing","slug":"fuzzing","category":"Security","years":"5 years","date_started":"2019-01-01","description":"Automated software testing technique providing invalid or unexpected inputs to reveal crashes and memory flaws.","long_description_html":"<p>Fuzz testing automates the generation of malformed data inputs sent to network daemons, file parsers, and APIs to uncover memory corruption bugs and unexpected edge cases.</p>\n","icon":"bug.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Fuzzing"}],"projects":[{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
610cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Basic Fuzzing","url":"./xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"./xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"},{"title":"Fuzzing With Radamsa","url":"./xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Denial of Service","url":"./xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"game_engine_dev":{"name":"Game Engine Development","slug":"game_engine_dev","category":"Game Development","years":"4 years","date_started":"2020-01-01","description":"Building lightweight game engines, rendering loops, input handling, and entity systems from scratch.","long_description_html":"<p>Game engine development involves architecting core game loops, scene graphs, tilemap renderers, and input abstractions in native languages like Crystal and C++.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Game_engine"}],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"Diorite","url":"./projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"crixel","url":"./projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"./liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Room Progress Snapshot","url":"./soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"},{"title":"Android & Mobile Web Support","url":"./soup_devlog/1.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":1,"date":"2026-05-20"},{"title":"ALL DONE","url":"./soup_devlog/2.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":2,"date":"2026-07-03"}]},"gdshader":{"name":"GDShader","slug":"gdshader","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"Godot Engine's custom shading language for 2D and 3D visual effects, materials, and post-processing.","long_description_html":"<p>GDShader is Godot Engine's shading language based on GLSL. Used for writing custom spatial shaders, canvas item shaders, retro outline shaders, pixelation post-processing, and dynamic material effects.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"website","url":"https://docs.godotengine.org/en/stable/tutorials/shaders/index.html"}],"projects":[{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"./projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Shader Optimization & Visual Refinements","url":"./liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"generative_art":{"name":"Generative Art","slug":"generative_art","category":"Design & Art","years":"5 years","date_started":"2019-01-01","description":"Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics.","long_description_html":"<p>Generative art uses mathematical algorithms, noise functions (Perlin/Simplex), and code to automatically generate complex visual textures, procedural levels, and SVG graphic assets.</p>\n","icon":"palette.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Generative_art"}],"projects":[{"title":"Jasper","url":"./projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"celestine","url":"./projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"},{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"},{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Intro","url":"./pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"./pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"./pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"github_actions":{"name":"GitHub Actions","slug":"github_actions","category":"Tools & Infrastru
610cture","years":"6 years","date_started":"2018-01-01","description":"Designing automated continuous integration and release delivery pipelines for cross-platform builds.","long_description_html":"<p>GitHub Actions provides automated continuous integration and continuous deployment (CI/CD) workflows triggered by repository events. I author multi-platform workflows to compile, test, package, and release software artifacts for Windows, Linux, macOS, and Web platforms.</p>\n","icon":"github.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM252.8 8c-138.7 0-244.8 105.3-244.8 244 0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1 100-33.2 167.8-128.1 167.8-239 0-138.7-112.5-244-251.2-244zM105.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"/></svg>","links":[{"key":"website","url":"https://github.com/features/actions"}],"projects":[{"title":"Carbon","url":"./projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"},{"title":"raylib-cr","url":"./projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"celestine","url":"./projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"glsl":{"name":"GLSL","slug":"glsl","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"OpenGL Shading Language for high-performance GPU vertex and fragment shader development.","long_description_html":"<p>GLSL is the standard shading language for OpenGL graphics pipelines. Used for writing custom Godot/Raylib fragment shaders, retro dither effects, and water refraction.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/OpenGL_Shading_Language"}],"projects":[{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"./projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[],"achievements":[],"posts":[{"title":"Shader Optimization & Visual Refinements","url":"./liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"gltf":{"name":"glTF","slug":"gltf","category":"Design & Art","years":"3 years","date_started":"2021-01-01","description":"Khronos Group specification for efficient transmission and loading of 3D scenes and models.","long_description_html":"<p>glTF (GL Transmission Format) is an open royalty-free specification for 3D asset delivery. Used for exporting and importing 3D models with materials, textures, and skeletal animations into web and game engines.</p>\n","icon":"box.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M369.4 128l-34.3-48-222.1 0-34.3 48 290.7 0zM0 148.5c0-13.3 4.2-26.3 11.9-37.2L60.9 42.8C72.9 26 92.3 16 112.9 16l222.1 0c20.7 0 40.1 10 52.1 26.8l48.9 68.5c7.8 10.9 11.9 23.9 11.9 37.2L448 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 148.5z\"/></svg>","links":[{"key":"website","url":"https://www.khronos.org/gltf/"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"./projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[],"posts":[]},"godot_4":{"name":"Godot 4","slug":"godot_4","category":"Game Development","years":"4 years","date_started":"2020-01-01","description":"Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes.","long_description_html":"<p>Godot 4 is a lightweight, feature-rich open-source game engine. My experience includes GDScript architecture, custom GLSL/GDShader development, 3D low-poly rendering pipelines, game jam projects, and procedural level generation.</p>\n","icon":"robot.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M352 0c0-17.7-14.3-32-32-32S288-17.7 288 0l0 64-96 0c-53 0-96 43-96 96l0 224c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-224c0-53-43-96-96-96l-96 0 0-64zM160 368c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM64 224c0-17.7-14.3-32-32-32S0 206.3 0 224l
6100 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96zm544-32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32z\"/></svg>","links":[{"key":"website","url":"https://godotengine.org"}],"projects":[{"title":"Diorite","url":"./projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"./projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363 challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"},{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"},{"title":"1-DAY JAM #3 Winner","category":"Competitions & Jams","date":"2026-09-05","issuer":"1-DAY JAM","description":"Awarded 1st Place overall in 1-DAY JAM #3 out of all submissions for the fast-paced 3D momentum platformer 'Soulantern' under the theme 'FIRE'.","link":"https://itch.io/jam/1-day-jam-3/rate/4976157"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"./liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"./liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"},{"title":"Shader Optimization & Visual Refinements","url":"./liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"},{"title":"Room Progress Snapshot","url":"./soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"},{"title":"Android & Mobile Web Support","url":"./soup_devlog/1.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":1,"date":"2026-05-20"},{"title":"ALL DONE","url":"./soup_devlog/2.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":2,"date":"2026-07-03"}]},"hardware_security":{"name":"Hardware Security","slug":"hardware_security","category":"Security","years":"6 years","date_started":"2018-01-01","description":"Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis.","long_description_html":"<p>Hardware security auditing covers interfacing with board headers (UART/JTAG/SPI), dumping SPI flash EEPROMs, analyzing SoC bootloaders, and extracting hardcoded credentials.</p>\n","icon":"microchip.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z\"/>
610</svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Hardware_security"}],"projects":[{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastructure research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"./vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"./vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Firmware Analysis","url":"./vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"},{"title":"Intro","url":"./xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"./xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"}]},"heroku":{"name":"Heroku","slug":"heroku","category":"Cloud & DevOps","years":"5 years","date_started":"2019-01-01","description":"PaaS cloud platform for deploying and scaling containerized web applications and background workers.","long_description_html":"<p>Heroku is a platform-as-a-service (PaaS) enabling rapid cloud deployment, managed Postgres/Redis add-ons, and continuous buildpacks for Ruby, Node, and Python web services.</p>\n","icon":"server.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"/></svg>","links":[{"key":"website","url":"https://www.heroku.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"html":{"name":"HTML","slug":"html","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Standard markup language for structuring web pages and web applications.","long_description_html":"<p>HTML5 forms the foundation of web document structure and accessible web application interfaces. Specializing in semantic markup and responsive structural layout.</p>\n","icon":"html5.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32L34.9 427.8 191.5 480 349.1 427.8 384 32 0 32zM308.2 159.9l-183.8 0 4.1 49.4 175.6 0-13.6 148.4-97.9 27 0 .3-1.1 0-98.7-27.3-6-75.8 47.7 0 3.5 38.1 53.5 14.5 53.7-14.5 6-62.2-166.9 0-12.8-145.6 241.1 0-4.4 47.7z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/HTML"}],"projects":[],"games":[],"achievements":[],"posts":[]},"image_processing":{"name":"Image Processing","slug":"image_processing","category":"Computer Science","years":"5 years","date_started":"2019-01-01","description":"Algorithmic manipulation, decoding, dithering, and color space transformations of raster images.","long_description_html":"<p>Image processing involves programmatic pixel manipulation, palette quantization, custom dithering algorithms, and PNG/JPEG buffer parsing.</p>\n","icon":"image.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM272 224c8.4 0 16.1 4.4 20.5 11.5l88 144c4.5 7.4 4.7 16.7 .5 24.3S368.7 416 360 416L88 416c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l26.4 37.8 61.4-100.5c4.4-7.1 12.1-11.5 20.5-11.5z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Digital_image_processing"}],"projects":[{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[],"achievements":[{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"}],"posts":[]}
610,"javascript":{"name":"JavaScript","slug":"javascript","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Dynamic scripting language for web application logic and interactive client-side components.","long_description_html":"<p>JavaScript powers modern client-side application logic and web interactivity. Used for interactive web components, dynamic web dashboards, and browser-based graphics tools.</p>\n","icon":"js.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32l0 448 448 0 0-448-448 0zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5l0-143.1 42.1 0 0 143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript"}],"projects":[],"games":[],"achievements":[],"posts":[]},"kubernetes":{"name":"Kubernetes","slug":"kubernetes","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Container orchestration, cluster deployment management, and microservice scaling.","long_description_html":"<p>Kubernetes provides automated container orchestration, service discovery, load balancing, and rolling updates. Experience deploying microservices, managing ingress controllers, and maintaining cloud Kubernetes clusters.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://kubernetes.io"}],"projects":[],"games":[],"achievements":[],"posts":[]},"linux_kernel":{"name":"Linux Kernel","slug":"linux_kernel","category":"Systems & Security","years":"14 years","date_started":"2010-01-01","description":"In-depth Linux system administration, kernel diagnostics, performance tuning, and low-level system calls.","long_description_html":"<p>Extensive experience configuring, troubleshooting, and securing Linux operating systems across embedded devices, cloud virtual machines, and bare-metal servers. Skilled in tracing system calls, analyzing kernel crash dumps, optimizing I/O performance, and configuring custom kernel builds.</p>\n","icon":"linux.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M220.9 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5 .2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4 .2-.8 .7-.6 1.1 .3 1.3 2.3 1.1 3.4 1.7zM199 125c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6 .2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5 .1-1.3 .6-3.4 1.5-3.2 2.9 .1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.
6101-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72 .5-45.9 5.1-131.2-75.8-131.3-102.4-.2-76.8 103.4-77.9 135.2-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9 .6 7.9 1.2 11.8 1.2 8.1 2.5 15.7 .8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1 .6 2.3 1.4 4.6 2.5 6.7l0 .1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3 .4-8.2-4.4-17.3-15.5-29.7zM223.8 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183.1 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4 .7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4l0-.2c2.4-7.6 .6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7 .8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4 .6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1 .8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7 .4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6 .8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1 .3-.2 .7-.3 1-.5 .8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.4 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"/></svg>","links":[{"key":"kernel","url":"https://www.kernel.org"}],"projects":[],"games":[],"achievements":[],"posts":[{"title":"Firmware Analysis","url":"./vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"}]},"low_poly_3d_modeling":{"name":"Low Poly 3D Modelling","slug":"low_poly_3d_modeling","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Creating retro-styled, low-polygon 3D models and environmental assets optimized for game engines.","long_description_html":"<p>Low poly 3D modeling focuses on creating stylized, memory-efficient polygonal assets, retro environment art, and pixel-mapped 3D meshes for indie games and real-time engines.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Low_poly"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"./projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[],"posts":[{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"./liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"}]},"midi":{"name":"MIDI","slug":"midi","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Musical Instrument Digital Interface standard for digital music composition, synth communication, and note sequencing.","long_description_html":"<p>MIDI (Musical Instrument Digital Interface) provides event-based protocol standards for note sequencing, hardware synthesizer control, virtual instruments, and software music composition.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/MIDI"}],"projects":[],"games":[],"achievements":[],"posts":[]},"modular_synth":{"name":"Modular Synth","slug":"modular_synth","category":"Audio & Music","years":"4 years","date_started":"2020-01-01","description":"Designing electronic audio signals using interconnected sound modules, generators, and filters.","long_description_html":"<p>Modular synthesis involves interconnecting separate modules (VCOs, VCFs, LFOs, envelopes
610) to create complex procedural soundscapes, dynamic game SFX, and synth textures.</p>\n","icon":"sliders.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 224zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Modular_synthesizer"}],"projects":[{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"nginx":{"name":"Nginx","slug":"nginx","category":"Tools & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"High-performance HTTP web server, reverse proxy, and SSL/TLS termination configuration.","long_description_html":"<p>Nginx is an HTTP web server, reverse proxy, and load balancer. I configure Nginx for secure web application routing, SSL/TLS certificate automation, static asset caching, rate limiting, and CORS headers management.</p>\n","icon":"server.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"/></svg>","links":[{"key":"website","url":"https://nginx.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"obs_studio":{"name":"OBS Studio","slug":"obs_studio","category":"Tools & Software","years":"5 years","date_started":"2019-01-01","description":"Open Broadcaster Software for video recording, live streaming, and gameplay footage capture.","long_description_html":"<p>OBS Studio is the industry-standard software for high-performance video recording, screen capture, live streaming, and demonstration video production.</p>\n","icon":"video.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M96 64c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L96 64zM464 336l73.5 58.8c4.2 3.4 9.4 5.2 14.8 5.2 13.1 0 23.7-10.6 23.7-23.7l0-240.6c0-13.1-10.6-23.7-23.7-23.7-5.4 0-10.6 1.8-14.8 5.2L464 176 464 336z\"/></svg>","links":[{"key":"website","url":"https://obsproject.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"opentofu":{"name":"OpenTofu","slug":"opentofu","category":"Tools & Infrastru
610cture","years":"2 years","date_started":"2022-01-01","description":"Open-source Infrastructure-as-Code tool for provisioning and managing cloud infrastructure.","long_description_html":"<p>OpenTofu provides community-driven declarative infrastructure management for cloud infrastructure across AWS, DigitalOcean, and Heroku.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://opentofu.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"playstation_2":{"name":"PlayStation 2","slug":"playstation_2","category":"Platforms & Hardware","years":"3 years","date_started":"2023-01-01","description":"PlayStation 2 architecture, Emotion Engine MIPS R5900, Graphics Synthesizer, SPRAM, and homebrew runtime engineering.","long_description_html":"<p>Developing native software and custom bytecode virtual machines for Sony's PlayStation 2 hardware, leveraging the 128-bit Emotion Engine, DMA channels, Scratchpad RAM, and PCSX2 emulation debugging.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"python":{"name":"Python","slug":"python","category":"Languages","years":"10 years","date_started":"2014-01-01","description":"A versatile high-level programming language used for scripting, security tools, and automation.","long_description_html":"<p>Python is a high-level interpreted programming language known for its clear syntax and vast ecosystem. I utilize Python for exploit proof-of-concept development, protocol reverse engineering, network security toolkits, automated data processing pipelines, and system administration scripts.</p>\n","icon":"python.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2l-40.1 0 0 47.4c0 36.8-31.2 67.8-66.8 67.8l-106.8 0c-29.2 0-53.4 25-53.4 54.3l0 101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3l0-40.7-106.7 0 0-13.6 160.2 0c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 444.7a20.4 20.4 0 1 1 0-40.7 20.4 20.4 0 1 1 0 40.7zM167.8 248.1l106.8 0c29.7 0 53.4-24.5 53.4-54.3l0-101.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8 .1-45.2 8-53.4 24.7-53.4 55.6l0 40.7 106.9 0 0 13.6-147 0c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2l36.7 0 0-48.8c0-35.3 30.5-66.4 66.8-66.4zM161.2 64.7a20.4 20.4 0 1 1 0 40.8 20.4 20.4 0 1 1 0-40.8z\"/></svg>","links":[{"key":"website","url":"https://www.python.org"}],"projects":[{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"radare2":{"name":"radare2","slug":"radare2","category":"Systems & Security","years":"6 years","date_started":"2018-01-01","description":"UNIX-style reverse engineering framework, binary disassembler, hex editor, and debugger.","long_description_html":"<p>radare2 is a portable, modular reverse-engineering framework and binary analysis toolset. I utilize radare2 for binary forensics, firmware analysis, disassembly, and automated debugging through custom pipes and plugins like cradare2.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
610<path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"website","url":"https://rada.re/n/"},{"key":"github","url":"radareorg/radare2"}],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"raylib":{"name":"Raylib","slug":"raylib","category":"Libraries & Frameworks","years":"5 years","date_started":"2019-01-01","description":"A simple and easy-to-use C library to enjoy videogames programming.","long_description_html":"<p>
610Raylib is an open-source C library designed for 2D/3D graphics, windowing, audio, and game development. I authored <code>raylib-cr</code> (Crystal bindings for Raylib) and have created various game jam entries and interactive tools using Raylib.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[{"key":"website","url":"https://www.raylib.com"},{"key":"github","url":"raysan5/raylib"}],"projects":[{"title":"crixel","url":"./projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"},{"title":"raylib-cr","url":"./projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"wireland","url":"./projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"}],"posts":[{"title":"Intro","url":"./pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"./pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"./pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"reverse_engineering":{"name":"Reverse Engineering","slug":"reverse_engineering","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols.","long_description_html":"<p>Reverse engineering involves analyzing binary executables, assembly code, and embedded hardware interfaces without source code access. I utilize disassemblers, decompilers, and static analysis tools to discover zero-day vulnerabilities, audit IoT camera firmware, and decipher proprietary protocols.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"ghidra","url":"https://ghidra-sre.org"}],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
610cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"./vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Network Protocol Analysis","url":"./vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"./vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Writing a Client","url":"./vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"},{"title":"Memory Leaks and De-serialization","url":"./vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"},{"title":"Firmware Analysis","url":"./vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"},{"title":"Re-evaluating fixed vulnerabilities","url":"./vstarcam_journey/10.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":10,"date":"2019-09-03"},{"title":"Intro","url":"./xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"./xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"},{"title":"Hashing","url":"./xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Basic Fuzzing","url":"./xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"./xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"}]},"ruby":{"name":"Ruby","slug":"ruby","category":"Languages","years":"10 years","date_started":"2014-01-01","description":"A dynamic, open-source programming language with a focus on simplicity and productivity.","long_description_html":"<p>Ruby is a dynamic object-oriented programming language designed for developer happiness and readable code. Over the past decade, I have used Ruby extensively for full-stack web applications, automation scripting, REST API backends, and system integration tools.</p>\n","icon":"gem.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8l240 0c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5L210.5 179.8 63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8l-147.2-12.3 57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\"/></svg>","links":[{"key":"website","url":"https://www.ruby-lang.org"}],"projects":[{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"security_research":{"name":"Security Research","slug":"security_research","category":"Security","years":"7 years","date_started":"2017-01-01","description":"Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks.","long_description_html":"<p>Security research involves vulnerability discovery, threat modeling, protocol analysis, and hardware/firmware auditing across IoT devices, web services, and binary software.</p>\n","icon":"user-secret.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M171-16c-36.4 0-57.8 58.3-68.3 112L72 9
6106c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z\"/></svg>","links":[{"key":"cve","url":"https://cve.mitre.org"}],"projects":[{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastructure research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"./vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Network Protocol Analysis","url":"./vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"./vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Writing a Client","url":"./vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"},{"title":"Reversing authentication","url":"./vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Post Mortem & Fixes","url":"./vstarcam_journey/9.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":9,"date":"2019-09-03"},{"title":"Re-evaluating fixed vulnerabilities","url":"./vstarcam_journey/10.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":10,"date":"2019-09-03"},{"title":"Intro","url":"./xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"./xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"},{"title":"Software Overview and Audit","url":"./xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Hashing","url":"./xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Basic Fuzzing","url":"./xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"./xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"},{"title":"Fuzzing With Radamsa","url":"./xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Brute Force","url":"./xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"},{"title":"Denial of Service","url":"./xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"shaders":{"name":"Shaders","slug":"shaders","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"GPU shader programming for custom visual effects, post-processing, and material lighting.","long_description_html":"<p>Shader programming enables custom GPU pixel and vertex manipulation for real-time graphics, lighting models, and retro visual post-processing effects.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Shader"}],"projects":[{"title":"Opal","url":"./projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"},{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"./projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363
610challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"},{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Shader Optimization & Visual Refinements","url":"./liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"simulation":{"name":"Simulation","slug":"simulation","category":"Computer Science","years":"4 years","date_started":"2020-01-01","description":"Modeling complex real-world or artificial systems, cellular automata, and interactive agent behaviors.","long_description_html":"<p>Simulation development covers cellular automata (Wireworld, Game of Life), physics state updates, and agent-based systemic simulations.</p>\n","icon":"atom.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224 398.8c-11.8 5.1-23.4 9.7-34.9 13.5 16.7 33.8 31 35.7 34.9 35.7s18.1-1.9 34.9-35.7c-11.4-3.9-23.1-8.4-34.9-13.5zM414 256c33 45.2 44.3 90.9 23.6 128-20.2 36.3-62.5 49.3-115.2 43.2-22 52.1-55.7 84.8-98.4 84.8s-76.4-32.7-98.4-84.8C72.9 433.3 30.6 420.3 10.4 384-10.3 346.9 1 301.2 34 256 1 210.8-10.3 165.1 10.4 128 30.6 91.7 72.9 78.7 125.6 84.8 147.6 32.7 181.2 0 224 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2 20.7 37.1 9.4 82.8-23.6 128zm-65.8 67.4c-1.7 14.2-3.9 28-6.7 41.2 31.8 1.4 38.6-8.7 40.2-11.7 2.3-4.2 7-17.9-11.9-48.1-6.8 6.3-14 12.5-21.6 18.6zm-6.7-175.9c2.8 13.1 5 26.9 6.7 41.2 7.6 6.1 14.8 12.3 21.6 18.6 18.9-30.2 14.2-44 11.9-48.1-1.6-2.9-8.4-13-40.2-11.7zM258.9 99.7C242.1 65.9 227.9 64 224 64s-18.1 1.9-34.9 35.7c11.4 3.9 23.1 8.4 34.9 13.5 11.8-5.1 23.4-9.7 34.9-13.5zm-159 88.9c1.7-14.3 3.9-28 6.7-41.2-31.8-1.4-38.6 8.7-40.2 11.7-2.3 4.2-7 17.9 11.9 48.1 6.8-6.3 14-12.5 21.6-18.6zM78.2 304.8c-18.9 30.2-14.2 44-11.9 48.1 1.6 2.9 8.4 13 40.2 11.7-2.8-13.1-5-26.9-6.7-41.2-7.6-6.1-14.8-12.3-21.6-18.6zM304 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-80-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Simulation"}],"projects":[{"title":"Diorite","url":"./projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"wireland","url":"./projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"sip":{"name":"SIP","slug":"sip","category":"Networking & Security","years":"6 years","date_started":"2018-01-01","description":"Session Initiation Protocol (RFC 3261) used for signaling and controlling VoIP communication sessions.","long_description_html":"<p>Session Initiation Protocol (SIP) is an application-layer control protocol for creating, modifying, and terminating real-time sessions like VoIP calls. My work includes analyzing SIP call flows, auditing SIP user agents on IoT cameras, and dissecting authentication mechanisms.</p>\n","icon":"phone.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M160.2 25C152.3 6.1 131.7-3.9 112.1 1.4l-5.5 1.5c-64.6 17.6-119.8 80.2-103.7 156.4 37.1 175 174.8 312.7 349.8 349.8 76.3 16.2 138.8-39.1 156.4-103.7l1.5-5.5c
6105.4-19.7-4.7-40.3-23.5-48.1l-97.3-40.5c-16.5-6.9-35.6-2.1-47 11.8l-38.6 47.2C233.9 335.4 177.3 277 144.8 205.3L189 169.3c13.9-11.3 18.6-30.4 11.8-47L160.2 25z\"/></svg>","links":[{"key":"rfc","url":"https://datatracker.ietf.org/doc/html/rfc3261"}],"projects":[],"games":[],"achievements":[],"posts":[]},"static_analysis":{"name":"Static Analysis","slug":"static_analysis","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Auditing source code and binary assets to detect software flaws, security anti-patterns, and compliance issues.","long_description_html":"<p>Static analysis encompasses inspecting codebase ASTs, control flow graphs, and data flows without executing code. I use static analyzers and custom parsing scripts to detect vulnerability patterns (integer overflows, buffer handling, memory safety) early in development.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"cwe","url":"https://cwe.mitre.org"}],"projects":[{"title":"Jasper","url":"./projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"}],"games":[],"achievements":[],"posts":[{"title":"Memory Leaks and De-serialization","url":"./vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"}]},"sunvox":{"name":"SunVox","slug":"sunvox","category":"Audio & Music","years":"5 years","date_started":"2019-01-01","description":"Small, fast, and powerful modular synthesizer and pattern-based tracker for music composition.","long_description_html":"<p>SunVox is a flexible modular synth tracker. Used for composing original chiptune soundtracks, game SFX, and integrating native SunVox audio engines via libsunvox C bindings.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"website","url":"https://www.warmplace.ru/soft/sunvox/"}],"projects":[{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"svg":{"name":"SVG","slug":"svg","category":"Design & Art","years":"6 years","date_started":"2018-01-01","description":"Scalable Vector Graphics XML format for resolution-independent vector illustrations and programmatic rendering.","long_description_html":"<p>Scalable Vector Graphics (SVG) is an XML-based vector image format. Used for creating UI icon sets, generating programmatic vector graphics in Crystal/Ruby, and clean web illustrations.</p>\n","icon":"vector-square.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 119.4C12.9 108.4 0 87.7 0 64 0 28.7 28.7 0 64 0 87.7 0 108.4 12.9 119.4 32l273.1 0c11.1-19.1 31.7-32 55.4-32 35.3 0 64 28.7 64 64 0 23.7-12.9 44.4-32 55.4l0 273.1c19.1 11.1 32 31.7 32 55.4 0 35.3-28.7 64-64 64-23.7 0-44.4-12.9-55.4-32l-273.1 0c-11.1 19.1-31.7 32-55.4 32-35.3 0-64-28.7-64-64 0-23.7 12.9-44.4 32-55.4l0-273.1zm64 0l0 273.1c9.7 5.6 17.8 13.7 23.4 23.4l273.1 0c5.6-9.7 13.7-17.8 23.4-23.4l0-273.1c-9.7-5.6-17.8-13.7-23.4-23.4L119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4z\"/></svg>","links":[{"key":"website","url":"https://www.w3.org/TR/SVG2/"}],"projects":[{"title":"celestine","url":"./projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[],"achievements":[{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"}],"posts":[]},"terraform":{"name":"Terraform","slug":"terraform","category":"Tools & Infrastru
610cture","years":"6 years","date_started":"2018-01-01","description":"Declarative Infrastructure-as-Code (IaC) tool for provisioning cloud resources.","long_description_html":"<p>Terraform enables declarative management of cloud infrastructure via code, enabling reproducible state and automated deployment pipelines across AWS and cloud providers.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://www.terraform.io"}],"projects":[],"games":[],"achievements":[],"posts":[]},"trenchbroom":{"name":"TrenchBroom","slug":"trenchbroom","category":"Design & Art","years":"2 years","date_started":"2022-01-01","description":"Cross-platform level editor for Quake-style engine maps and 3D level design.","long_description_html":"<p>TrenchBroom is a modern, intuitive level editor designed for Quake-style brush geometry and 3D level construction for classic retro FPS engines and Godot integrations.</p>\n","icon":"box.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M369.4 128l-34.3-48-222.1 0-34.3 48 290.7 0zM0 148.5c0-13.3 4.2-26.3 11.9-37.2L60.9 42.8C72.9 26 92.3 16 112.9 16l222.1 0c20.7 0 40.1 10 52.1 26.8l48.9 68.5c7.8 10.9 11.9 23.9 11.9 37.2L448 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 148.5z\"/></svg>","links":[{"key":"website","url":"https://trenchbroom.github.io"}],"projects":[],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[]},"tui":{"name":"Terminal UI","slug":"tui","category":"Tools & Frameworks","years":"5 years","date_started":"2019-01-01","description":"Terminal user interface architecture, Elm architecture (TEA), ANSI escape sequences, and virtual terminal emulation.","long_description_html":"<p>Building rich, double-buffered, and accessible terminal user interfaces using ANSI/VT100 escape codes, TrueColor rasterization, and Elm-inspired architecture models.</p>\n","icon":"terminal.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M9.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 256 9.4 118.6zM224 384l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"/></svg>","links":[],"projects":[{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"Opal","url":"./projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]}
610,"typescript":{"name":"TypeScript","slug":"typescript","category":"Languages","years":"6 years","date_started":"2018-01-01","description":"Strongly typed programming language that builds on JavaScript for scalable front-end and back-end development.","long_description_html":"<p>TypeScript enables robust type safety across large web applications, client-side tools, and web integrations.</p>\n","icon":"js.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32l0 448 448 0 0-448-448 0zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5l0-143.1 42.1 0 0 143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"/></svg>","links":[{"key":"website","url":"https://www.typescriptlang.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"voip":{"name":"VoIP","slug":"voip","category":"Networking & Security","years":"6 years","date_started":"2018-01-01","description":"Voice over Internet Protocol technologies for real-time voice, video, and multimedia communication over IP networks.","long_description_html":"<p>VoIP encompasses protocols and media streaming technologies (SIP, RTP, RTSP, SDP) enabling audio/video transport over IP networks.</p>\n","icon":"phone.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M160.2 25C152.3 6.1 131.7-3.9 112.1 1.4l-5.5 1.5c-64.6 17.6-119.8 80.2-103.7 156.4 37.1 175 174.8 312.7 349.8 349.8 76.3 16.2 138.8-39.1 156.4-103.7l1.5-5.5c5.4-19.7-4.7-40.3-23.5-48.1l-97.3-40.5c-16.5-6.9-35.6-2.1-47 11.8l-38.6 47.2C233.9 335.4 177.3 277 144.8 205.3L189 169.3c13.9-11.3 18.6-30.4 11.8-47L160.2 25z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Voice_over_IP"}],"projects":[],"games":[],"achievements":[],"posts":[]},"vscode":{"name":"VS Code","slug":"vscode","category":"Developer Tools","years":"7 years","date_started":"2017-01-01","description":"Lightweight, extensible code editor used for daily multi-language development and debugging.","long_description_html":"<p>Visual Studio Code is a cross-platform source-code editor with native debugging support, Git integration, custom tasks, and extensive extension ecosystems for Crystal, Ruby, Python, and C/C++.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://code.visualstudio.com"}],"projects":[],"games":[],"achievements":[],"posts":[]}} 611 </script>
611 612 613 <div id="favorite-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="favorite-modal-title"> 614 <div class="terminal-window skill-modal-window favorite-modal-window"> 615 <div class="window-header"> 616 <h1 id="favorite-modal-title" class="window-title"><span class="window-header-icon" title="Favorite Spec"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z"/></svg></span>FAVORITE // Specification // Media Details</h1> 617 <div class="window-controls"> 618 <span id="favorite-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 619 </div> 620 </div> 621 <div class="window-body favorite-modal-body"> 622 <div id="favorite-modal-single-body"> 623 <div class="skill-modal-meta"> 624 <div><strong>Category:</strong> <span id="favorite-modal-category"></span></div> 625 <div id="favorite-modal-creator-wrap"><strong>Creator:</strong> <span id="favorite-modal-creator"></span></div> 626 <div id="favorite-modal-year-wrap"><strong>Year:</strong> <span id="favorite-modal-year"></span></div> 627 <div id="favorite-modal-rating-wrap"><strong>Rating:</strong> <span id="favorite-modal-rating"></span></div> 628 <div id="favorite-modal-links-wrap"> 629 <strong>Link:</strong> 630 <span id="favorite-modal-links"></span> 631 </div> 632 </div> 633 <div class="skill-modal-short-desc" id="favorite-modal-short-desc"></div> 634 <div class="skill-modal-long-desc" id="favorite-modal-long-desc"></div> 635 636 <div id="favorite-modal-player-section"> 637 <h2 class="modal-section-h2">[ MEDIA PLAYER / EMBED ]</h2> 638 <div id="favorite-modal-player-container"></div> 639 </div> 640 </div> 641 642 <div id="favorite-modal-collection-body"> 643 <div class="skill-modal-meta favorite-modal-meta"> 644 <div><strong>Artist / Creator:</strong> <span id="favorite-modal-col-creator"></span></div> 645 <div><strong>Total Tracks / Items:</strong> <span id="favorite-modal-col-count" class="fav-badge-collection fav-badge-collection-inline"></span></div> 646 <div id="favorite-modal-col-link-wrap"> 647 <a id="favorite-modal-col-artist-link" href="#" target="_blank" class="accolade-link-btn" title="View Artist Profile"><span>ARTIST WEBSITE / PROFILE â</span></a> 648 </div> 649 </div> 650 <div class="fav-desc" id="favorite-modal-col-desc"></div> 651 652 <div class="favorite-modal-section-divider"> 653 <h2 class="modal-section-h2">[ COLLECTION PLAYERS & MEDIA LINKS ]</h2> 654 <div id="favorite-modal-items-container"></div> 655 </div> 656 </div> 657 </div> 658 </div> 659 </div> 660 661 <div id="jam-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="jam-modal-title"> 662 <div class="terminal-window skill-modal-window jam-modal-window"> 663 <div class="window-header"> 664 <h1 id="jam-modal-title" class="window-title"><span class="window-header-icon" title="Game Jam Spec"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
664<path fill="currentColor" d="M144.3 0l224 0c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8l49.6 0c26.1 0 49.1 21.6 47.1 49.8-7.5 103.7-60.5 160.7-118 190.5-15.8 8.2-31.9 14.3-47.2 18.8-20.2 28.6-41.2 43.7-57.9 51.8l0 73.1 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 0-73.1c-16-7.7-35.9-22-55.3-48.3-18.4-4.8-38.4-12.1-57.9-23.1-54.1-30.3-102.9-87.4-109.9-189.9-1.9-28.1 21-49.7 47.1-49.7l49.6 0c-.3-5.2-.5-10.4-.7-15.8-1-26.5 20.6-48.2 47.1-48.2zM101.5 112l-52.4 0c6.2 84.7 45.1 127.1 85.2 149.6-14.4-37.3-26.3-86-32.8-149.6zM380 256.8c40.5-23.8 77.1-66.1 83.3-144.8L411 112c-6.2 60.9-17.4 108.2-31 144.8z"/></svg></span>JAM // Specification // Event Details</h1> 665 <div class="window-controls"> 666 <span id="jam-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 667 </div> 668 </div> 669 <div class="window-body"> 670 <h2 id="jam-modal-name"></h2> 671 <p id="jam-modal-tagline"></p> 672 673 <div class="skill-modal-meta jam-modal-meta-grid"> 674 <div id="jam-modal-host-wrap"><strong>Host / Organizer:</strong> <span id="jam-modal-host"></span></div> 675 <div id="jam-modal-dates-wrap"><strong>Dates:</strong> <span id="jam-modal-dates"></span></div> 676 <div id="jam-modal-link-wrap"><strong>Link:</strong> <span id="jam-modal-link"></span></div> 677 </div> 678 679 <div id="jam-modal-live-stats-wrap"> 680 <h3 class="jam-modal-section-h3">[ LIVE JAM STATS ]</h3> 681 <div id="jam-modal-live-stats" class="project-live-stats jam-live-stats"></div> 682 </div> 683 684 <div id="jam-modal-desc-wrap"> 685 <h3 class="jam-modal-section-h3">[ OVERVIEW ]</h3> 686 <p id="jam-modal-desc"></p> 687 </div> 688 689 <div id="jam-modal-games-wrap"> 690 <h3 class="jam-modal-section-h3">[ SUBMITTED GAMES ]</h3> 691 <div id="jam-modal-games-list"></div> 692 </div> 693 </div> 694 </div> 695 </div> 696 697 <div id="carousel-thumbs-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="carousel-thumbs-modal-title"> 698 <div class="terminal-window skill-modal-window carousel-thumbs-window"> 699 <div class="window-header window-header-flex"> 700 <h1 id="carousel-thumbs-modal-title" class="window-title carousel-thumbs-title"> 701 <span class="window-header-icon" title="Gallery Selector"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
701<path fill="currentColor" d="M96 96c0-35.3 28.7-64 64-64l320 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64l-320 0c-35.3 0-64-28.7-64-64L96 96zM24 128c13.3 0 24 10.7 24 24l0 296c0 8.8 7.2 16 16 16l360 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L64 512c-35.3 0-64-28.7-64-64L0 152c0-13.3 10.7-24 24-24zm168 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm196.5 11.5c-4.4-7.1-12.1-11.5-20.5-11.5s-16.1 4.4-20.5 11.5l-56.3 92.1-24.5-30.6c-4.6-5.7-11.4-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S174.8 352 184 352l272 0c8.7 0 16.7-4.7 20.9-12.3s4.1-16.8-.5-24.3l-88-144z"/></svg></span>GALLERY // Slide Selector // Thumbnails 702 </h1> 703 <div class="window-controls"> 704 <button type="button" id="carousel-thumbs-modal-close" class="window-btn window-btn-close" title="Close Gallery"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></button> 705 </div> 706 </div> 707 708 <div class="window-body carousel-thumbs-body"> 709 <div id="carousel-thumbs-modal-grid"></div> 710 711 <div id="carousel-thumbs-modal-pagination"> 712 <button type="button" id="carousel-thumbs-prev-page" class="export-btn export-btn-page">[ â PREV PAGE ]</button> 713 <span id="carousel-thumbs-page-badge">[ PAGE 1 / 1 ]</span> 714 <button type="button" id="carousel-thumbs-next-page" class="export-btn export-btn-page">[ NEXT PAGE ⺠]</button> 715 </div> 716 </div> 717 </div> 718 </div> 719 720 <div id="game-player-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="game-player-modal-title"> 721 <div id="game-player-window" class="terminal-window game-player-window"> 722 <div class="window-header game-player-window-header"> 723 <h1 id="game-player-modal-title" class="window-title game-player-modal-title"> 724 <span class="window-header-icon" title="Game Player"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg></span>PLAYER // Web Game // Godot & Emulators 725 </h1>
726 <div class="window-controls game-player-controls"> 727 <button type="button" id="game-player-maximize-btn" class="window-btn window-btn-clean" title="Maximize Window to Viewport"> 728 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg> 729 <span id="maximize-btn-text">[ MAXIMIZE ]</span> 730 </button> 731 <button type="button" id="game-player-fullscreen-btn" class="window-btn window-btn-clean" title="Fullscreen Monitor Mode"> 732 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg> 733 <span>[ FULLSCREEN ]</span> 734 </button> 735 <button type="button" id="game-player-close-btn" class="window-btn window-btn-clean" title="Close Game"> 736 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg> 737 <span>[ CLOSE ]</span> 738 </button> 739 </div> 740 </div> 741 742 <div class="window-body game-player-window-body"> 743 <iframe id="game-player-iframe" data-src="./shell.html" allow="autoplay; fullscreen; focus-without-user-activation; cross-origin-isolated; pointer-lock; gamepad" credentialless></iframe> 744 </div> 745 </div> 746 </div> 747 748
748<script id="favorites-catalog-data" type="application/json"> 749{"frieren":{"name":"Frieren","title":"Frieren: Beyond Journey's End","slug":"frieren","category":"Anime","type":"standard","is_collection":false,"creator":"Keiichiro Saito","label":null,"studio":"Madhouse","year":"2023-2024","rating":"8.9/10 IMDb","description":"Masterpiece fantasy anime about an elven mage reflecting on time, mortality, human relationships, and memories after defeating the Demon King.","long_description_html":"<p>Frieren: Beyond Journey's End (Sousou no Frieren) is an extraordinary high-fantasy anime produced by Madhouse. Rather than focusing on the battle to save the world, the story begins after the 10-year hero quest has concluded. Frieren, an immortal elven mage, grapples with the fleeting nature of human lifespan as her former companions age and pass away, prompting her to embark on a quiet journey to retrace their path and understand human hearts.</p>\n","url":"https://www.imdb.com/title/tt22248376/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt22248376","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime","High Fantasy","Slice of Life","Adventure","Madhouse"],"items":[]},"tatami_galaxy":{"name":"The Tatami Galaxy","title":"The Tatami Galaxy","slug":"tatami_galaxy","category":"Anime","type":"standard","is_collection":false,"creator":"Masaaki Yuasa","label":null,"studio":"Madhouse / Noitamina","year":"2010","rating":"8.4/10 IMDb","description":"Visually inventive and fast-paced anime series directed by Masaaki Yuasa following a college student trapped in parallel timelines searching for the rose-colored campus life.","long_description_html":"<p>Based on Tomihiko Morimi's novel and directed by visionary Masaaki Yuasa, The Tatami Galaxy is a landmark 11-episode anime masterpiece. Utilizing rapid-fire dialogue, kinetic mixed-media animation, and Groundhog Day-style parallel universe timelines, the series follows a nameless college student in Kyoto as he resets his college years repeatedly to find true fulfillment, friendship with Ozu, and love with Akashi.</p>\n","url":"https://www.imdb.com/title/tt1847445/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt1847445","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime","Surreal","Comedy","Psychological","Masaaki Yuasa"],"items":[]},"2_mello":{"name":"2 Mello","title":"2 Mello","slug":"2_mello","category":"Collections","type":"collection","is_collection":true,"creator":"2 Mello","label":null,"studio":null,"year":null,"rating":null,"description":"Hip-hop producer, composer, and sound designer known for Jet Set Radio spiritual successor soundtracks and funky breakbeats.","long_description_html":"","url":"https://2mello.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Jet Set Radio","Cyberfunk","Hip-Hop","Breakbeat","OST","YouTube"],"items":[{"title":"Memories Of Tokyo-To (Full Album)","url":"https://www.youtube.com/watch?v=OBt8ioYEXBw","description":"Full tribute concept album to Jet Set Radio featuring high-energy funk and scratching.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"OBt8ioYEXBw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sounds Of Tokyo-To Future (Full Album)","url":"https://youtu.be/upIDgvEJrlg","description":"Follow-up album expanding the funky cyberpunk soundscapes with new vocal collabs.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"upIDgvEJrlg","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sunsound Collisions (Full Album)","url":"https://www.youtube.com/watch?v=Ua0_JA4xQQg","description":"Smooth boom-bap hip-h
749op and sample-heavy beat tape.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"Ua0_JA4xQQg","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"anamanaguchi":{"name":"Anamanaguchi","title":"Anamanaguchi","slug":"anamanaguchi","category":"Collections","type":"collection","is_collection":true,"creator":"Anamanaguchi","label":null,"studio":null,"year":null,"rating":null,"description":"Loud, hyperactive chiptune indie rock quartet utilizing NES and Game Boy sound generators blended with live instrumentation.","long_description_html":"","url":"https://soundcloud.com/anamanaguchi","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chiptune","Indie Rock","Scott Pilgrim","8-Bit","SoundCloud"],"items":[{"title":"Another Winter (Scott Pilgrim OST)","url":"https://soundcloud.com/anamanaguchi/another-winter","description":"Legendary overworld theme from Scott Pilgrim vs. The World: The Game OST.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/another-winter","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Air On Line","url":"https://soundcloud.com/anamanaguchi/anamanaguchi-air-on-line","description":"High-concept electronic rock piece from [USA].","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/anamanaguchi-air-on-line","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lorem Ipsum (Arctic Anthem)","url":"https://soundcloud.com/anamanaguchi/anamanaguchi-lorem-ipsum-arctic-anthem","description":"Fast-tempo anthemic 8-bit rock cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/anamanaguchi-lorem-ipsum-arctic-anthem","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pop It (ABSRDST Remix)","url":"https://soundcloud.com/anamanaguchi/pop-it-absrdst-remix","description":"Glitchy bass remix by producer ABSRDST.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/pop-it-absrdst-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"android52":{"name":"Android52","title":"Android52","slug":"android52","category":"Collections","type":"collection","is_collection":true,"creator":"Android52","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"High-energy French Touch, Future Funk, and anime groove productions by Android52 on Neoncity Records.","long_description_html":"","url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French Touch","Neoncity Records","Electronic","Bandcamp"],"items":[{"title":"Future Groove Product","url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","description":"Dynamic 10-track Future Funk album packed with driving basslines and anime sample chops.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","bandcamp_album_id":"2395065892","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"}]},"caravan_palace":{"name":"Caravan Palace","title":"Caravan Palace","slug":"caravan_palace","category":"Collections","type":"collection","is_collection":true,"creator":"Caravan Palace","label":null,"studio":null,"year":null,"rating":null,"description":"Pioneering French electro-swing and gypsy jazz band blending acoustic instruments with electronic house beats.","long_description_html":"","url":"https://soundcloud.com/caravan-palace-official","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electro-Swing","Gypsy Jazz","French House","SoundCloud"],"items":[{"title":"Lone Digger","url":"https://soundcloud.com/caravan-palace-official/lone-digger","description":"Breakout platinum electro-swing anthem with driving bass and brass hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/caravan-palace-official/lone-digger","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Good Mouse","url":"https://soundcloud.com/caravan-palace-official/good-mouse-1","description":"Funky, swing-infused electro track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/caravan-palace-official/good-mouse-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"cinematic_sequences":{"name":"Cinematic Sequences","title":"Cinematic Sequences","slug":"cinematic_sequences","category":"Collections","type":"collection","is_collection":true,"creator":"Cinematic Sequences","label":null,"studio":null,"year":null,"rating":null,"description":"Ambient, lo-fi, and chill synth soundscapes inspired by retro aesthetics, daily rhythms, and late night cityscapes.","long_description_html":"","url":"https://cinematicsequences.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Ambient","Lo-Fi","Synthwave","Chillwave","Bandcamp"],"items":[{"title":"Night Shift","url":"https://cinematicsequences.bandcamp.com/album/night-shift","description":"Atmospheric late-night synth sounds.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/night-shift","bandcamp_album_id":"4290757090","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Day Shift","url":"https://cinematicsequences.bandcamp.com/album/day-shift","description":"Bright daytime chill beats and electronic grooves.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/day-shift","bandcamp_album_id":"1731191999","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Casual Restaurant","url":"https://cinematicsequences.bandcamp.com/album/casual-restaurant","description":"Relaxed background ambient tunes for casual listening.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/casual-restaurant","bandcamp_album_id":"2380808922","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Between Exits","url":"https://cinematicsequences.bandcamp.com/album/between-exits","de
749scription":"Dreamy highway synthscapes and transitional ambient journeys.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/between-exits","bandcamp_album_id":"2238275806","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"}]},"darren_korb":{"name":"Darren Korb","title":"Darren Korb","slug":"darren_korb","category":"Collections","type":"collection","is_collection":true,"creator":"Darren Korb","label":null,"studio":"Supergiant Games","year":null,"rating":null,"description":"Iconic video game original soundtracks composed by Darren Korb for Supergiant Games.","long_description_html":"","url":"https://www.supergiantgames.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["OST","Video Games","Acoustic / Electronic","Supergiant Games"],"items":[{"title":"Bastion OST","url":"https://www.youtube.com/watch?v=2mdQBvMBnKk&list=PL53mjgVKFq7yPfCiSJaA_aI2SPKrnEmmJ","description":"Acoustic trip-hop soundtrack for Bastion.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"2mdQBvMBnKk","youtube_playlist_id":"PL53mjgVKFq7yPfCiSJaA_aI2SPKrnEmmJ","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Transistor OST","url":"https://www.youtube.com/watch?v=ql8K3KJyWgY&list=PL53mjgVKFq7y63ke-WLKrowba3mdSEJMf","description":"Electronic post-rock and vocals soundtrack for Transistor.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"ql8K3KJyWgY","youtube_playlist_id":"PL53mjgVKFq7y63ke-WLKrowba3mdSEJMf","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Hades 1 OST","url":"https://www.youtube.com/watch?v=3GRKJ87S5cI","description":"Heavy Mediterranean rock and orchestral soundscapes for Hades.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"3GRKJ87S5cI","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Hades 2 OST","url":"https://www.youtube.com/watch?v=jfIuPRP94WI","description":"Dark witchy rock and orchestral themes for Hades II.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"jfIuPRP94WI","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"heaven_pierce_her":{"name":"Heaven Pierce Her","title":"Heaven Pierce Her","slug":"heaven_pierce_her","category":"Collections","type":"collection","is_collection":true,"creator":"Heaven Pierce Her (Hakita)","label":null,"studio":null,"year":null,"rating":null,"description":"Aggressive industrial metal, cyber breakcore, and frantic dynamic battle soundtracks composed by Hakita for ULTRAKILL.","long_description_html":"","url":"https://soundcloud.com/user-362886855","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Industrial Metal","Breakcore","OST","Hakita"],"items":[{"title":"War Without Reason (ULTRAKILL 7-4 Theme)","url":"https://youtu.be/Elj4zDLqJvw","de
749scription":"Epic multi-phase climactic boss theme for the Earthmover in Violence layer (7-4).","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"Elj4zDLqJvw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"War Without Reason (SoundCloud cut)","url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-war-without","description":"Violence layer climax battle theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-war-without","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The World Looks Red (ULTRAKILL 7-1)","url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-the-world","description":"Haunting acoustic opening transitioning into relentless industrial breakcore for 7-1.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-the-world","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Suffering Leaves Suffering Leaves (ULTRAKILL 7-3)","url":"https://soundcloud.com/vipery-belarus/suffering-leaves-suffering","description":"Intense atmospheric battle theme for Violence layer 7-3.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vipery-belarus/suffering-leaves-suffering","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Order (ULTRAKILL Minos Prime Theme)","url":"https://soundcloud.com/sexballs/03-order","description":"Legendary piano and speed-metal boss theme for Prime Sanctum P-1 (Minos Prime).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/03-order","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Complete and Utter Destruction of the Senses","url":"https://soundcloud.com/sexballs/07-a-complete-and-utter","description":"Frantic breakcore assault track from the ULTRAKILL soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/07-a-complete-and-utter","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Deep Blue (ULTRAKILL 5-1 Wrath Layer)","url":"https://soundcloud.com/sexballs/06-deep-blue","description":"Melodic underwater breakcore and guitar track for Oceanstaring (5-1).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/06-deep-blue","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Shattering Circle (Combat 18)","url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-shattering-circle-or-a-charade-of-shadeless-ones-and-zeroes-rearranged-ad-nihilum-combat-18","description":"High-energy combat sequence arrangement.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-shattering-circle-or-a-charade-of-shadeless-ones-and-zeroes-rearranged-ad-nihilum-combat-18","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Break (Crimson Glass deComposition)","url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-break-1","description":"Intense combat variation theme with atmospheric build.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-break-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Shattered Illusion","url":"https://soundcloud.com/das-itmane/ultrakill-ost-a-shattered","description":"Speed metal guitar and glitch drum grooves.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/das-itmane/ultrakill-ost-a-shattered","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"No Devil Lived On","url":"https://soundcloud.com/user-362886855/no-devil-lived-on-ultrakill-1","description":"High-octane industrial metal combat theme for ULTRAKILL.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-362886855/no-devil-lived-on-ultrakill-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Event Horizon / Reach for the...","url":"https://soundcloud.com/user-362886855/event-horizon-reach-for-the","description":"Atmospheric and intense soundtrack cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-362886855/event-horizon-reach-for-the","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"kokonoku":{"name":"kokonoku","title":"kokonoku","slug":"kokonoku","category":"Collections","type":"collection","is_collection":true,"creator":"kokonoku","label":null,"studio":null,"year":null,"rating":null,"description":"Melodic chill lo-fi beats, lyrical hip-hop rhymes, and emotive electronic soundscapes by kokonoku.","long_description_html":"","url":"https://soundcloud.com/kokonoku","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lo-Fi","Hip-Hop","Chill","S
749oundCloud"],"items":[{"title":"SUMMER WAS AWFUL","url":"https://soundcloud.com/kokonoku/summer-was-awful","description":"Reflective lo-fi hip-hop track capturing summer nostalgia.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/summer-was-awful","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"WHO IS SHE?","url":"https://soundcloud.com/kokonoku/who-is-she","description":"Introspective beat with vocal samples and warm keys.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/who-is-she","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"why do shorties write rhymes?","url":"https://soundcloud.com/kokonoku/why-do-shorties-write-rhymes","description":"Laid-back boom-bap rhythm and playful cadence.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/why-do-shorties-write-rhymes","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"luminous_orange":{"name":"Luminous Orange","title":"Luminous Orange","slug":"luminous_orange","category":"Collections","type":"collection","is_collection":true,"creator":"Luminous Orange","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese dream pop and shoegaze band led by Rie Takeuchi, famous for ethereal vocals, lush guitar walls, and intricate math rock rhythms.","long_description_html":"","url":"https://www.youtube.com/user/luminousorange","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Shoegaze","Dream Pop","Math Rock","Japanese Indie","YouTube"],"items":[{"title":"The White Moon","url":"https://www.youtube.com/watch?v=N4Xr2tuiDWw","description":"Ethereal, swirling shoegaze masterpiece from Drop You Vivid Colours.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"N4Xr2tuiDWw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sea of Lights","url":"https://www.youtube.com/watch?v=aT0XPrvtwis","description":"Polyrhythmic math-rock guitars and heavenly vocal harmonies.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"aT0XPrvtwis","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"macross_82_99":{"name":"Macross 82-99","title":"Macross 82-99","slug":"macross_82_99","category":"Collections","type":"collection","is_collection":true,"creator":"Macross 82-99","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"Pioneering Future Funk, French Touch, and Japanese 80s anime-infused dance discography by Mexican producer Macross 82-99.","long_description_html":"","url":"https://macross82-99.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French Touch","City Pop","Anime Groove","Bandcamp","Electronic"],"items":[{"title":"SAILORWAVE","url":"https://neoncityrecords.bandcamp.com/album/sailorwave","description":"The quintessential landmark 2013 Future Funk album that defined the genre.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave","bandcamp_album_id":"1892710195","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"SAILORWAVE II","url":"https://neoncityrecords.bandcamp.com/album/sailorwave-ii","description":"High-energy sequel album bursting with brass, disco basslines, and anime samples.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave-ii","bandcamp_album_id":"4064191542","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"SAILORWAVE III","url":"https://neoncityrecords.bandcamp.com/album/sailorwave-iii-2","description":"The grand third installment in the legendary Sailorwave trilogy.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave-iii-2","bandcamp_album_id":"1995491460","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"10 Million Miles Away","url":"https://neoncityrecords.bandcamp.com/album/10-million-miles-away","description":"Classic 2014 Future Funk album featuring upbeat French House grooves.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/10-million-miles-away","bandcamp_album_id":"2135592731","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Summer Touch","url":"https://neoncityrecords.bandcamp.com/album/summer-touch","de
749scription":"Breezy summer City Pop and house album released on Neoncity Records.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/summer-touch","bandcamp_album_id":"829133684","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"ããªæ±äº¬ (Neo Tokyo)","url":"https://neoncityrecords.bandcamp.com/album/neo-tokyo","description":"Early 2013 classic featuring cyberpunk aesthetic and sample chops.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/neo-tokyo","bandcamp_album_id":"354036144","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Idols, Sakura","url":"https://neoncityrecords.bandcamp.com/album/idols-sakura","description":"Iconic EP exploring Japanese idol aesthetics and upbeat dance music.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/idols-sakura","bandcamp_album_id":"596354313","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Shibuya Meltdown","url":"https://neoncityrecords.bandcamp.com/album/shibuya-meltdown","description":"Urban club funk with heavier French Touch synth basslines.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/shibuya-meltdown","bandcamp_album_id":"1461554244","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Love 4 You","url":"https://neoncityrecords.bandcamp.com/album/love-4-you","description":"Modern French Touch & Future Funk singles compilation.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/love-4-you","bandcamp_album_id":"3937905813","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"At Night","url":"https://soundcloud.com/macross-82-99/at-night-1","description":"Smooth late-night Future Funk cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/at-night-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Melt (ft. Puniden)","url":"https://soundcloud.com/macross-82-99/melt-ft-puniden-shibuya-meltdown-out-now","description":"Collaborative Shibuya Meltdown single with punipunidenki.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/melt-ft-puniden-shibuya-meltdown-out-now","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Private Caller (Macross 82-99 Edit)","url":"https://soundcloud.com/macross-82-99/private-caller-macross-82-99-edit","description":"Famous rework of Saint Pepsi's Private Caller.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/private-caller-macross-82-99-edit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"For You (feat. Morning)","url":"https://soundcloud.com/macross-82-99/for-you-feat-morning-summer-touch-now-available","description":"Sunny, warm Summer Touch single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/for-you-feat-morning-summer-touch-now-available","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fresh ! (feat. Flamingosis)","url":"https://soundcloud.com/macross-82-99/fresh-feat-flamingosis","description":"Funky chill collab with producer Flamingosis.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/fresh-feat-flamingosis","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Cool Soda","url":"https://soundcloud.com/macross-82-99/cool-soda","description":"Bubbly and energetic classic anime dance track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/cool-soda","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Now Or Never (Flamingosis x Macross 82-99)","url":"https://soundcloud.com/flamingosis/flamingosis-x-macross-82-99-now-or-never","description":"Signature disco funk beat collaboration.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/flamingosis/flamingosis-x-macross-82-99-now-or-never","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Sakurafubuki (feat. Punipunidenki & Le Real)","url":"https://soundcloud.com/macross-82-99/sakurafubuki-feat-punipunidenki-le-real","description":"Silky smooth City Pop house single with punipunidenki and Lé Real.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/sakurafubuki-feat-punipunidenki-le-real","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"milk_talk":{"name":"Milk Talk","title":"Milk Talk (ãã«ã¯ãã¼ã¯)","slug":"milk_talk","category":"Collections","type":"collection","is_collection":true,"creator":"Milk Talk","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese/American synth-funk and neo-city pop duo consisting of producer Hair Kid and singer-songwriter Q.i, crafting breezy, infectious disco and retro-futuristic boogie anthems.","long_description_html":"","url":"https://www.youtube.com/@MilkTalk","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Synth Funk","Neo City Pop","Nu-Disco","J-Pop","YouTube"],"items":[{"title":"The Bay","url":"https://www.youtube.com/watch?v=h0kEsJIY6qs","description":"Breez
749y, sun-soaked neo-city pop and 80s boogie-funk anthem featuring sparkling synths and silky Japanese/English vocals.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"h0kEsJIY6qs","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Electric Indigo","url":"https://www.youtube.com/watch?v=olYRn-v4pQ8","description":"Pulsing neon synth-pop groove with infectious slap bass, driving drums, and vibrant bilingual hooks.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"olYRn-v4pQ8","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"The Velvet Line","url":"https://www.youtube.com/watch?v=j-QkNPTkC8M","description":"Late-night boogie, future funk, and electro-pop fusion with driving synth bass and catchy vocoder accents.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"j-QkNPTkC8M","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"DE DE MOUSE & Milk Talk - Beautiful Criminal","url":"https://www.youtube.com/watch?v=pA37MUCOYyY","description":"High-octane collaborative future city pop and disco single between DE DE MOUSE and Milk Talk.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"pA37MUCOYyY","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Medusa","url":"https://www.youtube.com/watch?v=8r_W7Rc0u3M","description":"Snappy retro-funk and electro-disco dance track with groovy basslines and hypnotic vocal harmonies.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"8r_W7Rc0u3M","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"moe_shop":{"name":"Moe Shop","title":"Moe Shop","slug":"moe_shop","category":"Collections","type":"collection","is_collection":true,"creator":"Moe Shop","label":null,"studio":null,"year":null,"rating":null,"description":"French Touch electronic music, anime sample chops, club house, and Future Funk grooves by producer Moe Shop.","long_description_html":"","url":"https://soundcloud.com/moeshop","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Anime Groove","Electronic","SoundCloud"],"items":[{"title":"Charm (w/ Puniden) [Music Video]","url":"https://youtu.be/1iKZhsc8WGs","description":"Official animated music video for Charm featuring punipunidenki.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"1iKZhsc8WGs","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Charm (w/ Puniden)","url":"https://soundcloud.com/moeshop/charm-puniden","description":"Ultra-catchy J-pop house single with silky punipunidenki vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/charm-puniden","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Complications","url":"https://soundcloud.com/moeshop/complications","description":"Bouncy French Touch bassline and vocal chops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/complications","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Newly Human Feeling (feat. Jamie Paige)","url":"https://soundcloud.com/moeshop/newly-human-feeling","description":"Glitchy, emotive Future Bass / French House single with Jamie Paige.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/newly-human-feeling","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Synchronizer (KMNZ prod. Moe Shop)","url":"https://www.youtube.com/watch?v=TsILoCA8Mm4","description":"Official music video for Virtual Hip-hop duo KMNZ produced by Moe Shop.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"TsILoCA8Mm4","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Identity (w/ SEIJ)","url":"https://soundcloud.com/moeshop/identity","de
749scription":"Upbeat French House collab featuring SEIJ.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/identity","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyo Night Flyght (Moe Shop Remix)","url":"https://soundcloud.com/attackthemusic/timemaxeras-tokyo-night-flyght-moe-shop-remix","description":"High-energy dance floor remix of TiMEMAXERAS.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/attackthemusic/timemaxeras-tokyo-night-flyght-moe-shop-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"UKIYO (TEMPURA KIDZ & Moe Shop)","url":"https://soundcloud.com/moeshop/ukiyo","description":"Collaborative Japanese electronic single with TEMPURA KIDZ.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/ukiyo","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Virtual (w/ Puniden)","url":"https://soundcloud.com/moeshop/virtual","description":"Funky French House single with punipunidenki.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/virtual","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lovesick (w/ maisou)","url":"https://soundcloud.com/moeshop/lovesick","description":"Melodic club track featuring Japanese indie artist maisou.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/lovesick","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Magic (w/ MYLK)","url":"https://soundcloud.com/moeshop/magic","description":"Bright, bubbly electronic house single with MYLK.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/magic","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"ULTRAFINE (Lé Real & Moe Shop)","url":"https://soundcloud.com/nikon9200/ultrafine-prod-tsun-dealer","description":"Classic Future Funk collab produced by Lé Real & Moe Shop.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/nikon9200/ultrafine-prod-tsun-dealer","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Silhouette","url":"https://soundcloud.com/moeshop/silhouette","description":"Popular French Touch house single with upbeat vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/silhouette","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Owarini Liveshow","url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","description":"High-energy live DJ set recorded at Owarini in Tokyo.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Waifu Material","url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","description":"Landmark Future Funk and French House mixtape.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Moe Moe","url":"https://soundcloud.com/moeshop/sets/moe-moe","description":"Moe Moe EP set on SoundCloud.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/sets/moe-moe","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"night_tempo":{"name":"Night Tempo","title":"Night Tempo","slug":"night_tempo","category":"Collections","type":"collection","is_collection":true,"creator":"Night Tempo","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"Selected discography and Showa Groove remixes by South Korean Future Funk and City Pop producer Night Tempo.","long_description_html":"","url":"https://nighttempo.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","City Pop","Showa Groove","Vaporwave","Electronic","Bandcamp"],"items":[{"title":"Nighty Tape","url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","description":"Essential 80s City Pop flipped into upbeat Future Funk grooves by Night Tempo.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","bandcamp_album_id":"1324499771","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Moonrise","url":"https://nighttempo.bandcamp.com/album/moonrise","description":"Retro 80s synth vibes and disco boogie tracks.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://nighttempo.bandcamp.com/album/moonrise","bandcamp_album_id":"1899802584","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Fantasy","url":"https://neoncityrecords.bandcamp.com/album/fantasy","description":"18-track Future Funk extravaganza released via Neoncity Records.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/fantasy","bandcamp_album_id":"1942155638","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Babymaker 2","url":"https://nighttempo.bandcamp.com/album/babymaker-2","description":"Smooth, sensuous retro boogie and chill Future Funk beats.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://nighttempo.bandcamp.com/album/babymaker-2","bandcamp_album_id":"874626386","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Sentimental (Neon Mix) [feat. Miyu Takeuchi]","url":"https://soundcloud.com/ntreboot/sentimental-neon-mix-feat-miyu","description":"Lush City Pop collaboration featuring vocals by Miyu Takeuchi.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/sentimental-neon-mix-feat-miyu","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Dreams of Light","url":"https://soundcloud.com/ntreboot/dreams-of-light","description":"Sparkling retro synthesizer melody and driving dance beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/dreams-of-light","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Kiss Kara Hajimeru Mystery","url":"https://soundcloud.com/ntreboot/kiss-kara-hajimeru-mistery","description":"High-energy Showa Groove edit with classic Japanese 80s idol hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/kiss-kara-hajimeru-mistery","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyo in the Blue","url":"https://soundcloud.com/ntreboot/tokyo-in-the-blue","description":"Late-night metropolitan synth grooves and nostalgic samples.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/tokyo-in-the-blue","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tell Me Tell Me","url":"https://soundcloud.com/ntreboot/tell-me-tell-me","description":"Uptempo disco house rhythm and catchy vocal sample loops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/tell-me-tell-me","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"I Wanna Be With You","url":"https://soundcloud.com/ntreboot/i-wanna-be-with-you","description":"Romantic 80s City Pop boogie edit.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/i-wanna-be-with-you","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}
749,{"title":"Rats & Star - Megumi no Hito (Night Tempo Showa Groove Mix)","url":"https://soundcloud.com/ntreboot/ratsstar","description":"Official Showa Groove remix of the timeless 1983 classic Megumi no Hito.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/ratsstar","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"I Must Change My Life & Love For Me (Night Tempo Showa Groove Mix)","url":"https://soundcloud.com/ntreboot/changemylife","description":"Vibrant Showa Groove rework of 80s J-pop.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/changemylife","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Patchwork Love","url":"https://soundcloud.com/ntreboot/patchworklove","description":"Collaboration with punipunidenki and Pasocom Music Club.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/patchworklove","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Mint","url":"https://soundcloud.com/ntreboot/mint","description":"Crisp, refreshing Future Funk club single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/mint","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Better Days (feat. Puniden, Super Brass)","url":"https://soundcloud.com/ntreboot/better-days-feat-puniden-super-brass","description":"Uplifting neo-city-pop single with live brass sections and punipunidenki vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/better-days-feat-puniden-super-brass","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lil Bit","url":"https://www.youtube.com/watch?v=u93UQcoB-rM","description":"Catchy single with energetic retro synth chops.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"u93UQcoB-rM","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Silhouette","url":"https://www.youtube.com/watch?v=PX4YAla7u3A&list=RDTxhlbeNG0sY&index=24","description":"Smooth synthwave and disco groove.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"PX4YAla7u3A","youtube_playlist_id":"RDTxhlbeNG0sY","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"nujabes":{"name":"Nujabes","title":"Nujabes","slug":"nujabes","category":"Collections","type":"collection","is_collection":true,"creator":"Nujabes","label":null,"studio":null,"year":null,"rating":null,"description":"Pioneering Japanese hip-hop producer and DJ whose jazz-infused beats defined the modern lo-fi and chillhop movements.","long_description_html":"","url":"https://soundcloud.com/junseba","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lo-Fi Hip-Hop","Jazz Rap","Samurai Champloo","Chillhop","YouTube","SoundCloud"],"items":[{"title":"Nujabes Essential Discography Mix","url":"https://www.youtube.com/watch?v=m4fDm4rdUdk","description":"Complete curated journey through Nujabes' most memorable jazz-hop masterpieces.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"m4fDm4rdUdk","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Luv (Sic) Part 3 (Whos Theme Remix)","url":"https://soundcloud.com/bazfirstbounce/nujabes-luv-sic-part-3-whos","description":"Heartfelt remix blending Luv(Sic) with MINM
749I's Who's Theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/bazfirstbounce/nujabes-luv-sic-part-3-whos","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Sign (feat. Pase Rock)","url":"https://soundcloud.com/headhunter0/07-nujabes-the-sign-feat-pase","description":"Soulful conscious hip-hop cut from Modal Soul featuring Pase Rock.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/headhunter0/07-nujabes-the-sign-feat-pase","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"oddeeo":{"name":"ODDEEO","title":"ODDEEO","slug":"oddeeo","category":"Collections","type":"collection","is_collection":true,"creator":"=ODDEEO=","label":null,"studio":null,"year":null,"rating":null,"description":"Innovative Vocaloid music, City Pop arrangements, saxophone solos, and glitch electronic pop by producer ODDEEO.","long_description_html":"","url":"https://soundcloud.com/oddeeoofficial","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Vocaloid","Hatsune Miku","City Pop","Saxophone","Electronic"],"items":[{"title":"Wonder (feat. Hatsune Miku) [Music Video]","url":"https://www.youtube.com/watch?v=JDpUO29cRmA","description":"Vocaloid City Pop music video featuring saxophone performance by Soneji.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"JDpUO29cRmA","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Wonder (feat. Hatsune Miku) [MIKU EXPO 2024]","url":"https://soundcloud.com/oddeeoofficial/wonder-feat-hatsune-miku-miku-expo-2024","description":"Official MIKU EXPO 2024 submission track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/wonder-feat-hatsune-miku-miku-expo-2024","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pacify (nostraightanswer - ODDEEO Remix)","url":"https://soundcloud.com/oddeeoofficial/nostraightanswer-pacify-oddeeo-remix","description":"High-energy electronic remix of nostraightanswer.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/nostraightanswer-pacify-oddeeo-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"[HOME]","url":"https://soundcloud.com/oddeeoofficial/home","description":"Emotive ambient electronic soundscape.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/home","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pavlo's Cues [ft. Megpoid GUMI]","url":"https://soundcloud.com/oddeeoofficial/pavlos-cues-ft-megpoid-gumi","description":"Complex syncopated rhythms with Megpoid GUMI vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/pavlos-cues-ft-megpoid-gumi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":">This_feeling_is_a_cliché...","url":"https://soundcloud.com/oddeeoofficial/this_feeling_is_a_cliche","description":"Experimental glitch pop and expressive synthesis.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/this_feeling_is_a_cliche","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"[SELF]","url":"https://soundcloud.com/oddeeoofficial/self","description":"Moody, evolving electronic instrumental.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/self","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Utopia [feat. Hatsune Miku]","url":"https://soundcloud.com/oddeeoofficial/utopia-feat-hatsune-miku-mikuexpo-contest-submission","description":"Dynamic MikuExpo contest entry track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/utopia-feat-hatsune-miku-mikuexpo-contest-submission","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"plexi":{"name":"Plexi","title":"Plexi","slug":"plexi","category":"Collections","type":"collection","is_collection":true,"creator":"Plexi","label":null,"studio":null,"year":null,"rating":null,"description":"Futuristic edits, anime vocal reworks, and electronic beats by Plexi.","long_description_html":"","url":"https://soundcloud.com/plexi-two","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Electronic","Anime Edits","SoundCloud"],"items":[{"title":"Your Love","url":"https://soundcloud.com/plexi-two/your-love","description":"Upbeat dance edit with sparkling synths.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/plexi-two/your-love","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Let Me Be With You (Plexi Edit)","url":"https://soundcloud.com/plexitofer/let-me-be-with-you-plexi-edit","description":"Chobits opening theme flipped into a bouncy club edit.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/plexitofer/let-me-be-with-you-plexi-edit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"porter_robinson":{"name":"Porter Robinson","title":"Porter Robinson","slug":"porter_robinson","category":"Collections","type":"collection","is_collection":true,"creator":"Porter Robinson","label":null,"studio":null,"year":null,"rating":null,"description":"Visionary electronic, synth-pop, and emotive dance tracks spanning the Worlds and Nurture eras by Porter Robinson.","long_description_html":"","url":"https://soundcloud.com/porter-robinson","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electronic","Synth-Pop","Worlds","Nurture","S
749oundCloud"],"items":[{"title":"Sad Machine","url":"https://soundcloud.com/porter-robinson/sad-machine","description":"Iconic Worlds duet between Vocaloid AVANNA and Porter Robinson.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/sad-machine","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Get Your Wish","url":"https://soundcloud.com/porter-robinson/get-your-wish","description":"Lead single from Nurture with uplifting piano and pitch-shifted vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/get-your-wish","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Something Comforting","url":"https://soundcloud.com/porter-robinson/something-comforting","description":"Heartfelt electronic indie-pop anthemic track from Nurture.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/something-comforting","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Get Your Wish (Anamanaguchi Remix)","url":"https://soundcloud.com/porter-robinson/get-your-wish-anamanaguchi","description":"Hyperactive chiptune rock remix by Anamanaguchi.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/get-your-wish-anamanaguchi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Flicker","url":"https://soundcloud.com/porter-robinson/flicker","description":"Disco-influenced Worlds anthem built around hip-hop breakbeats.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/flicker","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lionhearted (feat. Urban Cone)","url":"https://soundcloud.com/porter-robinson/lionhearted-feat-urban-cone","description":"Driving indie-electro track featuring Swedish indie band Urban Cone.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/lionhearted-feat-urban-cone","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Polygon Dust (feat. Charli XCX)","url":"https://soundcloud.com/porter-robinson/polygon-dust","description":"Melodic chiptune synth-pop cut from Worlds.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/polygon-dust","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Years of War (feat. Breanne Düren & Sean Caskey)","url":"https://soundcloud.com/porter-robinson/years-of-war","description":"Soaring, emotional 80s synth-pop vocal collaboration.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/years-of-war","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fresh Static Snow","url":"https://soundcloud.com/porter-robinson/fresh-static-snow","description":"Aggressive distorted synthesizer bass drops paired with emotional melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/fresh-static-snow","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"punipunidenki":{"name":"Punipunidenki","title":"Punipunidenki (ã·ã«ã·ã«é»æ©)","slug":"punipunidenki","category":"Collections","type":"collection","is_collection":true,"creator":"punipunidenki","label":null,"studio":null,"year":null,"rating":null,"description":"Enchanting neo-city pop, jazz fusion, and Jap
749anese electronic soul compositions by singer-songwriter & producer Punipunidenki.","long_description_html":"","url":"https://soundcloud.com/puniden","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Neo Soul","Jazz Fusion","J-Pop","SoundCloud"],"items":[{"title":"Wonder Underground (EP Crossfade)","url":"https://soundcloud.com/puniden/wonderunderxfd","description":"Crossfade preview of the landmark Wonder Underground EP.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/wonderunderxfd","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Life is SUPER DOPE","url":"https://soundcloud.com/puniden/life-is-super-dope","description":"Funky indie pop single with soulful vocal hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/life-is-super-dope","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Imaginary boi (w/ Mikazuki BIGWAVE)","url":"https://soundcloud.com/puniden/imaginaryboi_sample","description":"Collaborative Future Funk single with producer Mikazuki BIGWAVE.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/imaginaryboi_sample","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Drop","url":"https://soundcloud.com/puniden/a-drop","description":"Atmospheric electronic soul and minimal percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/a-drop","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"INterNe... (ã¤ã³ã¿ã¼ãã)","url":"https://soundcloud.com/puniden/interne","description":"Intimate cyber-nostalgic vocal cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/interne","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Miracle! (w/ ããã kotu)","url":"https://soundcloud.com/kotu/miracle","description":"Bright, energetic electronic pop collaboration with kotu.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kotu/miracle","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"shawn_wasabi":{"name":"Shawn Wasabi","title":"Shawn Wasabi","slug":"shawn_wasabi","category":"Collections","type":"collection","is_collection":true,"creator":"Shawn Wasabi","label":null,"studio":null,"year":null,"rating":null,"description":"Bubbly MIDI Fighter controllerism, bright bubblegum bass, and catchy pop productions by Shawn Wasabi.","long_description_html":"","url":"https://soundcloud.com/sssshawnnnn","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Midi Fighter","Bubblegum Bass","Pop","Electronic","SoundCloud"],"items":[{"title":"Marble Tea","url":"https://soundcloud.com/sssshawnnnn/marble-tea","description":"Complex Midi Fighter finger-drumming composition and upbeat synth melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/marble-tea","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Snack That Smiles Back (feat. Raychel Jay)","url":"https://soundcloud.com/sssshawnnnn/snack-feat-raychel-jay","description":"Playful and bouncy pop single with singer Raychel Jay.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/snack-feat-raychel-jay","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HALO HALO (feat. Chevy)","url":"https://soundcloud.com/sssshawnnnn/halo-halo-feat-chevy","de
749scription":"Sweet ukulele and pop collaboration celebrating the Filipino dessert.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/halo-halo-feat-chevy","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"MANGO LOVE (feat. Satica)","url":"https://soundcloud.com/sssshawnnnn/mango-love-feat-satica","description":"Tropical electronic pop groove featuring Satica.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/mango-love-feat-satica","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"MEDICINE (feat. Tia Scola)","url":"https://soundcloud.com/sssshawnnnn/medicine-feat-tia-scola","description":"Catchy electronic RnB and pop hybrid with Tia Scola.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/medicine-feat-tia-scola","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Princess Peach","url":"https://soundcloud.com/sssshawnnnn/princess-peach-2","description":"Chiptune-infused Midi Fighter live mashup tribute.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/princess-peach-2","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"ANIMAL CROSSING","url":"https://soundcloud.com/sssshawnnnn/animal-crossing-1","description":"Cozy, wholesome Nintendo-inspired sample track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/animal-crossing-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"LEMONS (feat. Kennedi)","url":"https://soundcloud.com/sssshawnnnn/lemons-feat-kennedi","description":"Citrusy, infectious summer pop single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/lemons-feat-kennedi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"snowshoo":{"name":"Snowshoo","title":"Snowshoo","slug":"snowshoo","category":"Collections","type":"collection","is_collection":true,"creator":"snowshoo","label":null,"studio":null,"year":null,"rating":null,"description":"Lush future beats, warm synthesizer chords, and chill electronic grooves by snowshoo.","long_description_html":"","url":"https://soundcloud.com/snowshoo","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Beats","Chill","Electronic","SoundCloud"],"items":[{"title":"My Love","url":"https://soundcloud.com/snowshoo/my-love","description":"Warm, melodic future beats track with vocal chops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/snowshoo/my-love","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Touch","url":"https://soundcloud.com/snowshoo/touch","de
749scription":"Silky smooth synth progressions and relaxed groove.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/snowshoo/touch","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"supercar":{"name":"Supercar","title":"Supercar (ã¹ã¼ãã¼ã«ã¼)","slug":"supercar","category":"Collections","type":"collection","is_collection":true,"creator":"Supercar","label":null,"studio":null,"year":null,"rating":null,"description":"Iconic Japanese indie rock, shoegaze, and electronic dance rock quartet known for defining the 90s/00s Japanese alternative sound.","long_description_html":"","url":"https://soundcloud.com/supercarofficial","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Rock","Shoegaze","Indie Rock","Electronic Rock","SoundCloud"],"items":[{"title":"Rollin' Rollin'","url":"https://soundcloud.com/supercarofficial/rollin-rollin-1","description":"Hypnotic electronic shoegaze groove from their experimental era.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/rollin-rollin-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Last Scene","url":"https://soundcloud.com/supercarofficial/last-scene-1","description":"Melancholic alternative rock anthem with shimmering guitars.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/last-scene-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Soratobi (空é£ã¶)","url":"https://soundcloud.com/nicholasmuldoon/supercar-soratobi","description":"Classic guitar rock track full of youthful noise pop energy.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/nicholasmuldoon/supercar-soratobi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HELP","url":"https://soundcloud.com/supercarofficial/help","description":"Driving indie rock cut with fuzzy distortion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/help","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"RECREATION","url":"https://soundcloud.com/supercarofficial/recreation","description":"Upbeat blend of electronic drum programming and indie guitar riffs.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/recreation","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HARMONY","url":"https://soundcloud.com/supercarofficial/harmony","description":"Dreamy atmospheric rock cut showcasing their electronic evolution.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/harmony","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"team_reptile":{"name":"Team Reptile","title":"Team Reptile","slug":"team_reptile","category":"Collections","type":"collection","is_collection":true,"creator":"Team Reptile","label":null,"studio":"Team Reptile","year":null,"rating":null,"description":"High-energy fighting games and funk-infused soundtracks developed by indie studio Team Reptile.","long_description_html":"","url":"https://team-reptile.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Games","Cyberfunk","Breakbeat","Steam"],"items":[{"title":"Lethal League Blaze","url":"https://store.steampowered.com/app/553310/Lethal_League_Blaze/","description":"High-speed projectile fighting game with beat-matching mechanics.","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":"553310","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"steam-symbol.svg"},{"title":"Lethal League Blaze OST","url":"https://www.youtube.com/watch?v=GT_DW35F-vw&list=PL5ZYa6WKvySBCqnkvR7y3pLpS2LbnUNja","de
749scription":"Full Original Soundtrack for Lethal League Blaze featuring Hideki Naganuma, Frankkle, and more.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"GT_DW35F-vw","youtube_playlist_id":"PL5ZYa6WKvySBCqnkvR7y3pLpS2LbnUNja","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Bomb Rush Cyberfunk","url":"https://store.steampowered.com/app/1353230/Bomb_Rush_Cyberfunk/","description":"Cel-shaded graffiti action game inspired by Jet Set Radio.","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":"1353230","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"steam-symbol.svg"},{"title":"Bomb Rush Cyberfunk OST","url":"https://www.youtube.com/watch?v=5t4KSZw_ekA&list=PLD6ujQ0tHAv2qLS5FKH6B8MjtfEg1kwsn","description":"Full Original Soundtrack for Bomb Rush Cyberfunk.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"5t4KSZw_ekA","youtube_playlist_id":"PLD6ujQ0tHAv2qLS5FKH6B8MjtfEg1kwsn","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"teddyloid":{"name":"TeddyLoid","title":"TeddyLoid","slug":"teddyloid","category":"Collections","type":"collection","is_collection":true,"creator":"TeddyLoid","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese electronic music producer and DJ renowned for high-energy electro house, anime OSTs (Panty & Stocking, ME!ME!ME!), and bass music.","long_description_html":"","url":"https://www.teddyloid.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electro House","Anime OST","Bass Music","YouTube","SoundCloud"],"items":[{"title":"Angels and Demons","url":"https://www.youtube.com/watch?v=bBXDP2ZNq3Y","description":"Heavy electronic dance anthem with dark synth progression.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"bBXDP2ZNq3Y","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Fly Away (Fusq Remix)","url":"https://youtu.be/57I3maUeP3c","description":"Panty & Stocking battle track remixed with bright Future Bass synths by Fusq.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"57I3maUeP3c","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"tokyopill":{"name":"Tokyopill","title":"Tokyopill","slug":"tokyopill","category":"Collections","type":"collection","is_collection":true,"creator":"Tokyopill","label":null,"studio":null,"year":null,"rating":null,"description":"Breakcore, cyber-aesthetic drum and bass, and Serial Experiments Lain inspired electronic soundscapes by Tokyopill.","long_description_html":"","url":"https://soundcloud.com/tokyopill","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Drum & Bass","Cyberpunk","SoundCloud"],"items":[{"title":"Ethereal","url":"https://soundcloud.com/tokyopill/ethereal","description":"Atmospheric breakcore track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/ethereal","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lets all love lain","url":"https://soundcloud.com/tokyopill/e-x-t-e-n-d-e-d","description":"Extended ambient breakcore tribute.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/e-x-t-e-n-d-e-d","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Club Cyberia","url":"https://soundcloud.com/tokyopill/club-cyberia","description":"Cyberpunk rave beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/club-cyberia","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Virtual Tears","url":"https://soundcloud.com/tokyopill/virtual-tears","description":"Melanch
749olic synth breakcore track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/virtual-tears","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Cyber Psyche Green","url":"https://soundcloud.com/tokyopill/psyche","description":"Fast-paced breakbeat single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/psyche","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"S u r r e a l i t y 1","url":"https://soundcloud.com/tokyopill/s-u-r-r-e-a-l-i-t-y-1","description":"Surreal glitch beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/s-u-r-r-e-a-l-i-t-y-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Unlike Me Remix","url":"https://soundcloud.com/tokyopill/unlike-me-remix","description":"Hard-hitting breakcore remix.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/unlike-me-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyofruit","url":"https://soundcloud.com/tokyopill/tokyofruit","description":"Upbeat electronic breakbeat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/tokyofruit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"hotline_miami":{"name":"Hotline Miami 1 & 2","title":"Hotline Miami 1 & 2","slug":"hotline_miami","category":"Games","type":"standard","is_collection":false,"creator":"Dennaton Games","label":null,"studio":"Devolver Digital","year":"2012 / 2015","rating":"Overwhelmingly Positive","description":"High-octane neon-soaked top-down action games featuring brutal fast-paced combat, surreal storytelling, and legendary synthwave soundtracks.","long_description_html":"<p>Created by Jonatan Söderström and Dennis Wedin (Dennaton Games), Hotline Miami and Hotline Miami 2: Wrong Number are genre-defining top-down action games set in a surreal 1980s Miami. Demanding frame-perfect execution, lethal gunplay, and animal masks with unique abilities, the games are propelled by an iconic synthwave soundtrack featuring Jasper Byrne, Perturbator, M|O|O|N, Scattle, and Carpenter Brut.</p>\n","url":"https://store.steampowered.com/app/219150/Hotline_Miami/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"219150","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Top-Down Shooter","Synthwave","Brutal","Retro","Action"],"items":[]},"noita":{"name":"Noita","title":"Noita","slug":"noita","category":"Games","type":"standard","is_collection":false,"creator":"Nolla Games","label":null,"studio":"Nolla Games","year":"2020","rating":"Overwhelmingly Positive","description":"Magical action roguelite set in a world where every single pixel is physically simulatedâburn, melt, freeze, explosion, and wand crafting chaos.","long_description_html":"<p>Developed by Finnish studio Nolla Games (creators of Crayon Physics Deluxe, Swapper, and Baba Is You), Noita is a magical action roguelite set in a world where every single pixel is physically simulated. Players customize and craft infinite combinations of spell wands as they melt ice, ignite oil reserves, vaporize toxic sludge, and cause catastrophic chain reactions in procedural underground dungeons.</p>\n","url":"https://store.steampowered.com/app/881100/Noita/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"881100","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Pixel Physics","Roguelite","Wand Crafting","Simulation","Indie"],"items":[]}
749,"ultrakill":{"name":"ULTRAKILL","title":"ULTRAKILL","slug":"ultrakill","category":"Games","type":"standard","is_collection":false,"creator":"Arsi 'Hakita' Patala","label":null,"studio":"New Blood Interactive","year":"2020","rating":"Overwhelmingly Positive","description":"Fast-paced ultraviolent retro FPS combining classic arena shooters with stylish combo mechanics where MANKIND IS DEAD. BLOOD IS FUEL. HELL IS FULL.","long_description_html":"<p>ULTRAKILL is a high-speed ultraviolent retro FPS developed by Arsi 'Hakita' Patala and published by New Blood Interactive. Combining movement mechanics reminiscent of Quake, weapon switching tricks, projectile boosting, and Devil May Cry-style combo ranking systems, players control V1âa machine fueled by fresh bloodâas they plummet through the layers of Dante's Inferno.</p>\n","url":"https://store.steampowered.com/app/1229490/ULTRAKILL/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"1229490","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Fast-Paced FPS","Movement Shooter","Retro","Stylish","Action"],"items":[]},"moe_shop_owarini_tokyo_liveshow":{"name":"Moe Shop - Owarini Tokyo Liveshow","title":"Moe Shop - Owarini Tokyo Liveshow","slug":"moe_shop_owarini_tokyo_liveshow","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Moe Shop","label":"Future Society","studio":null,"year":"2017","rating":null,"description":"High-energy live DJ mixtape recorded at Owarini in Tokyo featuring signature French Touch beats and upbeat anime sample chops.","long_description_html":"","url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Live Set","Future Society","SoundCloud"],"items":[]},"moe_shop_waifu_material_mixtape":{"name":"Moe Shop - Waifu Material Mixtape","title":"Moe Shop - Waifu Material Mixtape","slug":"moe_shop_waifu_material_mixtape","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Moe Shop","label":"Future Society","studio":null,"year":"2016","rating":null,"description":"Landmark Future Funk, French Touch, and Nu-Disco mixtape by Moe Shop packed with nostalgic dance floor anthems.","long_description_html":"","url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Nu-Disco","Future Society","SoundCloud"],"items":[]},"night_tempo_nighty_tape":{"name":"Night Tempo - Nighty Tape","title":"Night Tempo - Nighty Tape","slug":"night_tempo_nighty_tape","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Night Tempo","label":"Neoncity Records","studio":null,"year":"2017","rating":null,"description":"Essential 80s City Pop flipped into upbeat Future Funk grooves and cassette tape beats by Night Tempo.","long_description_html":"","url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","bandcamp_album_id":"1324499771","bandcamp_track_id":null,"tags":["Future Funk","City Pop","Vaporwave","Neoncity Records","Bandcamp"],"items":[]},"scr_guest_neon_city_records":{"name":"SCR Guest - Neon City Records (April 10, 2018)","title":"SCR Guest: Neon City Records w/ Night Tempo, Daviouxx, Aritus, Desired (April 10, 2018)","slug":"scr_guest_neon_city_records","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Seoul Community Radio","label":"Neoncity Records","studio":null,"year":"2018","rating":null,"description":"Live Future Funk guest mix by Aritus and Daviouxx featuring Night Tempo and Desired from the Neoncity Records showcase at Seoul Community Radio.","long_description_html":"","url":"https://soundcloud.com/seoulcommunityradio/scr-guest-neon-city-records-w-night-tempo-daviouxx-aritus-desired-april-10-2018","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/seoulcommunityradio/scr-guest-neon-city-records-w-night-tempo-daviouxx-aritus-desired-april-10-2018","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","City Pop","Neoncity Records","Seoul Community Radio","SoundCloud"],"items":[]},"session_9":{"name":"Session 9","title":"Session 9","slug":"session_9","category":"Movies","type":"standard","is_collection":false,"creator":"Brad Anderson","label":null,"studio":null,"year":"2001","rating":"6.4/10 IMDb","description":"Psychological horror film set in the abandoned Danvers State Mental Hospital, where an asbestos cleanup crew slowly unravels under terrifying atmospheric dread.","long_description_html":"<p>Directed by Brad Anderson and starring Peter Mullan, David Caruso, and Josh Lucas, Session 9 is a masterclass in low-budget psych
749ological dread. Filmed on location at the real, abandoned Danvers State Hospital in Massachusetts, the film follows a desperate hazardous materials abatement crew as they discover nine audio tape sessions recording the treatment of a patient with multiple personality disorder.</p>\n","url":"https://www.imdb.com/title/tt0261983/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt0261983","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Horror","Psychological Thriller","Mystery","Cult Classic"],"items":[]},"smile_now_cry_later":{"name":"Smile Now Cry Later","title":"Smile Now Cry Later","slug":"smile_now_cry_later","category":"Movies","type":"standard","is_collection":false,"creator":"Spoken Reason","label":null,"studio":null,"year":"2011","rating":"Indie Feature","description":"Dramatic indie film exploring street life, mask of toughness, personal struggles, and raw emotional vulnerability.","long_description_html":"<p>Smile Now Cry Later captures the raw emotion and dualities of urban life. Taking its title from classic theater masks and tattoo art, the film explores how individuals present a brave smile to the world while dealing with quiet heartbreak, survival, and inner drama behind closed doors.</p>\n","url":"https://www.imdb.com/title/tt1380811/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt1380811","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Drama","Indie Film","Urban Life","Independent"],"items":[]},"arlo_parks_portra_400":{"name":"Arlo Parks - Portra 400","title":"Arlo Parks - Portra 400","slug":"arlo_parks_portra_400","category":"Music","type":"standard","is_collection":false,"creator":"Arlo Parks","label":null,"studio":null,"year":"2021","rating":null,"description":"Warm, nostalgic neo-soul and bedroom pop groove with lush jazz chords, analogue warmth, and poetic lyrics.","long_description_html":"","url":"https://www.youtube.com/watch?v=nAVqjnxg89w","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"nAVqjnxg89w","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Neo Soul","Indie Pop","Bedroom Pop","Arlo Parks","YouTube"],"items":[]},"blackballoons_final_fantasy":{"name":"black balloons - FINAL FANTASY","title":"black balloons - FINAL FANTASY","slug":"blackballoons_final_fantasy","category":"Music","type":"standard","is_collection":false,"creator":"black balloons","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric electronic beats and melancholic sample chops.","long_description_html":"","url":"https://soundcloud.com/blackballoonss/final-fantasy","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/blackballoonss/final-fantasy","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electronic","Lo-Fi","Sampled","SoundCloud"],"items":[]},"brain_rot":{"name":"Brain Rot","title":"Brain Rot","slug":"brain_rot","category":"Music","type":"standard","is_collection":false,"creator":"Tokyo Manaka feat. 1","label":null,"studio":null,"year":null,"rating":null,"description":"Fast-paced synth breakcore track on SoundCloud.","long_description_html":"","url":"https://soundcloud.com/boss-54604603/brain-rot-tokyo-manaka-feat-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/boss-54604603/brain-rot-tokyo-manaka-feat-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Electronic"],"items":[]},"creepynuts_losstime":{"name":"Creepy Nuts - Losstime","title":"Creepy Nuts - Losstime (ãã¹ã¿ã¤ã )","slug":"creepynuts_losstime","category":"Music","type":"standard","is_collection":false,"creator":"Creepy Nuts (R-Shitei & DJ Matsunaga)","label":null,"studio":null,"year":"2022","rating":null,"description":"Introspective Japanese hi
749p-hop cut featuring world champion turntable scratching by DJ Matsunaga and lyrical flow by R-Shitei (Call of the Night insert song).","long_description_html":"","url":"https://soundcloud.com/creepynuts/losstime","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/creepynuts/losstime","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Hip-Hop","Call of the Night","Turntablism","SoundCloud"],"items":[]},"dj_kuroneko_around_u":{"name":"Around U","title":"Around U","slug":"dj_kuroneko_around_u","category":"Music","type":"standard","is_collection":false,"creator":"DJ kuroneko","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric jungle / drum and bass track.","long_description_html":"","url":"https://soundcloud.com/dissolve4/around-u-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/dissolve4/around-u-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Jungle","Drum & Bass"],"items":[]},"ev_exi_you_cant_run":{"name":"ev.exi - You Can't Run (ft. Lavera)","title":"ev.exi - You Can't Run (ft. Lavera)","slug":"ev_exi_you_cant_run","category":"Music","type":"standard","is_collection":false,"creator":"ev.exi","label":null,"studio":null,"year":null,"rating":null,"description":"Funky French House and Future Funk track packed with heavy slapping bass and soulful vocals.","long_description_html":"","url":"https://soundcloud.com/ev-exi/you-cant-run","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ev-exi/you-cant-run","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French House","Nu-Disco","SoundCloud"],"items":[]},"fusq_yeah":{"name":"fusq - Yeah!","title":"fusq - Yeah!","slug":"fusq_yeah","category":"Music","type":"standard","is_collection":false,"creator":"fusq","label":null,"studio":null,"year":null,"rating":null,"description":"Hyper-bouncy future bass and chiptune electro dance track with playful vocal samples.","long_description_html":"","url":"https://soundcloud.com/fusq/yeah","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/fusq/yeah","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Bass","Chiptune","Electro","SoundCloud"],"items":[]},"gorillaz_humility":{"name":"Gorillaz - Humility","title":"Gorillaz - Humility (feat. George Benson)","slug":"gorillaz_humility","category":"Music","type":"standard","is_collection":false,"creator":"Gorillaz","label":null,"studio":null,"year":"2018","rating":null,"description":"Sun-drenched funk-pop single featuring jazz guitar virtuoso George Benson from The Now Now.","long_description_html":"","url":"https://www.youtube.com/watch?v=E5yFcdPAGv0","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"E5yFcdPAGv0","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Pop","Funk","Gorillaz","Music Video"],"items":[]},"hideki_naganuma_aint_nothin_like_a_funky_beat":{"name":"Hideki Naganuma - AINT NOTHIN LIKE A FUNKY BEAT","title":"Hideki Naganuma - AINT NOTHIN LIKE A FUNKY BEAT","slug":"hideki_naganuma_aint_nothin_like_a_funky_beat","category":"Music","type":"standard","is_collection":false,"creator":"Hideki Naganuma","label":null,"studio":"Team Reptile","year":null,"rating":null,"description":"Wild breakbeat cyberfunk anthem composed by Hideki Naganuma for Lethal League Blaze.","long_description_html":"","url":"https://soundcloud.com/immajustuploadthisokay/hideki-naganuma-aint-nothin-like-a-funky-beat","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/immajustuploadthisokay/hideki-naganuma-aint-nothin-like-a-funky-beat","y
749outube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakbeat","Cyberfunk","Hideki Naganuma","Lethal League Blaze"],"items":[]},"hkmori_lost":{"name":"Lost","title":"Lost","slug":"hkmori_lost","category":"Music","type":"standard","is_collection":false,"creator":"hkmori","label":null,"studio":null,"year":null,"rating":null,"description":"Melancholic atmospheric electronic breakcore track by hkmori.","long_description_html":"","url":"https://soundcloud.com/hkmori/lost","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/hkmori/lost","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Electronic"],"items":[]},"joey_valence_and_brae_punk_tactics":{"name":"PUNK TACTICS","title":"PUNK TACTICS","slug":"joey_valence_and_brae_punk_tactics","category":"Music","type":"standard","is_collection":false,"creator":"Joey Valence & Brae","label":null,"studio":null,"year":"2022","rating":null,"description":"Explosive 90s Beastie Boys-inspired boom bap and hip-hop punk anthem.","long_description_html":"","url":"https://soundcloud.com/joeyvalenceandbrae/punk-tactics","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/joeyvalenceandbrae/punk-tactics","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hip-Hop","Punk Rap","Boom Bap","90s Revival"],"items":[]},"kero_kero_bonito_flyway":{"name":"Kero Kero Bonito - Flyway","title":"Kero Kero Bonito - Flyway","slug":"kero_kero_bonito_flyway","category":"Music","type":"standard","is_collection":false,"creator":"Kero Kero Bonito","label":null,"studio":null,"year":"2018","rating":null,"description":"Dynamic indie rock and dream-pop single from Time 'n' Place with soaring distorted guitars and introspective bilingual vocals.","long_description_html":"","url":"https://www.youtube.com/watch?v=dSuINZdJBk8","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"dSuINZdJBk8","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Rock","Dream Pop","Kero Kero Bonito","J-Rock","YouTube"],"items":[]},"keygen_church_la_chiave_del_mio_amor":{"name":"Keygen Church - La Chiave Del Mio Amor","title":"Keygen Church - La Chiave Del Mio Amor","slug":"keygen_church_la_chiave_del_mio_amor","category":"Music","type":"standard","is_collection":false,"creator":"Keygen Church (Master Boot Record)","label":"Metal Blade Records","studio":null,"year":"2024","rating":null,"description":"Majestic pipe organ baroque counterpoint fused with heavy 8-string synth metal and chiptune arpeggios.","long_description_html":"","url":"https://soundcloud.com/metalbladerecords/keygen-church-la-chiave-del-mio-amor","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/metalbladerecords/keygen-church-la-chiave-del-mio-amor","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Baroque Metal","Pipe Organ","Chiptune","Synth Metal"],"items":[]},"kiss_me_nerdy_girl_lost_summer_2020":{"name":"kissmenerdygirl - Lost Summer 2020","title":"kissmenerdygirl - Lost Summer 2020","slug":"kiss_me_nerdy_girl_lost_summer_2020","category":"Music","type":"standard","is_collection":false,"creator":"kissmenerdygirl","label":null,"studio":null,"year":"2020","rating":null,"description":"Nostalgic lo-fi future funk and summer chillwave beat tape cut.","long_description_html":"","url":"https://soundcloud.com/kissmenerdygirl/lost-summer-2020","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kissmenerdygirl/lost-summer-2020","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Chillwave","Lo-Fi","SoundCloud"],"items":[]},"kiyosumi_whenever":{"name":"kiyosumi - whenever","title":"kiyosumi - whenever","slug":"kiyosumi_whenever","category":"Music","type":"standard","is_collection":false,"creator":"kiyosumi","label":null,"studio":null,"year":null,"rating":null,"description":"Melodic chillwave and emotive electronic beat with lush chords.","long_description_html":"","url":"https://soundcloud.com/kiyosumi76/whenever","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kiyosumi76/whenever","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chillwave","Electronic","Beats","SoundCloud"],"items":[]},"lomaji_rr":{"name":"LOMAJI - RR","title":"LOMAJI - RR","slug":"lomaji_rr","category":"Music","type":"standard","is_collection":false,"creator":"LOMAJI","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric ambient electronic breakbeat and ethereal synth textures.","long_description_html":"","url":"https://soundcloud.com/vaguefi/rr-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vaguefi/rr-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Ambient","Breakbeat","Electronic","SoundCloud"],"items":[]},"magic_sword_legend_of_the_keeper":{"name":"Magic Sword - Legend Of The Keeper","title":"Magic Sword - Legend Of The Keeper","slug":"magic_sword_legend_of_the_keeper","category":"Music","type":"standard","is_collection":false,"creator":"Magic Sword","label":null,"studio":null,"year":"2015","rating":null,"description":"Epic synthwave and retro electro rock with roaring lead guitars (featured in Hotline Miami 2).","long_description_html":"","url":"https://soundcloud.com/magic-sword/legend-of-the-keeper","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/magic-sword/legend-of-the-keeper","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Synthwave","Darksynth","Electronic Rock","SoundCloud"],"items":[]},"mikazuki_bigwave_stardust_disco":{"name":"Mikazuki BIGWAVE - Stardust Disco","title":"Mikazuki BIGWAVE - Stardust Disco (æå±ãã£ã¹ã³)","slug":"mikazuki_bigwave_stardust_disco","category":"Music","type":"standard","is_collection":false,"creator":"Mikazuki BIGWAVE","label":"Sleepless Tapes","studio":null,"year":null,"rating":null,"description":"Sparkling Kawaii Future Funk and French House dance floor burner.","long_description_html":"","url":"https://soundcloud.com/sleeplesstapes/stardust-disco","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sleeplesstapes/stardust-disco","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Kawaii Bass","French House","SoundCloud"],"items":[]},"ninajirachi_wannacry":{"name":"WannaCry","title":"WannaCry","slug":"ninajirachi_wannacry","category":"Music","type":"standard","is_collection":false,"creator":"Ninajirachi","label":null,"studio":null,"year":null,"rating":null,"description":"Forward-thinking hyperpop and intricate club sound design by Australian electronic producer Ninajirachi.","long_description_html":"","url":"https://soundcloud.com/ninajirachi/wannacry","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ninajirachi/wannacry","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hyperpop","Club","
749Electronic","SoundCloud"],"items":[]},"number_girl_teppuu_surudoku_natte":{"name":"Number Girl - Teppuu Surudoku Natte","title":"Number Girl - Teppuu Surudoku Natte (é風 éããªã£ã¦)","slug":"number_girl_teppuu_surudoku_natte","category":"Music","type":"standard","is_collection":false,"creator":"Number Girl","label":null,"studio":null,"year":"2000","rating":null,"description":"Legendary Japanese noise rock and math punk anthem featuring ferocious angular guitar riffs and frantic vocals by Shutoku Mukai.","long_description_html":"","url":"https://soundcloud.com/numbergirl-music/teppuu-surudoku-natte","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/numbergirl-music/teppuu-surudoku-natte","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Noise Rock","Math Rock","Post-Hardcore","Alternative"],"items":[]},"otsukare_summer":{"name":"Otsukare Summer","title":"Otsukare Summer","slug":"otsukare_summer","category":"Music","type":"standard","is_collection":false,"creator":"HALCALI","label":null,"studio":null,"year":null,"rating":null,"description":"Catchy Japanese hip-hop/pop summer track by duo HALCALI.","long_description_html":"","url":"https://soundcloud.com/damian2811/halcali-otsukare-summer","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/damian2811/halcali-otsukare-summer","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["J-Pop","Hip-Hop","Summer"],"items":[]},"rose_after_hours":{"name":"rose - after hours (w/ hentai dude)","title":"rose - after hours (w/ hentai dude)","slug":"rose_after_hours","category":"Music","type":"standard","is_collection":false,"creator":"rose & hentai dude","label":null,"studio":null,"year":null,"rating":null,"description":"Late night chillwave and electronic RnB collaboration.","long_description_html":"","url":"https://soundcloud.com/unerose/after-hours","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/unerose/after-hours","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chillwave","Electronic","Future Beats","SoundCloud"],"items":[]},"so87_ride":{"name":"SO87 - Ride (w/ Jamie Paige)","title":"SO87 - Ride (w/ Jamie Paige)","slug":"so87_ride","category":"Music","type":"standard","is_collection":false,"creator":"SO87 & Jamie Paige","label":null,"studio":null,"year":null,"rating":null,"description":"Glitchy electronic vocal track with dynamic future garage beats.","long_description_html":"","url":"https://soundcloud.com/so87/ride-w-jamie-paige","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/so87/ride-w-jamie-paige","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Garage","Electronic","Glitch","SoundCloud"],"items":[]},"syojo_satori_chain_of_love":{"name":"Syojo Satori - Chain of Love","title":"Syojo Satori - Chain of Love (æã®é)","slug":"syojo_satori_chain_of_love","category":"Music","type":"standard","is_collection":false,"creator":"Syojo Satori","label":null,"studio":null,"year":null,"rating":null,"description":"Catchy Future Funk and retro anime disco groove.","long_description_html":"","url":"https://soundcloud.com/syojosatori/chain-of-love","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/syojosatori/chain-of-love","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Nu-Disco","Anime Groove","SoundCloud"],"items":[]},"takako_mamiya_love_trip":{"name":"Takako Mamiya - Love Trip","title":"Takako Mamiya - Love Trip (é宮貴å - LOVE TRIP)","slug":"takako_mamiya_love_trip","category":"Music","type":"standard","is_collection":false,"creator":"Takako Mamiya","label":null,"studio":null,"year":"1982","rating":null,"description":"Seminal Japanese City Pop masterpiece with flawless jazz-fusion arrangements, silky basslines, and brass sections.","long_description_html":"","url":"https://www.youtube.com/watch?v=M0HmUICJRZc","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"M0HmUICJRZc","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Jazz Funk","80s J-Pop","Takako Mamiya","YouTube"],"items":[]},"tokimeki_records_orange_sea":{"name":"Orange Sea","title":"Orange Sea (prod. Tokimeki Records)","slug":"tokimeki_records_orange_sea","category":"Music","type":"standard","is_collection":false,"creator":"Tokimeki Records","label":null,"studio":null,"year":null,"rating":null,"description":"Modern Japanese city pop groove featuring retro synthesizers, silky brass, and nostalgic melodies.","long_description_html":"","url":"https://soundcloud.com/user-769779415/5b71e105-f58b-4c68-a7ae-1a9316b84658","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-769779415/5b71e105-f58b-4c68-a7ae-1a9316b84658","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Neo City Pop","Japanese Groove","SoundCloud"],"items":[]},"vylet_pony_ni4ni":{"name":"NI4NI","title":"NI4NI","slug":"vylet_pony_ni4ni","category":"Music","type":"standard","is_collection":false,"creator":"Vylet Pony","label":null,"studio":null,"year":null,"rating":null,"description":"Expansive electronic art pop and emotional hyperpop journey by producer and vocalist Vylet Pony.","long_description_html":"","url":"https://soundcloud.com/vyletpony/ni4ni-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vyletpony/ni4ni-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Art Pop","Hyperpop","Electronic","SoundCloud"],"items":[]},"air_gear_ost":{"name":"Air Gear OST","title":"Air Gear OST","slug":"air_gear_ost","category":"OST","type":"standard","is_collection":false,"creator":"Hideki Naganuma","label":null,"studio":null,"year":null,"rating":null,"description":"High-octane funk and breakbeat anime original soundtrack composed by Hideki Naganuma.","long_description_html":"","url":"https://www.youtube.com/watch?v=D1qAA9BjMjc","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"D1qAA9BjMjc","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Breakbeat","Funk"],"items":[]},"aivi_surasshu_ost":{"name":"aivi & surasshu","title":"aivi & surasshu","slug":"aivi_surasshu_ost","category":"OST","type":"collection","is_collection":true,"creator":"aivi & surasshu","label":null,"studio":null,"year":null,"rating":null,"description":"Charming piano and chiptune duo famous for the Steven Universe score, FEZ arrangements, and original electronic compositions.","long_description_html":"","url":"https://aivisura.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chiptune","Piano","Steven Universe","FEZ","Bandcamp"],"items":[{"title":"The Black Box","url":"https://aivisura.bandcamp.com/album/the-black-box","de
749scription":"Full landmark album combining expressive jazz piano and Game Boy sound hardware.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://aivisura.bandcamp.com/album/the-black-box","bandcamp_album_id":"1996609636","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Come Back (FEZ Remix)","url":"https://soundcloud.com/aiviwave/aivi-surasshu-come-back","description":"Joyful and intricate remix of Disasterpeace's FEZ soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/aiviwave/aivi-surasshu-come-back","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"c418_minecraft_ost":{"name":"Minecraft - Volume Alpha","title":"Minecraft - Volume Alpha","slug":"c418_minecraft_ost","category":"OST","type":"standard","is_collection":false,"creator":"C418 (Daniel Rosenfeld)","label":null,"studio":null,"year":"2011","rating":null,"description":"Iconic, minimalist ambient and piano soundtrack composed by C418 for Minecraft, universally celebrated as a masterpiece of video game music.","long_description_html":"<p>Minecraft - Volume Alpha is Daniel Rosenfeld's timeless ambient masterpiece. Featuring delicate acoustic piano melodies, warm analogue synth pads, and subtle environmental sounds, it defined the identity and emotional depth of Minecraft for millions of players around the world.</p>\n","url":"https://c418.bandcamp.com/album/minecraft-volume-alpha","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":"https://c418.bandcamp.com/album/minecraft-volume-alpha","bandcamp_album_id":"1349219244","bandcamp_track_id":null,"tags":["Minecraft","Ambient","Piano","Video Game OST","Bandcamp"],"items":[]},"goblin_slayer_ost":{"name":"Goblin Slayer OST","title":"Goblin Slayer Original Soundtrack","slug":"goblin_slayer_ost","category":"OST","type":"collection","is_collection":true,"creator":"Kenichiro Suehiro & Mili","label":null,"studio":null,"year":null,"rating":null,"description":"Dark fantasy orchestral compositions by Kenichiro Suehiro along with iconic anime openings by classical-electronic band Mili.","long_description_html":"","url":"https://soundcloud.com/search?q=goblin%20slayer%20ost","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Dark Fantasy","Orchestral","Mili","SoundCloud"],"items":[{"title":"Rightfully (Opening Full by Mili)","url":"https://soundcloud.com/admiral_goblinslayer/goblin-slayer-op-opening-full-rightfully-mili","description":"Acclaimed baroque-pop opening theme performed by Mili.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/admiral_goblinslayer/goblin-slayer-op-opening-full-rightfully-mili","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Main Theme","url":"https://soundcloud.com/guild_girl/1-maintheme-goblin-slayer","description":"Grim, driving orchestral battle motif composed by Kenichiro Suehiro.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/1-maintheme-goblin-slayer","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Battle Theme (15)","url":"https://soundcloud.com/guild_girl/15-goblin-slayer-original","description":"Tense strings and heavy drums depicting brutal close-quarters combat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/15-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Cave Theme (16)","url":"https://soundcloud.com/guild_girl/16-goblin-slayer-original","description":"Eerie dungeon crawler ambiance.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/16-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Climax Theme (19)","url":"https://soundcloud.com/guild_girl/19-goblin-slayer-original","description":"Epic heroic orchestral climax.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/19-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"hades_ost":{"name":"Hades OST","title":"Hades OST","slug":"hades_ost","category":"OST","type":"standard","is_collection":false,"creator":"Darren Korb","label":null,"studio":"Supergiant Games","year":"2020","rating":null,"description":"Electrifying Mediterranean-infused acoustic and progressive metal soundtrack composed by Darren Korb for Supergiant Games' rogue-like masterpiece Hades.","long_description_html":"<p>Composed, produced, and performed by Darren Korb (with vocals by Ashley Barrett), the Hades Original Soundtrack blends Mediterranean folk instruments like bouzouki and Turkish baglama with heavy electric guitars, progressive drums, and haunting vocal harmonie
749s to match the relentless action of the Underworld.</p>\n","url":"https://www.youtube.com/watch?v=3GRKJ87S5cI","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"3GRKJ87S5cI","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Game Soundtrack","Progressive Metal","Acoustic Folk","Supergiant Games"],"items":[]},"hotline_miami_bloodline":{"name":"Scattle - Bloodline","title":"Scattle - Bloodline","slug":"hotline_miami_bloodline","category":"OST","type":"standard","is_collection":false,"creator":"Scattle","label":null,"studio":"Dennaton Games","year":"2015","rating":null,"description":"Dark, pulsing synthwave and electro combat track from Hotline Miami 2: Wrong Number OST by Scattle.","long_description_html":"","url":"https://soundcloud.com/user-326777983/scattle-bloodline","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-326777983/scattle-bloodline","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hotline Miami","Synthwave","Dark Electro","OST"],"items":[]},"hotline_miami_heist":{"name":"EL TIGR3 - Heist","title":"EL TIGR3 - Heist","slug":"hotline_miami_heist","category":"OST","type":"standard","is_collection":false,"creator":"EL TIGR3","label":null,"studio":"Dennaton Games","year":"2015","rating":null,"description":"Relentless cyberpunk electro house track from Hotline Miami 2: Wrong Number OST.","long_description_html":"","url":"https://soundcloud.com/el-tigr3/heist","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/el-tigr3/heist","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hotline Miami","Electro House","Cyberpunk","OST"],"items":[]},"lethal_league_snibbit":{"name":"Klaus Veen - Snibbit","title":"Klaus Veen - Snibbit","slug":"lethal_league_snibbit","category":"OST","type":"standard","is_collection":false,"creator":"Klaus Veen","label":null,"studio":"Team Reptile","year":"2018","rating":null,"description":"Infectious 90s speed garage and funky breakbeat battle track composed for Lethal League Blaze.","long_description_html":"","url":"https://soundcloud.com/klausveen/klaus-veen-snibbit","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/klausveen/klaus-veen-snibbit","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lethal League Blaze","Speed Garage","Breakbeat","OST"],"items":[]},"lifeformed_ost":{"name":"Lifeformed OST Discography","title":"Lifeformed OST Discography","slug":"lifeformed_ost","category":"OST","type":"collection","is_collection":true,"creator":"Lifeformed (Terence Lee)","label":null,"studio":"Hitbox Team","year":null,"rating":null,"description":"Acoustic chiptune, ambient electronic, and platformer original soundtracks by Lifeformed including Dustforce (Fastfall), Immerse, and Umbra.","long_description_html":"","url":"https://lifeformed.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Dustforce","Chiptune","Indie Game OST","Ambient","Bandcamp"],"items":[{"title":"Fastfall (Dustforce OST Full Album)","url":"https://lifeformed.bandcamp.com/album/fastfall","description":"Award-winning soundtrack for sweeping acrobatic platformer Dustforce.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/fastfall","bandcamp_album_id":"2118918607","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Immerse","url":"https://lifeformed.bandcamp.com/album/immerse","description":"Melodic electronic album exploring lush synth atmospheres.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/immerse","bandcamp_album_id":"1653268435","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Umbra (Lifeformed à Janice Kwan)","url":"https://lifeformed.bandcamp.com/album/umbra","description":"Original soundtrack for indie adventure Tunic.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/umbra","bandcamp_album_id":"568006953","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Fastfall - \"Dream\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-dream","description":"Gentle acoustic guitar and soft 8-bit synth arpeggios.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-dream","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"Your Favorite Color\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-your","description":"Warm, rhythmic piano and electronic percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-your","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"A Safe Place To Sleep\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-a-safe","description":"Serene and comforting hub level theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-a-safe","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}
749,{"title":"Fastfall - \"9-bit Expedition\"","url":"https://soundcloud.com/lifeformed/dustforce-9-bit-expedition","description":"Energetic chiptune melody and driving beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/dustforce-9-bit-expedition","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"Cider Time\"","url":"https://soundcloud.com/lifeformed/dustforce-cider-time","description":"Playful syncopated acoustic chiptune melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/dustforce-cider-time","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"marzuku_ost":{"name":"Marzuku - Fraudulence & ULTRAViolence OST","title":"Marzuku - Fraudulence & ULTRAViolence OST","slug":"marzuku_ost","category":"OST","type":"collection","is_collection":true,"creator":"Marzuku","label":null,"studio":null,"year":null,"rating":null,"description":"Dark industrial metal, cybernetic breakcore, and jazz-fusion boss battle soundtracks composed by Marzuku for ULTRAKILL fan projects and ULTRAViolence.","long_description_html":"","url":"https://marzuku.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal","Breakcore","Bandcamp"],"items":[{"title":"Agony & Imminence","url":"https://marzuku.bandcamp.com/album/agony-imminence","description":"Full release featuring high-intensity industrial
749combat tracks.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/agony-imminence","bandcamp_album_id":"110939586","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"ULTRAViolence (Original Soundtrack)","url":"https://marzuku.bandcamp.com/album/ultraviolence-original-soundtrack","description":"Complete industrial metal and breakcore soundtrack album.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/ultraviolence-original-soundtrack","bandcamp_album_id":"691865275","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Industrial Hell","url":"https://marzuku.bandcamp.com/album/industrial-hell","description":"Heavy distorted electronic metal assault.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/industrial-hell","bandcamp_album_id":"607746923","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Colliding Stars","url":"https://marzuku.bandcamp.com/album/colliding-stars","description":"Epic synth-metal and melodic breakcore release.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/colliding-stars","bandcamp_album_id":"2704067357","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Caelum","url":"https://marzuku.bandcamp.com/album/caelum","description":"Heavenly choral progressions over punishing drum patterns.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/caelum","bandcamp_album_id":"2955753723","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Harmony","url":"https://marzuku.bandcamp.com/track/harmony","description":"Complex melodic industrial
749composition.","link_type":"bandcamp","embed_type":"track","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/track/harmony","bandcamp_album_id":null,"bandcamp_track_id":"3366003343","icon_filename":"bandcamp.svg"},{"title":"Cross Turned Dagger","url":"https://marzuku.bandcamp.com/track/cross-turned-dagger","description":"Ferocious collab track with Duv.","link_type":"bandcamp","embed_type":"track","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/track/cross-turned-dagger","bandcamp_album_id":null,"bandcamp_track_id":"3673573405","icon_filename":"bandcamp.svg"},{"title":"Turning Point (From \"Fraudulence Vol. 1\")","url":"https://soundcloud.com/marzuku-music/turning-point-from-fraudulence","description":"Climactic battle sequence theme from the Fraudulence soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-music/turning-point-from-fraudulence","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Valley of Fools","url":"https://soundcloud.com/marzuku-871072200/valley-of-fools","description":"Sinister electronic atmosphere and relentless percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/valley-of-fools","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Profaned Community (w/ YEM ft. Perrell)","url":"https://soundcloud.com/marzuku-871072200/profaned-community-w-yem-ft-saxophonist-perrell-fraudulence-soundtrack","description":"Industrial jazz fusion featuring live saxophone solos by Perrell.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/profaned-community-w-yem-ft-saxophonist-perrell-fraudulence-soundtrack","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Imminence","url":"https://soundcloud.com/marzuku-871072200/imminence","description":"Driving combat cut building tense speed and aggression.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/imminence","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"panty_and_stocking_theme":{"name":"Theme for Scanty & Knee Socks","title":"Theme for Scanty & Knee Socks","slug":"panty_and_stocking_theme","category":"OST","type":"standard","is_collection":false,"creator":"TeddyLoid & TCY FORCE","label":null,"studio":"Gainax","year":"2010","rating":null,"description":"Cult classic high-energy French electro house battle theme from the Panty & Stocking with Garterbelt Original Soundtrack.","long_description_html":"","url":"https://soundcloud.com/panty-and-stocking/14-theme-for-scanty-knee-socks","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/panty-and-stocking/14-theme-for-scanty-knee-socks","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Electro House","Panty & Stocking","TeddyLoid"],"items":[]},"risk_of_rain_2_ost":{"name":"The Rain Formerly Known as Purple","title":"The Rain Formerly Known as Purple","slug":"risk_of_rain_2_ost","category":"OST","type":"standard","is_collection":false,"creator":"Chris Christodoulou","label":null,"studio":"Hopoo Games","year":"2020","rating":null,"description":"Monumental 7-minute progressive rock and synth masterpiece composed by Chris Christodoulou for Risk of Rain 2's Sky Meadow stage.","long_description_html":"<p>Composed by Greek multi-instrumentalist Chris Christodoulou, 'The Rain Formerly Known as Purple' serves as the musical centerpiece of Risk of Rain 2. Transitioning from contemplative guitar arpeggios to a soaring guitar solo over vintage synthesizers and aggressive drum grooves, it is
749widely considered one of the greatest tracks in modern gaming.</p>\n","url":"https://soundcloud.com/chrischristodouloumusic/the-rain-formerly-known-as","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/chrischristodouloumusic/the-rain-formerly-known-as","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Risk of Rain 2","Progressive Rock","Synthwave","Video Game OST"],"items":[]},"shatter_ost":{"name":"Shatter OST","title":"Shatter OST","slug":"shatter_ost","category":"OST","type":"standard","is_collection":false,"creator":"Module","label":null,"studio":"Sidhe","year":"2009","rating":null,"description":"Award-winning synthwave, electro-rock, and retro video game soundtrack composed by Module for the brick-breaking arcade game Shatter.","long_description_html":"<p>Composed by New Zealand musician Module (Jeramiah Ross), the Shatter Original Soundtrack is widely regarded as one of the greatest video game electronic soundtracks. Featuring driving synthlines, vocoder vocals, upbeat guitar riffs, and soaring melodies across 14 tracks, it received numerous awards and defined modern arcade music.</p>\n","url":"https://www.youtube.com/watch?v=k76eJ2_ilis&list=OLAK5uy_muAw6jWyN3GgtQNWhZddJ8W40aPiglhGo","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"k76eJ2_ilis","youtube_playlist_id":"OLAK5uy_muAw6jWyN3GgtQNWhZddJ8W40aPiglhGo","imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Game Soundtrack","Synthwave","Electro Rock","Chiptune"],"items":[]},"ultrakill_fan_ost":{"name":"ULTRAKILL Fan Soundtracks","title":"ULTRAKILL Fan Soundtracks","slug":"ultrakill_fan_ost","category":"OST","type":"collection","is_collection":true,"creator":"Various Community Composers","label":null,"studio":null,"year":null,"rating":null,"description":"Community-composed original soundtrack tributes and unofficial level themes for ULTRAKILL.","long_description_html":"","url":"https://soundcloud.com/search?q=ultrakill%20fan%20ost","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal","Breakcore","SoundCloud"],"items":[{"title":"Blood-Red Sakura (ULTRAKILL 7-3 UST)","url":"https://soundcloud.com/agnab-lol/blood-red-sakura-ultrakill-7-3-ust","description":"Unofficial soundtrack arrangement by AGNAB for Violence layer (7-3).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/agnab-lol/blood-red-sakura-ultrakill-7-3-ust","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Stolen Heaven","url":"https://soundcloud.com/triagegremlin/ultrakill-fan-ost-stolen-heaven","description":"Frantic breakcore and guitar track composed by Triage Gremlin.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/triagegremlin/ultrakill-fan-ost-stolen-heaven","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Reverse Lunar Evisceration","url":"https://soundcloud.com/triagegremlin/ultrakill-album-collab-reverse-lunar-evisceration","description":"High-speed industrial metal collaboration for ULTRAKILL community album.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/triagegremlin/ultrakill-album-collab-reverse-lunar-evisceration","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Primordial Hunger","url":"https://soundcloud.com/requiemine/primordial-hunger","description":"Dark, oppressive industrial battle theme by Requiemine.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/requiemine/primordial-hunger","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"ultrakill_fan_ost_corporate_martyrs":{"name":"ULTRAKILL Fan OST - Corporate Martyrs (Fraud Climax)","title":"ULTRAKILL Fan OST - Corporate Martyrs (Fraud Climax)","slug":"ultrakill_fan_ost_corporate_martyrs","category":"OST","type":"standard","is_collection":false,"creator":"Rey Hunter","label":null,"studio":null,"year":null,"rating":null,"description":"High-intensity fan-composed climax theme for ULTRAKILL Fraud layer.","long_description_html":"","url":"https://soundcloud.com/rey-hunter-169341173/ultrakill-fan-ost-corporate-martyrs-fraud-climax","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/rey-hunter-169341173/ultrakill-fan-ost-corporate-martyrs-fraud-climax","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal"],"items":[]},"burn_notice":{"name":"Burn Notice","title":"Burn Notice","slug":"burn_notice","category":"TV","type":"standard","is_collection":false,"creator":"Matt Nix","label":null,"studio":"USA Network","year":"2007-2013","rating":"8.0/10 IMDb","description":"Slick spy drama following blacklisted CIA operative Michael Westen as he relies on tradecraft, voiceovers, and improvised gadgets in Miami while trying to figure out who burned him.","long_description_html":"<p>Created by Matt Nix and starring Jeffrey Donovan as Michael Westen, Gabrielle Anwar as Fiona Glenanne, and Bruce Campbell as Sam Axe. When CIA operative Michael Westen is issued a burn notice mid-operation, he finds himself stranded in Miami with no money or records. Taking on freelance PI jobs for ordinary people using DIY espionage tactics, homemade explosives, and undercover personas, he methodically hunts down the shadowy organization that betrayed him.</p>\n","url":"https://www.imdb.com/title/tt0810788/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt0810788","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Action","Espionage","Drama","Comedy","Tradecraft"],"items":[]},"collatz_multiverse":{"name":"Collatz Multiverse","title":"The Simplest Math Problem No One Can Solve","slug":"collatz_multiverse","category":"Videos","type":"standard","is_collection":false,"creator":"Veritasium","label":null,"studio":null,"year":"2021","rating":null,"description":"Deep dive into the famous unproven Collatz Conjecture (3n+1) in mathematics and its chaotic branching tree structures.","long_description_html":"<p>An extraordinary science documentary video by Derek Muller on the Veritasium channel exploring the Collatz Conjecture (also known as the 3n + 1 problem). The video breaks down the deceptively simple rules, mathematical visualizations, infinite loops, p-adic numbers, and why Paul ErdÅs famously remarked that mathematics is not yet ready for such problems.</p>\n","url":"https://www.youtube.com/watch?v=n63FBYqj98E","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"n63FBYqj98E","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Mathematics","Science","Veritasium","Collatz Conjecture"],"items":[]},"dirt_man":{"name":"Dirt Man","title":"Dirt Man","slug":"dirt_man","category":"Videos","type":"standard","is_collection":false,"creator":"Carter Vail","label":null,"studio":null,"year":"2024","rating":null,"description":"Viral indie-pop comedy track by Carter Vail about keeping a piece of dirt under your pillow for the Dirt Man.","long_description_html":"<p>A hilarious and ridiculously catchy viral song created by musician Carter Vail. Featuring smooth 70s soft-rock harmonie
749s and funky electric guitar, the song warns listeners to keep a little dirt under their pillow so the Dirt Man won't take them down to his lair under the mountain.</p>\n","url":"https://www.youtube.com/watch?v=XEgvqHdWybo","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"XEgvqHdWybo","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Pop","Comedy","Viral Video","Music Video"],"items":[]}} 750 </script>
750 751 752 <svg id="duotone-svg-container" aria-hidden="true"> 753 <filter id="palette-duotone-filter" color-interpolation-filters="sRGB"> 754 <feColorMatrix id="palette-duotone-matrix" type="matrix" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"/> 755 </filter> 756 </svg> 757 758 759
759<script src="./js/chart.min.js"></script>
759 760
760<script src="./js/highlight.min.js"></script>
760 761
761<script src="./js/hold_click.js"></script>
761 762
762<script src="./js/image_viewer.js"></script>
762 763
763<script src="./js/window_drag.js"></script>
763 764 765
765<script> 766 try { 767 if (typeof hljs !== 'undefined' && hljs.highlightAll) { 768 hljs.highlightAll(); 769 } 770 } catch(e) { 771 console.warn('Highlight.js skipped:', e); 772 } 773 774 function initLayout() { 775 // Hamburger Menu Toggle Logic 776 const hamburgerBtn = document.getElementById('hamburger-btn'); 777 const menuContent = document.getElementById('header-menu-content'); 778 779 if (hamburgerBtn && menuContent) { 780 hamburgerBtn.addEventListener('click', (e) => { 781 e.stopPropagation(); 782 const isOpen = menuContent.classList.toggle('is-open'); 783 hamburgerBtn.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); 784 }); 785 786 document.addEventListener('click', (e) => { 787 if (menuContent.classList.contains('is-open') && !menuContent.contains(e.target) && e.target !== hamburgerBtn) { 788 menuContent.classList.remove('is-open'); 789 hamburgerBtn.setAttribute('aria-expanded', 'false'); 790 } 791 }); 792 793 document.addEventListener('keydown', (e) => { 794 if (e.key === 'Escape' && menuContent.classList.contains('is-open')) { 795 menuContent.classList.remove('is-open'); 796 hamburgerBtn.setAttribute('aria-expanded', 'false'); 797 } 798 }); 799 } 800 801 // Palette Swapping Engine (Modularized) 802 if (window.PaletteEngine) { 803 PaletteEngine.initDom(); 804 } 805 806 // Modular Draggable Snap-Back Windows 807 if (window.WindowDraggable) { 808 WindowDraggable.init(); 809 } 810 811 // Terminal Window Behavior 812 document.querySelectorAll('.terminal-window').forEach(win => { 813 if (win.classList.contains('image-viewer-window') || win.classList.contains('game-player-window') || win.id === 'game-player-window') return; 814 if (win.dataset.windowInitialized) return; 815 win.dataset.windowInitialized = 'true'; 816 817 const header = win.querySelector(':scope > .window-header'); 818 const controls = header ? header.querySelector(':scope > .window-controls') : win.querySelector('.window-controls'); 819 if (!controls) return; 820 821 const btns = controls.querySelectorAll('.window-btn'); 822 if (btns.length >= 2) { 823 const minBtn = controls.querySelector('.window-btn-min, .minimize-btn') || btns[0]; 824 const closeBtn = controls.querySelector('.window-btn-close, .close-btn') || btns[btns.length - 1]; 825 826 // Minimize behavior: toggle window body display and switch SVG symbol 827 const bracketLeft = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg>`; 828 const bracketRight = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg>`; 829 const minusIcon = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg>`; 830 const plusIcon = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
830<path fill="currentColor" d="M256 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-160z"/></svg>`; 831 832 minBtn.addEventListener('click', (e) => { 833 e.preventDefault(); 834 e.stopPropagation(); 835 const body = win.querySelector(':scope > .window-body'); 836 if (body) { 837 if (body.style.display === 'none') { 838 body.style.display = ''; 839 minBtn.innerHTML = `<span class="window-btn-bracket">${bracketLeft}</span><span class="window-btn-icon-wrap">${minusIcon}</span><span class="window-btn-bracket">${bracketRight}</span>`; 840 } else { 841 body.style.display = 'none'; 842 minBtn.innerHTML = `<span class="window-btn-bracket">${bracketLeft}</span><span class="window-btn-icon-wrap">${plusIcon}</span><span class="window-btn-bracket">${bracketRight}</span>`; 843 } 844 } 845 }); 846 847 848 // Close behavior: hide the window element or its parent modal overlay instead of removing from DOM 849 closeBtn.addEventListener('click', (e) => { 850 e.preventDefault(); 851 e.stopPropagation(); 852 853 const overlay = win.closest('.skill-modal-overlay, [role="dialog"]'); 854 if (overlay) { 855 overlay.style.display = 'none'; 856 document.body.style.overflow = ''; 857 const iframe = overlay.querySelector('iframe'); 858 if (iframe) iframe.src = 'about:blank'; 859 } else { 860 win.style.display = 'none'; 861 } 862 }); 863 } 864 }); 865 866 // Modular Retro GUI OS Image Viewer Logic 867 const viewer = window.ImageViewer ? window.ImageViewer.getInstance() : null; 868 if (viewer) { 869 const postImages = document.querySelectorAll('.post-body-markdown img, .window-body img:not(#image-viewer-img)'); 870 postImages.forEach((img, index) => { 871 if (img.closest('.gallery-main-frame, .carousel-main-frame, .gallery-thumbs, .photo-carousel-container, .game-carousel-wrapper')) return; 872 const figNum = index + 1; 873 img.setAttribute('data-figure-num', figNum); 874 img.style.cursor = 'pointer'; 875 img.addEventListener('click', (e) => { 876 e.preventDefault(); 877 e.stopPropagation(); 878 const imgSrc = img.getAttribute('src') || img.src; 879 const imgAlt = img.getAttribute('alt') || img.getAttribute('title') || ''; 880 viewer.open(imgSrc, imgAlt, figNum); 881 }); 882 }); 883 } 884 885 // Floating Series Quick Jump Observer & Interaction 886 const topJumpNav = document.getElementById('top-series-jump-nav') || document.getElementById('combined-toc'); 887 const floatingNav = document.getElementById('series-floating-nav'); 888 const floatingToggle = document.getElementById('floating-nav-toggle'); 889 890 if (topJumpNav && floatingNav) { 891 const observer = new IntersectionObserver((entries) => { 892 entries.forEach(entry => { 893 if (!entry.isIntersecting) { 894 floatingNav.classList.add('is-active'); 895 } else { 896 floatingNav.classList.remove('is-active'); 897 floatingNav.classList.remove('is-open'); 898 } 899 }); 900 }, { threshold: 0 }); 901 902 observer.observe(topJumpNav); 903 904 if (floatingToggle) { 905 floatingToggle.addEventListener('click', (e) => { 906 e.stopPropagation(); 907 floatingNav.classList.toggle('is-open'); 908 }); 909 } 910 911 // Close floating menu when clicking links 912 floatingNav.querySelectorAll('.floating-jump-btn').forEach(link => { 913 link.addEventListener('click', () => { 914 floatingNav.classList.remove('is-open'); 915 }); 916 }); 917 } 918 919 // Smooth scroll to entry targets 920 document.querySelectorAll('a[href^="#entry-"]').forEach(anchor => { 921 anchor.addEventListener('click', (e) => { 922 e.preventDefault(); 923 const targetId = anchor.getAttribute('href').substring(1); 924 const targetEl = document.getElementById(targetId); 925 if (targetEl) { 926 targetEl.scrollIntoView({ behavior: 'smooth', block: 'start' }); 927 history.pushState(null, '', '#' + targetId); 928 } 929 }); 930 }); 931 932 // Smooth scroll to top button 933 const scrollToTopBtn = document.getElementById('scroll-to-top-btn'); 934 if (scrollToTopBtn) { 935 scrollToTopBtn.addEventListener('click', (e) => { 936 e.preventDefault(); 937 window.scrollTo({ top: 0, behavior: 'smooth' }); 938 }); 939 } 940 941 // Series Jump Tooltip Edge-Fit Logic 942 document.querySelectorAll('.series-jump-btn').forEach(btn => { 943 btn.addEventListener('mouseenter', () => { 944 const rect = btn.getBoundingClientRect(); 945 const tooltip = btn.querySelector('.btn-title'); 946 if (tooltip) { 947 if (rect.left + 260 > window.innerWidth) { 948 tooltip.style.left = 'auto'; 949 tooltip.style.right = '0'; 950 } else { 951 tooltip.style.left = '0'; 952 tooltip.style.right = 'auto'; 953 } 954 } 955 }); 956 }); 957 958 // Global Dynamic Tooltip Handler for Skills & Tech Tags 959 (function() { 960 let tooltipEl = document.getElementById('global-skill-tooltip'); 961 if (!tooltipEl) { 962 tooltipEl = document.createElement('div'); 963 tooltipEl.id = 'global-skill-tooltip'; 964 tooltipEl.className = 'global-skill-tooltip-box'; 965 document.body.appendChild(tooltipEl); 966 } 967 968 const selector = '[data-tooltip], [data-skill], .skill-tooltip-trigger, .jam-tooltip-trigger, .skill-tag, .skill-tag-icon-only, .project-filter-btn, .series-filter-btn, .chain-filter-btn, .section-project-filter-btn, .fav-filter-btn'; 969 970 document.addEventListener('mouseover', function(e) { 971 const target = e.target.closest(selector); 972 if (!target) return; 973 974 if (target.hasAttribute('title')) { 975 target.removeAttribute('title'); 976 } 977 const childrenWithTitle = target.querySelectorAll('[title]'); 978 for (var i = 0; i < childrenWithTitle.length; i++) { 979 childrenWithTitle[i].removeAttribute('title'); 980 } 981 982 let text = target.getAttribute('data-tooltip') || ''; 983 const slug = target.getAttribute('data-skill'); 984 const isFilterBtn = target.matches('.chain-filter-btn, .series-filter-btn, .project-filter-btn, .section-project-filter-btn, .fav-filter-btn'); 985 const isPaletteBtn = target.matches('.palette-swap-btn'); 986 const isSkillElement = target.matches('.skill-tooltip-trigger, .skill-tag, .skill-tag-icon-only') || !!slug; 987 988 if ((!text || !text.trim()) && isSkillElement) { 989 const catalogScript = document.getElementById('skills-catalog-data'); 990 let catalog = {}; 991 if (catalogScript) { 992 try { catalog = JSON.parse(catalogScript.textContent); } catch(err) {} 993 } 994 let cleanSlug = slug ? String(slug).trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '') : ''; 995 if (!cleanSlug && target.textContent) { 996 cleanSlug = target.textContent.trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, ''); 997 } 998 const sObj = catalog[slug] || catalog[cleanSlug]; 999 if (sObj) { 1000 if (sObj.description && sObj.description.trim()) { 1001 if (target.matches('.skill-tag-icon-only')) { 1002 text = sObj.name + ': ' + sObj.description; 1003 } else { 1004 text = sObj.description; 1005 } 1006 } else { 1007 text = sObj.name; 1008 } 1009 } else if (target.textContent && target.textContent.trim()) { 1010 text = target.textContent.trim(); 1011 } 1012 } 1013 1014 if ((!text || !text.trim()) && !isFilterBtn && !isPaletteBtn) return; 1015 1016 function escapeHtml(str) { 1017 return String(str || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 1018 } 1019 1020 if (isPaletteBtn) { 1021 let html = "<div style=\"margin-bottom: 0.2rem;\">Left-click: Next palette</div><div style=\"margin-bottom: 0.2rem;\">Right-click: Previous palette</div><div style=\"margin-bottom: 0.2rem;\">Left Click Hold: Open Palette Menu</div><div>Right Click Hold: Reset to default</div>"; 1022 tooltipEl.innerHTML = html; 1023 } else if (isFilterBtn) { 1024 const isAllBtn = (target.getAttribute('data-home-filter') === 'all') || 1025 (target.getAttribute('data-series-filter') === 'all') || 1026 (target.getAttribute('data-project-filter') === 'all') || 1027 (target.getAttribute('data-section-filter') === 'all') || 1028 (target.textContent.trim().toUpperCase() === '[ ALL ]'); 1029 let html = ''; 1030 const filterLegend = "<div style=\"font-size: 0.75rem; color: var(--text-dim); margin-top: 0.35rem; font-style: italic;\">Left: Select | Right: Select Multiple<br>Left Click Hold: Inspect</div>"; 1031 const filterAllLegend = "<div style=\"font-size: 0.75rem; color: var(--text-dim); font-style: italic;\">Left: Select | Right: Select Multiple<br>Left Click Hold: Reset ALL</div>"; 1032 if (isAllBtn) { 1033 html += filterAllLegend; 1034 } else { 1035 if (text && text.trim()) { 1036 html += '<div>' + escapeHtml(text) + '</div>'; 1037 html += filterLegend; 1038 } else { 1039 html += filterLegend; 1040 } 1041 } 1042 tooltipEl.innerHTML = html; 1043 } else { 1044 tooltipEl.textContent = text; 1045 } 1046 1047 tooltipEl.classList.add('is-visible'); 1048 1049 const rect = target.getBoundingClientRect(); 1050 const tooltipRect = tooltipEl.getBoundingClientRect(); 1051 1052 let top = rect.top - tooltipRect.height - 8; 1053 let left = rect.left + (rect.width / 2) - (tooltipRect.width / 2); 1054 1055 if (top < 10) { 1056 top = rect.bottom + 8; 1057 } 1058 if (left < 10) left = 10; 1059 if (left + tooltipRect.width > window.innerWidth - 10) { 1060 left = window.innerWidth - tooltipRect.width - 10; 1061 } 1062 1063 tooltipEl.style.top = (top + window.scrollY) + 'px'; 1064 tooltipEl.style.left = (left + window.scrollX) + 'px'; 1065 }); 1066 1067 document.addEventListener('mouseout', function(e) { 1068 const target = e.target.closest(selector); 1069 if (target) { 1070 if (e.relatedTarget && target.contains(e.relatedTarget)) return; 1071 tooltipEl.classList.remove('is-visible'); 1072 } 1073 }); 1074 })(); 1075 1076 // Retro Skill Spec Modal Interaction Logic 1077 (function() {
1078 var overlay = document.getElementById('skill-modal-overlay'); 1079 if (!overlay) return; 1080 1081 var catalogScript = document.getElementById('skills-catalog-data'); 1082 if (!catalogScript) return; 1083 1084 var catalog = {}; 1085 try { 1086 catalog = JSON.parse(catalogScript.textContent); 1087 } catch(e) { 1088 console.error('Failed to parse skills catalog:', e); 1089 } 1090 1091 function escapeHtml(str) { 1092 return String(str || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 1093 } 1094 1095 function openModal(slug) { 1096 if (!slug) return; 1097 var cleanSlug = String(slug).trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, ''); 1098 var skill = catalog[slug] || catalog[cleanSlug]; 1099 if (!skill) return; 1100 1101 document.getElementById('skill-modal-title-text').textContent = 'SKILL_SPEC // ' + (skill.name || slug).toUpperCase(); 1102 var iconEl = document.getElementById('skill-modal-icon'); 1103 if (iconEl) { 1104 if (skill.svg_content) { 1105 iconEl.innerHTML = skill.svg_content; 1106 var svg = iconEl.querySelector('svg'); 1107 if (svg) { 1108 svg.classList.add('skill-icon-svg'); 1109 svg.style.width = '1em'; 1110 svg.style.height = '1em'; 1111 svg.style.verticalAlign = '-0.1em'; 1112 svg.style.fill = 'currentColor'; 1113 svg.style.display = 'inline-block'; 1114 } 1115 } else if (skill.icon) { 1116 var cleanIcon = skill.icon.endsWith('.svg') ? skill.icon : skill.icon + '.svg'; 1117 iconEl.innerHTML = '<span class="skill-icon-svg skill-icon-mask icon-' + (skill.slug || slug) + '"></span>'; 1118 var maskSpan = iconEl.querySelector('.skill-icon-mask'); 1119 if (maskSpan) { 1120 maskSpan.style.maskImage = "url('/icons/" + cleanIcon + "')"; 1121 maskSpan.style.webkitMaskImage = "url('/icons/" + cleanIcon + "')"; 1122 } 1123 } else { 1124 iconEl.innerHTML = ''; 1125 } 1126 } 1127 document.getElementById('skill-modal-category').textContent = skill.category || 'General'; 1128 1129 var expWrap = document.getElementById('skill-modal-exp-wrap'); 1130 if (skill.years) { 1131 document.getElementById('skill-modal-exp').textContent = skill.years; 1132 expWrap.style.display = 'block'; 1133 } else { 1134 expWrap.style.display = 'none'; 1135 } 1136 1137 var startedWrap = document.getElementById('skill-modal-started-wrap'); 1138 if (skill.date_started) { 1139 document.getElementById('skill-modal-started').textContent = skill.date_started; 1140 startedWrap.style.display = 'block'; 1141 } else { 1142 startedWrap.style.display = 'none'; 1143 } 1144 1145 var linksWrap = document.getElementById('skill-modal-links-wrap'); 1146 var linksContainer = document.getElementById('skill-modal-links'); 1147 linksContainer.innerHTML = ''; 1148 if (skill.links && skill.links.length > 0) { 1149 skill.links.forEach(function(l) { 1150 var a = document.createElement('a'); 1151 a.href = l.url; 1152 a.target = '_blank'; 1153 a.className = 'nav-link'; 1154 a.style.fontSize = '0.8rem'; 1155 a.textContent = '[ ' + l.key.toUpperCase() + ' ]'; 1156 linksContainer.appendChild(a); 1157 }); 1158 linksWrap.style.display = 'flex'; 1159 } else { 1160 linksWrap.style.display = 'none'; 1161 } 1162 1163 document.getElementById('skill-modal-short-desc').textContent = skill.description || ''; 1164 1165 var longDescEl = document.getElementById('skill-modal-long-desc'); 1166 if (skill.long_description_html && skill.long_description_html.trim().length > 0) { 1167 longDescEl.innerHTML = skill.long_description_html; 1168 longDescEl.style.display = 'block'; 1169 } else { 1170 longDescEl.innerHTML = ''; 1171 longDescEl.style.display = 'none'; 1172 } 1173 1174 var projSection = document.getElementById('skill-modal-projects-section'); 1175 var projList = document.getElementById('skill-modal-projects-list'); 1176 var projCount = document.getElementById('skill-modal-projects-count'); 1177 if (projSection && projList && projCount) { 1178 projList.innerHTML = ''; 1179 if (skill.projects && skill.projects.length > 0) { 1180 projCount.textContent = skill.projects.length;
1181 skill.projects.forEach(function(p) { 1182 var card = document.createElement('div'); 1183 card.className = 'skill-modal-project-item'; 1184 card.innerHTML = '<div><a href="' + escapeHtml(p.url) + '" class="skill-modal-project-title">' + escapeHtml(p.title) + '</a> <span class="skill-modal-tag">[' + escapeHtml(p.section.toUpperCase()) + ']</span></div><div class="skill-modal-desc">' + escapeHtml(p.description) + '</div>'; 1185 projList.appendChild(card); 1186 }); 1187 } else { 1188 projCount.textContent = '0'; 1189 var emptyCard = document.createElement('div'); 1190 emptyCard.className = 'skill-modal-project-item'; 1191 emptyCard.style.fontStyle = 'italic'; 1192 emptyCard.style.color = 'var(--text-dim)'; 1193 emptyCard.style.fontSize = '0.82rem'; 1194 emptyCard.textContent = 'No matching projects recorded for this skill.'; 1195 projList.appendChild(emptyCard); 1196 } 1197 projSection.style.display = 'block'; 1198 } 1199 1200 var gameSection = document.getElementById('skill-modal-games-section'); 1201 var gameList = document.getElementById('skill-modal-games-list'); 1202 var gameCount = document.getElementById('skill-modal-games-count'); 1203 if (gameSection && gameList && gameCount) { 1204 gameList.innerHTML = ''; 1205 if (skill.games && skill.games.length > 0) { 1206 gameCount.textContent = skill.games.length; 1207 skill.games.forEach(function(g) { 1208 var card = document.createElement('div'); 1209 card.className = 'skill-modal-project-item'; 1210 var titleHtml = '<a href="' + escapeHtml(g.url) + '" class="skill-modal-project-title">' + escapeHtml(g.title) + '</a>'; 1211 var metaParts = []; 1212 if (g.engine) metaParts.push(g.engine.toUpperCase()); 1213 if (g.subdomain) metaParts.push(g.subdomain.toUpperCase()); 1214 var metaStr = metaParts.length > 0 ? ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' ⢠')) + ']</span>' : ''; 1215 var descStr = g.description ? '<div class="skill-modal-desc skill-modal-desc-margin">' + escapeHtml(g.description) + '</div>' : ''; 1216 1217 card.innerHTML = '<div><div>' + titleHtml + metaStr + '</div>' + descStr + '</div>'; 1218 gameList.appendChild(card); 1219 }); 1220 } else { 1221 gameCount.textContent = '0'; 1222 var emptyCard = document.createElement('div'); 1223 emptyCard.className = 'skill-modal-project-item'; 1224 emptyCard.style.fontStyle = 'italic'; 1225 emptyCard.style.color = 'var(--text-dim)'; 1226 emptyCard.style.fontSize = '0.82rem'; 1227 emptyCard.textContent = 'No matching games recorded for this skill.'; 1228 gameList.appendChild(emptyCard); 1229 } 1230 gameSection.style.display = 'block'; 1231 } 1232 1233 var achSection = document.getElementById('skill-modal-achievements-section'); 1234 var achList = document.getElementById('skill-modal-achievements-list'); 1235 var achCount = document.getElementById('skill-modal-achievements-count'); 1236 if (achSection && achList && achCount) { 1237 achList.innerHTML = ''; 1238 if (skill.achievements && skill.achievements.length > 0) { 1239 achCount.textContent = skill.achievements.length; 1240 skill.achievements.forEach(function(a) { 1241 var card = document.createElement('div'); 1242 card.className = 'skill-modal-project-item'; 1243 var titleHtml = a.link 1244 ? '<a href="' + escapeHtml(a.link) + '" target="_blank" class="skill-modal-project-title">' + escapeHtml(a.title) + '</a>' 1245 : '<span class="skill-modal-project-title skill-modal-title-plain">' + escapeHtml(a.title) + '</span>'; 1246 1247 var metaParts = []; 1248 if (a.category) metaParts.push(a.category.toUpperCase()); 1249 if (a.issuer) metaParts.push(a.issuer); 1250 if (a.date) metaParts.push(a.date); 1251 1252 var metaStr = metaParts.length > 0 ? ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' ⢠')) + ']</span>' : ''; 1253 var descStr = a.description ? '<div class="skill-modal-desc skill-modal-desc-margin">' + escapeHtml(a.description) + '</div>' : ''; 1254 1255 card.innerHTML = '<div><div>' + titleHtml + metaStr + '</div>' + descStr + '</div>'; 1256 achList.appendChild(card); 1257 }); 1258 } else { 1259 achCount.textContent = '0'; 1260 var emptyCard = document.createElement('div'); 1261 emptyCard.className = 'skill-modal-project-item';
1262 emptyCard.style.fontStyle = 'italic'; 1263 emptyCard.style.color = 'var(--text-dim)'; 1264 emptyCard.style.fontSize = '0.82rem'; 1265 emptyCard.textContent = 'No matching accolades or achievements recorded for this skill.'; 1266 achList.appendChild(emptyCard); 1267 } 1268 achSection.style.display = 'block'; 1269 } 1270 1271 var postSection = document.getElementById('skill-modal-posts-section'); 1272 var postList = document.getElementById('skill-modal-posts-list'); 1273 var postCount = document.getElementById('skill-modal-posts-count'); 1274 if (postSection && postList && postCount) { 1275 postList.innerHTML = ''; 1276 if (skill.posts && skill.posts.length > 0) { 1277 postCount.textContent = skill.posts.length; 1278 skill.posts.forEach(function(p) { 1279 var card = document.createElement('div'); 1280 card.className = 'skill-modal-project-item'; 1281 var metaParts = []; 1282 if (p.chain_title || p.category) metaParts.push((p.chain_title || p.category).toUpperCase()); 1283 metaParts.push('ENTRY #' + p.index); 1284 if (p.date) metaParts.push(p.date); 1285 var metaStr = ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' ⢠')) + ']</span>'; 1286 card.innerHTML = '<div><a href="' + escapeHtml(p.url) + '" class="skill-modal-project-title">' + escapeHtml(p.title) + '</a>' + metaStr + '</div>'; 1287 postList.appendChild(card); 1288 }); 1289 } else { 1290 postCount.textContent = '0'; 1291 var emptyCard = document.createElement('div'); 1292 emptyCard.className = 'skill-modal-project-item'; 1293 emptyCard.style.fontStyle = 'italic'; 1294 emptyCard.style.color = 'var(--text-dim)'; 1295 emptyCard.style.fontSize = '0.82rem'; 1296 emptyCard.textContent = 'No matching journal posts recorded for this skill.'; 1297 postList.appendChild(emptyCard); 1298 } 1299 postSection.style.display = 'block'; 1300 } 1301 1302 overlay.style.display = 'flex'; 1303 document.body.style.overflow = 'hidden'; 1304 } 1305 1306 function closeModal() { 1307 overlay.style.display = 'none'; 1308 document.body.style.overflow = ''; 1309 } 1310 1311 window.openSkillModal = openModal; 1312 1313 document.addEventListener('click', function(e) { 1314 var trigger = e.target.closest('.skill-modal-trigger'); 1315 if (trigger) { 1316 if (trigger.classList.contains('chain-filter-btn') || 1317 trigger.classList.contains('series-filter-btn') || 1318 trigger.classList.contains('project-filter-btn') || 1319 trigger.classList.contains('section-project-filter-btn') || 1320 trigger.classList.contains('fav-filter-btn')) { 1321 return; 1322 } 1323 e.preventDefault(); 1324 e.stopPropagation(); 1325 var slug = trigger.getAttribute('data-skill'); 1326 if (slug) { 1327 openModal(slug); 1328 } 1329 } 1330 }); 1331 1332 var closeBtn = document.getElementById('skill-modal-close-btn'); 1333 if (closeBtn) { 1334 closeBtn.addEventListener('click', closeModal); 1335 } 1336 1337 overlay.addEventListener('click', function(e) { 1338 if (e.target === overlay) { 1339 closeModal(); 1340 } 1341 }); 1342 1343 document.addEventListener('keydown', function(e) { 1344 if (e.key === 'Escape' && overlay.style.display === 'flex') { 1345 closeModal(); 1346 } 1347 }); 1348 })(); 1349 1350 // Retro Jam Spec Modal Interaction Logic 1351 (function() { 1352 var overlay = document.getElementById('jam-modal-overlay'); 1353 if (!overlay) return; 1354 1355 var jamsList = window.SITE_JAMS || []; 1356 1357 function escapeHtml(str) { 1358 return String(str || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 1359 } 1360 1361 function openModal(jamQuery) { 1362 if (!jamQuery) return; 1363 var qNorm = String(jamQuery).trim().toLowerCase(); 1364 var jam = jamsList.find(function(j) { 1365 return (j.id && j.id.toLowerCase() === qNorm) || 1366 (j.name && j.name.toLowerCase() === qNorm) || 1367 (j.id && qNorm.includes(j.id.toLowerCase())) || 1368 (j.name && j.name.toLowerCase().includes(qNorm)); 1369 }); 1370 if (!jam) return; 1371 1372 document.getElementById('jam-modal-title').textContent = '[ JAM_SPEC // ' + (jam.name || jamQuery).toUpperCase() + ' ]'; 1373 document.getElementById('jam-modal-name').textContent = jam.name || 'Game Jam'; 1374 document.getElementById('jam-modal-tagline').textContent = jam.tagline || ''; 1375 document.getElementById('jam-modal-host').textContent = jam.host || 'N/A'; 1376 document.getElementById('jam-modal-dates').textContent = (jam.start_date && jam.end_date) ? (jam.start_date + ' to ' + jam.end_date) : (jam.start_date || jam.end_date || 'N/A'); 1377 1378 var linkWrap = document.getElementById('jam-modal-link'); 1379 if (jam.link) { 1380 linkWrap.innerHTML = '<a href="' + escapeHtml(jam.link) + '" target="_blank" class="export-btn jam-visit-btn">[ VISIT JAM PAGE â ]</a>'; 1381 } else { 1382 linkWrap.textContent = 'N/A'; 1383 } 1384 1385 var liveStatsEl = document.getElementById('jam-modal-live-stats'); 1386 var liveStatsWrap = document.getElementById('jam-modal-live-stats-wrap'); 1387 var jamSlug = jam.itch_jam_slug || (jam.link && jam.link.includes('itch.io/jam/') ? jam.link.split('itch.io/jam/')[1].split('/')[0].split('?')[0] : null); 1388 1389 if (jamSlug && liveStatsEl) { 1390 if (liveStatsWrap) liveStatsWrap.style.display = 'block'; 1391 liveStatsEl.innerHTML = ''; 1392 liveStatsEl.setAttribute('data-itch-jam', jamSlug); 1393 if (window.ItchJamWidget && typeof window.ItchJamWidget.initElement === 'function') { 1394 window.ItchJamWidget.initElement(liveStatsEl); 1395 } 1396 } else if (liveStatsWrap) { 1397 liveStatsWrap.style.display = 'none'; 1398 } 1399 1400 document.getElementById('jam-modal-desc').textContent = jam.description || ''; 1401 1402 var gamesListContainer = document.getElementById('jam-modal-games-list'); 1403 gamesListContainer.innerHTML = ''; 1404 if (jam.games && jam.games.length > 0) {
1405 jam.games.forEach(function(g) { 1406 var chip = document.createElement('div'); 1407 chip.className = 'export-btn jam-game-chip'; 1408 chip.innerHTML = '<span class="game-chip-title">' + escapeHtml(g.title) + '</span>' + (g.ranking ? ' <span class="game-chip-rank">[' + escapeHtml(g.ranking) + ']</span>' : ''); 1409 gamesListContainer.appendChild(chip); 1410 }); 1411 } else { 1412 gamesListContainer.innerHTML = '<span class="game-empty-notice">No registered game entries found.</span>'; 1413 } 1414 1415 overlay.style.display = 'flex'; 1416 document.body.style.overflow = 'hidden'; 1417 } 1418 1419 function closeModal() { 1420 overlay.style.display = 'none'; 1421 document.body.style.overflow = ''; 1422 } 1423 1424 var closeBtn = document.getElementById('jam-modal-close-btn'); 1425 if (closeBtn) { 1426 closeBtn.addEventListener('click', closeModal); 1427 } 1428 1429 overlay.addEventListener('click', function(e) { 1430 if (e.target === overlay) { 1431 closeModal(); 1432 } 1433 }); 1434 1435 document.addEventListener('keydown', function(e) { 1436 if (e.key === 'Escape' && overlay.style.display !== 'none') { 1437 closeModal(); 1438 } 1439 }); 1440 1441 document.addEventListener('click', function(e) { 1442 var trigger = e.target.closest('.jam-modal-trigger'); 1443 if (trigger) { 1444 e.preventDefault(); 1445 var jamQuery = trigger.getAttribute('data-jam') || trigger.getAttribute('data-tooltip') || trigger.textContent; 1446 openModal(jamQuery); 1447 } 1448 }); 1449 })(); 1450 1451 // Generic Multi-Select Filter Group Handler with HoldClick Support 1452 function setupFilterGroup(options) { 1453 var btnSelector = options.btnSelector; 1454 var attrName = options.attrName; 1455 var onFilterChange = options.onFilterChange; 1456 1457 var selectedFilters = new Set(['all']); 1458 1459 function updateUI() { 1460 var allBtns = document.querySelectorAll(btnSelector); 1461 allBtns.forEach(function(b) { 1462 var val = b.getAttribute(attrName) || 'all'; 1463 if (selectedFilters.has('all')) { 1464 if (val === 'all') b.classList.add('active'); 1465 else b.classList.remove('active'); 1466 } else { 1467 if (selectedFilters.has(val)) b.classList.add('active'); 1468 else b.classList.remove('active'); 1469 } 1470 }); 1471 1472 onFilterChange(selectedFilters); 1473 } 1474 1475 if (!window.HoldClick) return; 1476 1477 HoldClick.attach(document.body, { 1478 delegateSelector: btnSelector, 1479 holdDuration: 2000, 1480 spinnerDelay: 500, 1481 onLeftClick: function(e, btn) { 1482 var filterVal = btn.getAttribute(attrName) || 'all'; 1483 selectedFilters.clear(); 1484 selectedFilters.add(filterVal); 1485 updateUI(); 1486 }, 1487 onRightClick: function(e, btn) { 1488 var filterVal = btn.getAttribute(attrName) || 'all'; 1489 if (filterVal === 'all') { 1490 selectedFilters.clear(); 1491 selectedFilters.add('all'); 1492 } else { 1493 selectedFilters.delete('all'); 1494 if (selectedFilters.has(filterVal)) { 1495 selectedFilters.delete(filterVal); 1496 if (selectedFilters.size === 0) { 1497 selectedFilters.add('all'); 1498 } 1499 } else { 1500 selectedFilters.add(filterVal); 1501 } 1502 } 1503 updateUI(); 1504 }, 1505 onLeftHold: function(e, btn) { 1506 var filterVal = btn.getAttribute(attrName) || 'all'; 1507 if (filterVal === 'all') { 1508 selectedFilters.clear(); 1509 selectedFilters.add('all'); 1510 updateUI(); 1511 } else { 1512 var slug = btn.getAttribute('data-skill'); 1513 if (slug && window.openSkillModal) { 1514 window.openSkillModal(slug); 1515 } 1516 } 1517 }, 1518 onRightHold: function(e, btn) { 1519 var slug = btn.getAttribute('data-skill'); 1520 if (slug && window.openSkillModal) { 1521 window.openSkillModal(slug); 1522 } 1523 } 1524 }); 1525 } 1526 1527 // 1. Home Page Post Chain Skill Filter 1528 setupFilterGroup({ 1529 btnSelector: '.chain-filter-btn', 1530 attrName: 'data-home-filter', 1531 onFilterChange: function(selected) { 1532 var chainBoxes = document.querySelectorAll('.terminal-window[data-skills]');
1533 chainBoxes.forEach(function(box) { 1534 if (selected.has('all')) { 1535 box.style.display = ''; 1536 } else { 1537 var skills = (box.getAttribute('data-skills') || '').split(/\s+/); 1538 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1539 box.style.display = match ? '' : 'none'; 1540 } 1541 }); 1542 } 1543 }); 1544 1545 // 2. Series Page Post Skill Filter 1546 setupFilterGroup({ 1547 btnSelector: '.series-filter-btn', 1548 attrName: 'data-series-filter', 1549 onFilterChange: function(selected) { 1550 var postItems = document.querySelectorAll('.post-link-item[data-skills]'); 1551 postItems.forEach(function(item) { 1552 if (selected.has('all')) { 1553 item.style.display = ''; 1554 } else { 1555 var skills = (item.getAttribute('data-skills') || '').split(/\s+/); 1556 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1557 item.style.display = match ? '' : 'none'; 1558 } 1559 }); 1560 1561 var entryBoxes = document.querySelectorAll('.terminal-window[id^="entry-"][data-skills]'); 1562 entryBoxes.forEach(function(box) { 1563 if (selected.has('all')) { 1564 box.style.display = ''; 1565 } else { 1566 var skills = (box.getAttribute('data-skills') || '').split(/\s+/); 1567 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1568 box.style.display = match ? '' : 'none'; 1569 } 1570 }); 1571 1572 var jumpBtns = document.querySelectorAll('.series-jump-btn[data-skills], .floating-jump-btn[data-skills]'); 1573 jumpBtns.forEach(function(jbtn) { 1574 if (selected.has('all')) { 1575 jbtn.style.display = ''; 1576 } else { 1577 var skills = (jbtn.getAttribute('data-skills') || '').split(/\s+/); 1578 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1579 jbtn.style.display = match ? '' : 'none'; 1580 } 1581 }); 1582 } 1583 }); 1584 1585 // 3. Main Projects Page Skill Filter 1586 setupFilterGroup({ 1587 btnSelector: '.project-filter-btn', 1588 attrName: 'data-project-filter', 1589 onFilterChange: function(selected) { 1590 var flexGrid = document.getElementById('projects-flex-grid'); 1591 var resultsGrid = document.getElementById('projects-filter-results-grid'); 1592 1593 if (selected.has('all')) { 1594 if (flexGrid) flexGrid.style.display = ''; 1595 if (resultsGrid) resultsGrid.style.display = 'none'; 1596 } else { 1597 if (flexGrid) flexGrid.style.display = 'none'; 1598 if (resultsGrid) { 1599 resultsGrid.style.display = 'flex'; 1600 var filterCards = resultsGrid.querySelectorAll('.filter-project-card'); 1601 filterCards.forEach(function(card) { 1602 var skills = (card.getAttribute('data-skills') || '').split(/\s+/); 1603 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1604 card.style.display = match ? '' : 'none'; 1605 }); 1606 } 1607 } 1608 } 1609 }); 1610 1611 // 4. Project Subsection Skill Filter 1612 setupFilterGroup({ 1613 btnSelector: '.section-project-filter-btn', 1614 attrName: 'data-section-filter', 1615 onFilterChange: function(selected) { 1616 var sectionCards = document.querySelectorAll('.section-card[data-skills]'); 1617 sectionCards.forEach(function(card) { 1618 if (selected.has('all')) { 1619 card.style.display = ''; 1620 } else { 1621 var skills = (card.getAttribute('data-skills') || '').split(/\s+/); 1622 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1623 card.style.display = match ? '' : 'none'; 1624 } 1625 }); 1626 } 1627 }); 1628 1629 // 5. Favorites Page Category Filter 1630 setupFilterGroup({ 1631 btnSelector: '.fav-filter-btn', 1632 attrName: 'data-fav-filter', 1633 onFilterChange: function(selected) { 1634 var catGroups = document.querySelectorAll('.fav-category-group'); 1635 catGroups.forEach(function(group) { 1636 if (selected.has('all')) { 1637 group.style.display = ''; 1638 } else { 1639 var cat = group.getAttribute('data-category'); 1640 group.style.display = selected.has(cat) ? '' : 'none'; 1641 } 1642 }); 1643 } 1644 }); 1645 1646 // Retro Favorite Spec Modal Interaction Logic 1647 (function() {
1648 var overlay = document.getElementById('favorite-modal-overlay'); 1649 if (!overlay) return; 1650 1651 var catalogScript = document.getElementById('favorites-catalog-data'); 1652 if (!catalogScript) return; 1653 1654 var catalog = {}; 1655 try { 1656 catalog = JSON.parse(catalogScript.textContent); 1657 } catch(e) { 1658 console.error('Failed to parse favorites catalog:', e); 1659 } 1660 1661 function openModal(slug) { 1662 var item = catalog[slug]; 1663 if (!item) return; 1664 1665 var singleBody = document.getElementById('favorite-modal-single-body'); 1666 var colBody = document.getElementById('favorite-modal-collection-body'); 1667 var playerContainer = document.getElementById('favorite-modal-player-container'); 1668 var itemsContainer = document.getElementById('favorite-modal-items-container'); 1669 1670 if (playerContainer) playerContainer.innerHTML = ''; 1671 if (itemsContainer) itemsContainer.innerHTML = ''; 1672 1673 if (item.is_collection && item.items && item.items.length > 0) { 1674 if (singleBody) singleBody.style.display = 'none'; 1675 if (colBody) colBody.style.display = 'block'; 1676 1677 document.getElementById('favorite-modal-title').textContent = 'COLLECTION_SPEC // ' + (item.name || item.title || slug).toUpperCase(); 1678 document.getElementById('favorite-modal-col-creator').textContent = item.creator || 'Various'; 1679 document.getElementById('favorite-modal-col-count').textContent = item.items.length + ' ITEMS'; 1680 document.getElementById('favorite-modal-col-desc').textContent = item.description || ''; 1681 1682 var artistLinkEl = document.getElementById('favorite-modal-col-artist-link'); 1683 if (artistLinkEl) { 1684 if (item.url) { 1685 artistLinkEl.href = item.url; 1686 artistLinkEl.style.display = 'inline-flex'; 1687 } else { 1688 artistLinkEl.style.display = 'none'; 1689 } 1690 } 1691 1692 item.items.forEach(function(subItem, idx) { 1693 var card = document.createElement('div'); 1694 card.className = 'fav-modal-item-card'; 1695 card.style.cssText = 'border: 1px solid var(--border-color); background: var(--bg-window); padding: 0.85rem; margin-bottom: 1rem;'; 1696 1697 var header = document.createElement('div'); 1698 header.style.cssText = 'display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.5rem; border-bottom: 1px dashed var(--border-color); padding-bottom: 0.4rem;'; 1699 1700 var titleSpan = document.createElement('span'); 1701 titleSpan.style.cssText = 'font-weight: bold; color: var(--text-color); font-size: 0.95rem;'; 1702 titleSpan.textContent = (idx + 1) + '. ' + subItem.title; 1703 header.appendChild(titleSpan); 1704 1705 if (subItem.url) { 1706 var linkBtn = document.createElement('a'); 1707 linkBtn.href = subItem.url; 1708 linkBtn.target = '_blank'; 1709 linkBtn.className = 'accolade-link-btn'; 1710 linkBtn.innerHTML = '<span>' + (subItem.link_type || 'LINK').toUpperCase() + '</span>'; 1711 header.appendChild(linkBtn); 1712 } 1713 1714 card.appendChild(header); 1715 1716 if (subItem.description) { 1717 var descDiv = document.createElement('div'); 1718 descDiv.style.cssText = 'font-size: 0.85rem; color: var(--text-dim); margin-bottom: 0.5rem;'; 1719 descDiv.textContent = subItem.description; 1720 card.appendChild(descDiv); 1721 } 1722 1723 var playerDiv = document.createElement('div'); 1724 playerDiv.className = 'fav-player-section'; 1725 playerDiv.style.cssText = 'margin-top: 0.5rem; background: var(--bg-color); border: 1px solid var(--border-color); padding: 0.4rem;'; 1726 1727 if (subItem.link_type === 'soundcloud' && subItem.soundcloud_url && window.SoundcloudWidget) { 1728 window.SoundcloudWidget.render(playerDiv, subItem.soundcloud_url); 1729 card.appendChild(playerDiv); 1730 } else if (subItem.link_type === 'youtube' && (subItem.youtube_id || subItem.youtube_playlist_id) && window.YoutubeWidget) { 1731 window.YoutubeWidget.render(playerDiv, subItem.youtube_id, subItem.youtube_playlist_id, subItem.embed_type); 1732 card.appendChild(playerDiv); 1733 } else if (subItem.link_type === 'bandcamp' && window.BandcampWidget) { 1734 window.BandcampWidget.render(playerDiv, subItem.bandcamp_url, subItem.bandcamp_album_id, subItem.bandcamp_track_id, subItem.title, item.creator); 1735 card.appendChild(playerDiv); 1736 } else if (subItem.link_type === 'steam' && subItem.steam_appid && window.SteamWidget) { 1737 var steamHost = document.createElement('div'); 1738 steamHost.setAttribute('data-steam-appid', subItem.steam_appid); 1739 steamHost.setAttribute('data-widget-layout', 'rectangle'); 1740 playerDiv.appendChild(steamHost); 1741 card.appendChild(playerDiv); 1742 window.SteamWidget.initElement(steamHost); 1743 } 1744 1745 if (itemsContainer) itemsContainer.appendChild(card); 1746 }); 1747 } else { 1748 if (colBody) colBody.style.display = 'none'; 1749 if (singleBody) singleBody.style.display = 'block'; 1750 1751 document.getElementById('favorite-modal-title').textContent = 'FAVORITE_SPEC // ' + (item.name || item.title || slug).toUpperCase(); 1752 document.getElementById('favorite-modal-category').textContent = item.category || 'General'; 1753 1754 var creatorWrap = document.getElementById('favorite-modal-creator-wrap'); 1755 if (item.creator) { 1756 document.getElementById('favorite-modal-creator').textContent = item.creator; 1757 creatorWrap.style.display = 'block'; 1758 } else { 1759 creatorWrap.style.display = 'none'; 1760 } 1761 1762 var yearWrap = document.getElementById('favorite-modal-year-wrap'); 1763 if (item.year) { 1764 document.getElementById('favorite-modal-year').textContent = item.year; 1765 yearWrap.style.display = 'block'; 1766 } else { 1767 yearWrap.style.display = 'none'; 1768 } 1769 1770 var ratingWrap = document.getElementById('favorite-modal-rating-wrap'); 1771 if (item.rating) { 1772 document.getElementById('favorite-modal-rating').textContent = item.rating; 1773 ratingWrap.style.display = 'block'; 1774 } else { 1775 ratingWrap.style.display = 'none'; 1776 } 1777 1778 var linksContainer = document.getElementById('favorite-modal-links'); 1779 linksContainer.innerHTML = ''; 1780 if (item.url) { 1781 var a = document.createElement('a'); 1782 a.href = item.url; 1783 a.target = '_blank'; 1784 a.className = 'nav-link'; 1785 a.style.fontSize = '0.8rem'; 1786 a.textContent = '[ OPEN ' + (item.link_type || 'LINK').toUpperCase() + ' ]'; 1787 linksContainer.appendChild(a); 1788 } 1789 1790 document.getElementById('favorite-modal-short-desc').textContent = item.description || ''; 1791 1792 var longDescEl = document.getElementById('favorite-modal-long-desc'); 1793 if (item.long_description_html && item.long_description_html.trim().length > 0) { 1794 longDescEl.innerHTML = item.long_description_html; 1795 longDescEl.style.display = 'block'; 1796 } else { 1797 longDescEl.innerHTML = ''; 1798 longDescEl.style.display = 'none'; 1799 } 1800 1801 var playerSection = document.getElementById('favorite-modal-player-section'); 1802 playerSection.style.display = 'none'; 1803 1804 if (item.link_type === 'soundcloud' && item.soundcloud_url && window.SoundcloudWidget) { 1805 playerSection.style.display = 'block'; 1806 window.SoundcloudWidget.render(playerContainer, item.soundcloud_url); 1807 } else if (item.link_type === 'youtube' && (item.youtube_id || item.youtube_playlist_id) && window.YoutubeWidget) { 1808 playerSection.style.display = 'block'; 1809 window.YoutubeWidget.render(playerContainer, item.youtube_id, item.youtube_playlist_id, item.embed_type); 1810 } else if (item.link_type === 'steam' && item.steam_appid && window.SteamWidget) { 1811 playerSection.style.display = 'block'; 1812 var steamHost = document.createElement('div'); 1813 steamHost.setAttribute('data-steam-appid', item.steam_appid); 1814 steamHost.setAttribute('data-widget-layout', 'rectangle'); 1815 if (item.rating) steamHost.setAttribute('data-steam-review-score', item.rating); 1816 playerContainer.appendChild(steamHost); 1817 window.SteamWidget.initElement(steamHost); 1818 } else if (item.link_type === 'imdb' && window.ImdbWidget) { 1819 playerSection.style.display = 'block'; 1820 window.ImdbWidget.render(playerContainer, item.imdb_id, item.rating, item.creator, item.year, item.category); 1821 } else if (item.link_type === 'bandcamp' && window.BandcampWidget) { 1822 playerSection.style.display = 'block'; 1823 window.BandcampWidget.render(playerContainer, item.bandcamp_url, item.bandcamp_album_id, item.bandcamp_track_id, item.title, item.creator); 1824 } 1825 } 1826 1827 overlay.style.display = 'flex'; 1828 document.body.style.overflow = 'hidden'; 1829 } 1830 1831 function closeModal() { 1832 overlay.style.display = 'none'; 1833 document.body.style.overflow = ''; 1834 var playerContainer = document.getElementById('favorite-modal-player-container'); 1835 if (playerContainer) playerContainer.innerHTML = ''; 1836 var itemsContainer = document.getElementById('favorite-modal-items-container'); 1837 if (itemsContainer) itemsContainer.innerHTML = ''; 1838 } 1839 1840 document.addEventListener('click', function(e) { 1841 var trigger = e.target.closest('.favorite-modal-trigger'); 1842 if (trigger) { 1843 e.preventDefault(); 1844 e.stopPropagation(); 1845 var slug = trigger.getAttribute('data-favorite'); 1846 if (slug) { 1847 openModal(slug); 1848 } 1849 } 1850 }); 1851 1852 var closeBtn = document.getElementById('favorite-modal-close-btn'); 1853 if (closeBtn) { 1854 closeBtn.addEventListener('click', closeModal); 1855 } 1856 1857 overlay.addEventListener('click', function(e) { 1858 if (e.target === overlay) { 1859 closeModal(); 1860 } 1861 }); 1862 1863 document.addEventListener('keydown', function(e) { 1864 if (e.key === 'Escape' && overlay.style.display === 'flex') { 1865 closeModal(); 1866 } 1867 }); 1868 })(); 1869 } 1870 1871 (function() { 1872 if (typeof window === 'undefined' || window.location.protocol === 'file:') return; 1873 if (document.body && (document.body.classList.contains('is-export') || window.location.pathname.indexOf('/inline/') !== -1 || window.location.pathname.indexOf('/pdfs/') !== -1)) return;
1874 try { 1875 var reqPath = window.location.pathname; 1876 var reqRef = document.referrer || ''; 1877 var trackUrl = '/api/track?path=' + encodeURIComponent(reqPath) + 1878 '&referrer=' + encodeURIComponent(reqRef); 1879 if (typeof navigator !== 'undefined' && typeof navigator.sendBeacon === 'function') { 1880 navigator.sendBeacon(trackUrl); 1881 } else if (typeof fetch === 'function') { 1882 fetch(trackUrl, { method: 'POST', keepalive: true }).catch(function(){}); 1883 } else { 1884 var img = new Image(); 1885 img.src = trackUrl; 1886 } 1887 } catch(e) {} 1888 })(); 1889 1890 if (document.readyState === 'loading') { 1891 document.addEventListener('DOMContentLoaded', initLayout); 1892 } else { 1893 initLayout(); 1894 } 1895 </script>
1895 1896 1897 1898
1898<script src="./js/cube.js"></script>
1898 1899 1900 1901 1902 1903
1903<script src="./js/rate_limiter.js"></script>
1903 1904
1904<script src="./js/widgets/github_widget.js"></script>
1904 1905
1905<script src="./js/widgets/gist_widget.js"></script>
1905 1906
1906<script src="./js/widgets/itch_widget.js"></script>
1906 1907
1907<script src="./js/widgets/itch_jam_widget.js"></script>
1907 1908
1908<script src="./js/widgets/steam_widget.js"></script>
1908 1909
1909<script src="./js/widgets/soundcloud_widget.js"></script>
1909 1910
1910<script src="./js/widgets/youtube_widget.js"></script>
1910 1911
1911<script src="./js/widgets/bandcamp_widget.js"></script>
1911 1912
1912<script src="./js/widgets/imdb_widget.js"></script>
1912 1913
1913<script src="./js/live_stats.js"></script>
1913 1914
1914<script src="./js/carousel.js"></script>
1914 1915
1915<script src="./js/game_player.js"></script>
1915 1916 1917</body> 1918</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.