{"kind":"index","path":"/blog","response":{"count":27,"posts":[{"metadata":{"title":"Recap Pro","summary":"One prompt to a 5+ hour manga video, built end to end and published on YouTube.","publishedAt":"2026-08-09","projectDate":"2026-07-14","ascent":"#0A63FF","tags":["desktop","video","automation","typescript"],"weight":110},"slug":"recap-pro","coverSrc":"/images/blog/recap-pro/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#63728b","colors":["#373a44","#383944","#383a46","#383945","#383a46","#393942","#383a46","#383a45","#363a41","#565960","#44464f","#4f5159","#484a53","#383943","#383a46","#383a46","#343b47","#363a44","#373a44","#565861","#464851","#373a46","#363a48","#373a47","#91969f","#cfd0d3","#e1e2e4","#e2e2e3","#9fa2a8","#39394b","#303a54","#383852","#b9bdc5","#e2e2e2","#e1e2e5","#e1e2e4","#e1e2e4","#dbdde0","#cbced6","#b6bac7","#a1a4ae","#e2e2e2","#e4e2e2","#e0e2e6","#d6d7d8","#cdcecf","#d2d1d1","#e2e2e2","#566c99","#cbe3f7","#a8c5e0","#dee2e9","#e2e2e2","#e2e2e2","#e2e2e2","#dde0e4","#283975","#0a4495","#0f4d91","#798197","#b4bcd2","#c6d0ed","#dde2f2","#c0cadc","#203b7b","#113e8a","#213d6b","#383850","#0f4083","#173a9e","#203a88","#203c75","#193e76","#113f7d","#263b66","#1c3f5b","#0e4366","#243c61","#313a56","#2b3b5d","#123f7c","#143f7f","#1d3d75","#303a54","#213e5b","#0d4362","#233e53","#1e3e66","#03449d","#2c75c2","#1454a2","#243b72","#2f3b56","#243e50","#074567","#2b62ab"],"focalPoint":{"x":50,"y":18}}},{"metadata":{"title":"KaruNeko","summary":"A quality-first manga library and reader with local control","publishedAt":"2026-08-10","projectDate":"2026-08-10","ascent":"#FF7147","links":[{"label":"Git repo","href":"https://gitflic.ru/project/cruelplatypus67/karuneko","type":"other"}],"tags":["desktop","reader","library","automation","typescript"],"weight":105},"slug":"karuneko","coverSrc":"/images/blog/karuneko/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#504c4d","colors":["#3c3938","#3e3939","#363b3d","#343b3d","#3b3a3a","#3c3938","#3b3a39","#3a3a3a","#3f3937","#413837","#383b3c","#2f3c40","#383a3a","#3f3939","#3d3937","#3a3a39","#433836","#443735","#3c3a39","#224046","#303c3f","#403937","#403937","#3b3a39","#4f3431","#563333","#523433","#305257","#396670","#383b3c","#423838","#3d3a38","#51342e","#965e59","#825957","#758687","#81aab2","#4a5354","#3d3939","#3d3937","#777474","#e4e2e1","#d7d5d2","#c9c7c5","#ece0d9","#7f8e8f","#3a3a3a","#3e3937","#454042","#bab1a9","#736e68","#3a3a3b","#828693","#353b41","#3a3a3c","#3c3939","#6e6966","#e2e2e2","#a0a2a1","#383a41","#474a7b","#41446a","#3b3a38","#3b3a3b","#403938","#7a7270","#3e393b","#393a3a","#4e4962","#313a5b","#3a3a39","#3a3a3a","#3c3a3a","#3a3a3a","#403838","#3e3938","#5e392f","#563427","#3c3a37","#3a3a3c","#3e3938","#3f3937","#413936","#3c3938","#4f3629","#61311a","#413934","#3a3a3b","#3d3938","#3e3938","#3e3937","#3e3936","#3a3a39","#3c3a39","#3d3a38","#3a3a3a"]}},{"metadata":{"title":"Meallens Platform","summary":"A product case study for an IoT food platform with camera capture, background sync, human review, inventory, catalog operations, and support tools.","publishedAt":"2026-06-12","projectDate":"2026-08-09","ascent":"#C87934","links":[{"label":"Website","href":"https://meallens.net","type":"website"},{"label":"LinkedIn","href":"https://ca.linkedin.com/in/meallens","type":"social"}],"tags":["iot","hardware","mobile","dashboard","fullstack","operations"],"weight":100},"slug":"meallens-platform","coverSrc":"/images/blog/meallens-platform/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#efb68b","colors":["#fc6900","#fd5800","#fc5700","#fc5c00","#fd5c01","#fd5c00","#fd6001","#fd6e00","#fd8e2f","#fd9a5b","#fd8b4c","#fd620d","#fd5800","#fd5d02","#fd6300","#fd7400","#fe8e29","#ff9f49","#fd8a37","#fd6907","#fd6600","#fd5d00","#fc6b05","#fd7701","#f77502","#eda564","#feaa62","#fca457","#fba551","#fd7a15","#fd5f00","#fd7200","#f6dac0","#dde3ea","#dee3e3","#e2e2e2","#e2e2e2","#f2dfcc","#f99d4d","#fd7c0e","#dde3e7","#e5e1de","#e2e2e2","#777977","#999591","#e1e2e2","#dde3e3","#fb993a","#e4e2de","#e4e2df","#eae0dd","#dbd2c8","#dcdad5","#e0e2e2","#f0e0d0","#fc9a3a","#f0ddd3","#ecd4c8","#e6c8bc","#f8dac0","#e6e1da","#e0e3e3","#f7dfc8","#fca650","#e3e2df","#e1e3e0","#dee3e2","#eae1d6","#e5e2df","#dfe3e5","#f9daba","#fdbb78","#e8e1d8","#eae1d6","#ece0d2","#ece1d5","#dfe2e4","#ede0d2","#fbdbb8","#fddbb7","#f4dfc8","#f3dfca","#f2dfcb","#f0e0d0","#e8e1d9","#ede0d0","#f2e0cd","#f2dfcb","#eee0d0","#ede0d0","#ede0d0","#ede0d0","#efe0cf","#ede0d0","#ede0d1","#ede0d0"]}},{"metadata":{"title":"MacPowerToys: Seven Native Mac Utilities","summary":"A native macOS utility suite for screen measurement, power control, color capture, local OCR, cloud transfers, Claude Code history, and diagnostics.","publishedAt":"2026-08-09","projectDate":"2026-08-01","ascent":"#3B82F6","links":[{"label":"GitHub","href":"https://github.com/surajmandalcell/macpowertoys","type":"github"},{"label":"Releases","href":"https://github.com/surajmandalcell/macpowertoys/releases","type":"package"}],"tags":["macos","swiftui","appkit","opensource","productivity","developer-tools","desktop-app","appdev"],"weight":98},"slug":"macpowertoys","coverSrc":"/images/blog/macpowertoys/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#4f5958","colors":["#2f3d3d","#363b3e","#343b3d","#363b3e","#363b3e","#2c3d3f","#263f3d","#24403a","#26443c","#2f3d3f","#353b3e","#373b3e","#383a3e","#373b3e","#333c3c","#2c3e37","#2e3d3b","#2c3e3d","#373a3e","#393a3e","#393a3e","#373a3e","#353b3c","#2d3e38","#333c3b","#33423e","#525b59","#4e5153","#494d4f","#4a4c4d","#323c3d","#283f3d","#708a74","#445950","#445851","#3f574c","#485348","#616f6e","#333c3f","#2f3c40","#b3c1a5","#839592","#36404f","#393b38","#3a3b34","#52625e","#334344","#3a5553","#bcc6ae","#979e94","#3a3a3d","#3c3a3b","#353a49","#353c37","#313d37","#33423b","#adbfa5","#9aa297","#3c3a39","#393a3a","#3e444e","#393a3a","#393a39","#565346","#97b99f","#8ea396","#484a4c","#444445","#3e3c3a","#3a3a3a","#3a3a3a","#54524a","#7b9588","#788a84","#959fa5","#d0d0d5","#c6c6cb","#646a6c","#373a3d","#373d41","#43454c","#383946","#5c6e7c","#b0bdc6","#e3e1e6","#949ba2","#363b40","#343b3f","#373948","#343a4e","#283d50","#517f8e","#abc1cc","#abb8c2","#333b42","#363b41"]}},{"metadata":{"title":"Keypath Building Intelligence","summary":"A BACnet-backed operations dashboard with live monitoring, alert setup, network discovery tools, and handoff documentation for Algonquin College.","publishedAt":"2025-04-29","projectDate":"2025-03-13","ascent":"#49B7A9","links":[{"label":"Algonquin College","href":"https://www.algonquincollege.com/","type":"client"}],"tags":["algonquin","dashboard","fullstack","python","grafana","bacnet","webdev","automation","contract"],"weight":90},"slug":"keypath-building-intelligence","coverSrc":"/images/blog/keypath-building-intelligence/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#a48d71","colors":["#864b21","#f49f3e","#f6b44a","#fab335","#e6922a","#cf772a","#c67128","#915021","#d07c32","#ffc956","#fed260","#fbb53c","#ee992e","#ca7a2a","#d57e2a","#c26d28","#d79045","#ffd779","#fdbd40","#f9a42b","#d97926","#c96e24","#d07d2d","#c87129","#9a6a3c","#ffd26c","#fdbf5b","#f29d4d","#c27d51","#ab6745","#a95722","#be6a29","#343b3e","#d99f5e","#ffc174","#d89b76","#9e7c6d","#6a6460","#73452e","#8d4b24","#445256","#e4e2e3","#e9e1da","#e7e1dc","#e1dedc","#e0e2e3","#e0e2e2","#786558","#566164","#e2e2e2","#e0e2e4","#e0e2e3","#e1e2e2","#e2e2e1","#e2e2e2","#6d787b","#5a6b73","#e2e2e1","#e2e2e1","#e2e2e2","#e2e2e2","#e1e2e1","#e3e2e1","#6d7d83","#5e727a","#e3e2e1","#e3e2e2","#e1e2e2","#e2e2e2","#e1e2e2","#e3e2e2","#6d8188","#354f58","#65797d","#556f75","#607379","#6e7b80","#435661","#3d5663","#254351","#273e45","#24414d","#234552","#3e5763","#2a3d49","#303c44","#2d3d45","#2f3d43","#2d3e3f","#2e3d43","#2d3d46","#2a3e48","#2f3c40","#333c40","#323c41","#313c40"]}},{"metadata":{"title":"libIGC Flight Log Parser","summary":"A Python package that parses IGC glider logs into validated fixes, tasks, thermals, glides, and common export formats.","publishedAt":"2024-09-30","projectDate":"2024-11-30","ascent":"#3BAF75","github":"surajmandalcell/libigc","links":[{"label":"PyPI package","href":"https://pypi.org/project/libigc/","type":"package"}],"tags":["python","data","gis","parsing","datascience"],"weight":80},"slug":"libigc","coverSrc":"/images/blog/libigc/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#314060","colors":["#26397b","#353a4f","#383a41","#353b44","#2b3d4f","#213d6b","#6e77a7","#9e98b5","#2642b8","#23398c","#333957","#363a48","#2d3b51","#193f6e","#5f70a2","#948fb5","#4761d5","#194dc0","#183b94","#2b3a67","#2c3b56","#233d60","#364070","#695880","#1e399a","#163aa1","#153b99","#546ba2","#4d6288","#213d60","#303a5b","#473b5c","#38394f","#33395d","#2b3a6b","#203b77","#1a3d76","#1b3e67","#293c56","#3b3751","#3b3a3c","#383a3f","#333a49","#2b3c56","#203e61","#1e3f5f","#223e55","#333a4e","#393a3d","#393a3c","#363a40","#2e3c47","#233e53","#1a3f61","#1d3f5c","#2b3c50","#393a3d","#393a3c","#383a40","#323b47","#283d50","#1e3e5f","#1e3f61","#273d53","#393a3e","#383a3f","#383a41","#363a41","#343b47","#303b4e","#1f3e65","#273d59","#383a3e","#383a40","#383a3e","#353a42","#2a3c53","#1e3e6b","#1a3e73","#253d60","#373a3e","#393a3f","#3a3a3e","#363a41","#2c3c55","#1e3d6d","#183e76","#233d64","#383a3f","#393a3e","#3a3a3e","#373a42","#2b3c55","#1a3e6c","#124074","#1c3f61"]}},{"metadata":{"title":"Darwin UI Component Library","summary":"A macOS-inspired React 19 component library with glass surfaces, theme tokens, docs, charts, overlays, and a package pipeline for app-ready UI.","publishedAt":"2026-01-24","projectDate":"2025-12-30","ascent":"#8B5CF6","github":"surajmandalcell/darwin-ui","links":[{"label":"Docs site","href":"https://darwin-ui.mandalsuraj.com","type":"docs"},{"label":"npm package","href":"https://www.npmjs.com/package/@pikoloo/darwin-ui","type":"package"}],"tags":["design-system","components","react","typescript","webdev"],"weight":70},"slug":"darwin-ui","coverSrc":"/images/blog/darwin-ui/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#988188","colors":["#eee1c5","#e9e4bd","#e6e5ba","#e5e5bc","#e5e5b9","#e6e5b4","#eae4b0","#f4e1b1","#efddc7","#ece3c1","#e8e4bc","#e7e5b8","#e8e5b7","#e9e5b5","#ede3b5","#f5ddb4","#e9cfc5","#eedcc4","#e7dbbc","#e6deba","#e4ddb7","#e7dcb5","#f1dcb7","#f2cfb2","#e7c1c4","#f7d4cc","#d6bdaf","#c7b2a1","#cab4a1","#dcc0ab","#fdd4c0","#f2bdb3","#bb98a1","#4c4143","#504544","#524845","#4f4441","#4e4340","#4a3c3c","#c28793","#a38291","#383b3c","#383a3b","#383a3c","#383a3c","#393a3c","#383b3c","#a96e84","#a28195","#383a3d","#3a3a3c","#303b4e","#3f3839","#46373a","#383b3b","#aa6988","#9d7c94","#393a3b","#3a3a3c","#323a4c","#3c393d","#3a3a3c","#393a3b","#a4618a","#947692","#383b39","#383b39","#383b39","#363b39","#373b38","#353c37","#9c598b","#9c7da2","#433644","#453645","#463545","#483546","#483447","#483547","#a55b9e","#b692ca","#be8aca","#c181c6","#c37dc4","#c579c4","#c775c6","#c970c9","#c468c9","#aa8ccc","#ab7fc6","#ae75c2","#b071c1","#b26dc1","#b369c3","#b565c7","#b762ce"]}},{"metadata":{"title":"Codex Proxy Developer Tool","summary":"A Rust desktop tool that translates Anthropic Messages API requests into local ChatGPT Codex calls, with account, model, log, and setup controls.","publishedAt":"2026-05-24","projectDate":"2026-05-23","ascent":"#1488ff","github":"surajmandalcell/codex-proxy","tags":["developer-tools","rust","desktop","cli","openai","dashboard"],"weight":60},"slug":"codex-proxy","coverSrc":"/images/blog/codex-proxy/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#eda6ad","colors":["#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e3e2e2","#e2e2e1","#e3e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e5e2e0","#e5e1df","#e3e2e0","#e2e2df","#e3e2e0","#e2e2e2","#e4e2e1","#e3e2e1","#efdfd8","#f3ded4","#c8b6ad","#cab8af","#cebbb3","#d3c3bc","#ece0da","#e8e1dd","#fecab4","#fdc5ac","#efb79e","#e6b39b","#eabba5","#ebc4b0","#fed5c2","#fbdccd","#f9a684","#e9e1d8","#e8e1da","#e6e1da","#e6e2dd","#e3e2dd","#fcae8a","#ffb18d","#fb7d50","#e2e2dc","#e5e1dd","#e4e2de","#e3e2dd","#e1e2df","#f98b57","#fe7b3e","#fb5c32","#e1e3db","#dee4e0","#dee3de","#e6e1dc","#e6e1dd","#f0dfd5","#fb7231","#fa4345","#f2d8d4","#fadcda","#f8dcd8","#dbe5de","#dee3e3","#dde3e3","#fb5f31","#fc2159","#fc255a","#fd1f4f","#fb274b","#f96476","#fb7377","#fb7c6c","#fc3b12","#fd2487","#fd1f84","#fc1d7e","#fd1972","#fd0d58","#fc0e43","#fd1329","#fd2419","#f935b2","#f932b0","#fa2ca9","#fc279e","#fc2391","#fc207d","#fc2065","#fc2148"]}},{"metadata":{"title":"ASR Pro","summary":"A local-first Electron desktop transcription app with native Whisper, microphone capture, model management, transcript history, portable data, and startup controls.","publishedAt":"2026-05-16","projectDate":"2025-09-07","ascent":"#5D8CFF","github":"surajmandalcell/asrpro","links":[{"label":"Releases","href":"https://github.com/surajmandalcell/asrpro/releases","type":"repository"}],"tags":["ai","desktop","electron","whisper","react","typescript","appdev"],"weight":50},"slug":"asrpro","coverSrc":"/images/blog/asrpro/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#bab0b2","colors":["#e7e0e2","#eadfe3","#e9dde0","#e8dcdf","#eadee0","#ebe0e2","#ebe0e2","#ebe0e1","#e9e0e3","#ebdfe3","#e7dade","#e6d9dc","#e8dcde","#ebe0e2","#ebe0e1","#eadfe0","#e9e0e2","#e8dde0","#e8dbdf","#ecdfe2","#ebdfe1","#ebe0e1","#e9dedf","#eadee0","#e9e0e2","#ebdfe2","#e3d7d9","#b7aeaf","#c5bbbc","#e9dddf","#ebdfe1","#e8dcde","#e9dfe0","#d3c9ca","#c1b8b9","#aca5a5","#aba3a4","#aea6a7","#ded2d4","#ebdfe0","#d5caca","#545150","#393a3a","#3a3a3a","#3a3a3b","#393a3a","#bfb6b7","#ecdfe0","#d5ccce","#4b4b4d","#3a3a3a","#3d3c3c","#3b3a3a","#3a3a3a","#a49c9d","#ecdfe0","#d6cccd","#414141","#393a3a","#3b3b3b","#484747","#404040","#424142","#cdc1c3","#dbd0d1","#5e5b5c","#585556","#5b5959","#393a3a","#3b3c3c","#3b3b3b","#cec0c3","#e9ddde","#e6dadc","#eadddf","#ddced1","#b6a8ab","#aea0a4","#ac9fa3","#dcccd0","#e9dcde","#e9ddde","#e6d9db","#e1d0d4","#e4d0d6","#e4cfd5","#e6d3d9","#e3d3d8","#e8dbdd","#e7dbdc","#e5d7d9","#dfcdd1","#dac7cc","#d8c4cb","#dbc8cf","#e4d5da"]}},{"metadata":{"title":"Stream Toolbox","summary":"A media workspace that turns long videos into reviewed vertical clips.","publishedAt":"2025-12-31","projectDate":"2025-10-16","ascent":"#5EA8FF","tags":["ai","media","video","dashboard","automation","fullstack"],"weight":40},"slug":"stream-toolbox","coverSrc":"/images/blog/stream-toolbox/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#87878a","colors":["#3c3943","#383946","#3a3945","#3b3942","#3a3943","#3b3944","#3b3943","#3b3943","#393945","#42434d","#42424c","#3a3a3e","#3b3940","#3c3942","#3a3941","#3b3941","#2e3c45","#2c4a59","#485c57","#464042","#3d393d","#3d393f","#3b393f","#3c3941","#4d575e","#8b9ea3","#aab3af","#c8c5c3","#e4e2e0","#e2e2e2","#bebdbf","#3d393e","#8c9098","#e2e2e2","#dfe3e3","#dbe4e7","#d8e3ef","#e2e2e2","#d3d1d2","#3e393e","#6a6c69","#dfe3e6","#d1e2fa","#d6e3f6","#d9e3f1","#e2e2e2","#e3e2e2","#3f393c","#555652","#e2e2e2","#e4e2e1","#e3e2e0","#e3e2e0","#e2e2e2","#e0e2e5","#585b68","#3f3935","#dcdbda","#e2e2e2","#e1e2e3","#e1e2e3","#e2e2e3","#e2e2e2","#a7aebd","#423835","#d9d9da","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#888a95","#413834","#afaca9","#e0dfdf","#e3e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#7c6e63","#413835","#413837","#433835","#413835","#3f393a","#554e50","#7a7776","#403938","#423836","#403937","#443834","#443834","#3e3939","#3c3a3a","#3a3a3a","#403939"]}},{"metadata":{"title":"Switch AI Agent Account","summary":"A small Go CLI for switching local app profiles by backing up and restoring file or folder configs for Codex, Claude, VSCode, Cursor, SSH, Git, and more.","publishedAt":"2025-12-29","projectDate":"2025-09-03","ascent":"#F59E0B","github":"surajmandalcell/switch","tags":["go","cli","developer-tools"],"weight":30},"slug":"switch","coverSrc":"/images/blog/switch/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#b4c5cb","colors":["#d8e4e8","#d3e6ed","#d0e6ef","#d1e6ee","#d4e5eb","#d6e5ea","#d5e5ea","#d4e5ea","#d6e5ea","#d2e6ef","#cfe6ef","#d0e6ee","#d3e5ec","#d5e5ea","#d5e5eb","#d5e5ea","#d5e5ec","#d2e6ed","#d1e6ef","#d1e6ee","#d3e5eb","#d6e5ea","#d5e5eb","#d4e5ea","#d5e5ea","#d3e6ec","#d3e6ed","#bbcacf","#becbcf","#d4e5eb","#d4e5ea","#d3e5ea","#d7e4e9","#c0ced3","#b8c5ca","#a5b0b5","#9ca7ac","#a7b4b8","#d4e5eb","#d4e5eb","#abb6bb","#3a3a3c","#393a3c","#393a3c","#393a3d","#393a3c","#c4d3d8","#d3e5eb","#abb7bb","#393a3d","#393a3d","#3a3a3d","#393a3d","#383a3d","#cadbe0","#d3e6ec","#d0dfe4","#a5b4b9","#afbcc2","#aebbc0","#8b989d","#8f9ea2","#b0c2c9","#cfe4eb","#d3e5ea","#d4e5eb","#d3e6e9","#d2e6ed","#343b3d","#3b3a3c","#3b3a3d","#9eb0b7","#d4e5eb","#d3e5eb","#d3e6ec","#cde5ee","#a2bbc5","#98b0bb","#94aab3","#c2dbe5","#d3e5ea","#d3e5eb","#d2e6ed","#cbe7f1","#c6e8f6","#c4e9f6","#c5e9f3","#cae7f2","#d3e5eb","#d3e5eb","#d1e6ed","#cbe7f2","#c4e5f1","#c0e4f3","#c4e6f3","#cde7f1"]}},{"metadata":{"title":"Lunatecz Client Website","summary":"A cinematic Next.js platform for an artist and company running shows, events, services, shop flows, and wearable lighting products.","publishedAt":"2025-12-19","projectDate":"2025-08-19","ascent":"#F45C7A","links":[{"label":"Live site","href":"https://lunatecz.com","type":"website"},{"label":"Instagram","href":"https://www.instagram.com/lunaivanaa","type":"social"},{"label":"YouTube","href":"https://youtube.com/c/LUNAflyttefrem","type":"social"}],"tags":["nextjs","commerce","events","stripe","webdev","fullstack"],"weight":20},"slug":"lunatecz","coverSrc":"/images/blog/lunatecz/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#2b4862","colors":["#3964a6","#5a7db5","#104172","#19548c","#30639b","#3673a7","#2d618c","#104075","#1c4e8d","#304d79","#274f84","#3a6cab","#1c3f67","#175c94","#5088b8","#4b83ab","#1e3e62","#234365","#325a88","#18426c","#1f3f5b","#3d698a","#437496","#283d4f","#1a4b7d","#285688","#2a3c52","#315676","#5080ab","#2b3c4e","#1b4060","#2c3c4f","#1f4c72","#263e4e","#233f50","#264760","#234055","#2a3d4a","#293d4b","#3c5e80","#1a405d","#313c3d","#4e5e67","#2a4a5e","#2e5066","#333c3d","#383b37","#233e59","#243e57","#343c3c","#44535b","#546d81","#4d5d6c","#343c3d","#353b3b","#243e56","#253e55","#343b3b","#333c3e","#2d3d45","#333c3e","#343b3c","#343b3b","#2c3c4b","#1b4060","#353c3b","#2f3c40","#313c3f","#313c3f","#323c3e","#343c3c","#293d4d","#253d55","#313c44","#2c3d48","#274457","#2d3c49","#2d3d46","#363b3f","#243e54","#184063","#1a3f65","#184061","#204a6d","#1d3f64","#124266","#1e3f5c","#213e5a","#104265","#194066","#203e5b","#2e3b4e","#223e5b","#213f55","#2b3c4c","#223f55"]}},{"metadata":{"title":"Canada Post Conversational BI","summary":"A four-person 2024 capstone I led: a BI system that turned plain-language questions into SQL-backed tables, charts, and follow-up analysis.","publishedAt":"2024-03-27","projectDate":"2024-05-09","ascent":"#CA261A","links":[{"label":"LinkedIn post","href":"https://lnkd.in/p/gnQrrgWJ","type":"social"}],"tags":["ai","datascience","openai","postgresql","react","nodejs","webdev","fullstack","college","bisi"],"weight":10},"slug":"canada-post-ai-assisted-bi","coverSrc":"/images/blog/canada-post-ai-assisted-bi/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#ac5257","colors":["#a11d26","#a01e22","#a21e21","#a41d21","#a81b23","#ad1a27","#b11828","#b31828","#a61b2b","#a61c27","#a31d21","#a31d1f","#a41e1e","#a91c20","#a91c1e","#aa1b21","#a51c2d","#ac1a2e","#a61c21","#a51d1e","#a21e1e","#9d1f1f","#992020","#ae1929","#932224","#981f2a","#9f2f3c","#932d32","#7d2829","#7b3030","#912228","#b4172d","#842629","#792b2c","#914e4d","#915354","#955a5b","#b05c63","#ac1a2e","#b0182d","#864448","#dee2e7","#e2e2e6","#e2e2e2","#e0e3e4","#e1e2e4","#a81b2f","#af1929","#8d4645","#dde3ec","#b9cbf5","#e4e2e1","#e1e2e4","#e4e1e2","#c87583","#aa2c39","#953f3f","#e0e3e3","#94b5f9","#e0e2e9","#e2e2e1","#e7e1e4","#dee3e3","#b96167","#962127","#a8444d","#b15661","#e3e2e5","#e2e2e2","#e0e2e2","#dde3e3","#b45a5d","#9b1f22","#a11e24","#9a2421","#b45e56","#b55e5d","#b35c61","#b35a67","#9f3236","#932220","#962925","#9a332a","#9b2e22","#98221d","#9a2020","#a31c2a","#952123","#8f2420","#912a22","#953127","#9c382c","#982f29","#962a27","#962128","#8f2423"]}},{"metadata":{"title":"Terraform \u0026 Ansible Scalable IaC Project","summary":"A college infrastructure project that uses Terraform to provision Azure resources and Ansible to configure the Linux VM fleet.","publishedAt":"2023-09-01","projectDate":"2023-08-21","ascent":"#EE0000","github":"surajmandalcell/automation-final-terraform-ansible","tags":["automation","college","ccgc","terraform","ansible","devops","infrastructure"],"weight":1},"slug":"terraform-ansible-final-ccgc","coverSrc":"/images/blog/terraform-ansible-final-ccgc/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#d6e1e0","colors":["#d9e4e2","#d9e4e2","#d9e4e2","#d9e5e3","#d9e4e2","#d9e4e2","#d9e4e2","#d9e4e2","#d9e4e2","#d9e4e2","#d4dfdd","#d4dfdd","#d7e2e0","#d3dedc","#d9e4e2","#d9e4e2","#d9e5e3","#d2ddda","#afb7b5","#a9b2b0","#afb9b7","#acb5b3","#d1dcda","#d9e5e3","#dae4e3","#d9e4e8","#d9e4e7","#dce4e3","#dde3e1","#dde3e2","#dde3e1","#dbe4e2","#dae3e4","#d6e3f5","#bac8cf","#ced2d5","#e2e2e2","#e2e2e1","#e0e2e1","#dbe4e2","#dae4e3","#dfe2e6","#d8e5e7","#d7e6e0","#dbe5db","#d8e5e6","#d8e4ea","#dae4e3","#dae4e3","#e3e1e3","#cce7eb","#c6e5d5","#d5e3c4","#c6d8da","#d5e5ed","#dae4e3","#dbe4e3","#e0e2e5","#dce4e1","#dae5dc","#d9e5de","#cae7ee","#d6e4ed","#d9e4e3","#dbe4e3","#e0e2e4","#dae4e0","#d9e6da","#d8e5dc","#c3e4eb","#dae4e7","#dae4e3","#dbe4e3","#e3e2e2","#d4e5ed","#c4dedd","#cee7de","#c9e7e6","#bee2e7","#d8e5e6","#dae4e2","#dee3e1","#dae4e5","#d9e4e3","#dbe4e2","#d9e5e5","#d6e5e4","#dae4e2","#d9e4e2","#d8e4e2","#dae5e2","#dae4e2","#d9e4e2","#dae4e2","#dbe4e2","#d9e4e2"]}},{"metadata":{"title":"My work at Pointo","summary":"How I built Pointo's operations dashboard and platform services, and helped build the rider and driver backends.","publishedAt":"2026-08-11","projectDate":"2021-09-30","ascent":"#17B86F","links":[{"label":"Pointo.in","href":"https://www.pointo.in","type":"website"},{"label":"LinkedIn","href":"https://www.linkedin.com/company/pointoindia","type":"social"}],"tags":["pointo","mobility","dashboard","backend","fullstack","operations"],"weight":1},"slug":"pointo-platform","coverSrc":"/images/blog/pointo-platform/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#707761","colors":["#254138","#17452f","#13592f","#438748","#7a9e52","#9da54e","#bcac4a","#d3b243","#283f38","#3c5e50","#266542","#388047","#759d57","#9ba556","#bbac52","#d2b14c","#394c47","#6e867c","#497a61","#2e7945","#64944f","#8e9b4d","#b2a34a","#ceac4d","#2f3d38","#5e6c66","#7d9388","#87a08f","#94a48e","#a3a88c","#b2ad92","#c8b071","#303c3e","#dedde0","#e2e2e2","#e2e2e3","#dfe2e5","#e2e1e6","#e1e2e2","#e3d2a9","#303d3e","#636467","#aa9595","#a18d8d","#9d8e8b","#a4a18f","#a18f91","#b59c79","#333c3b","#474042","#e4aca6","#e2aaa6","#e7aca4","#e2c7a1","#e7a5a8","#d4a689","#2e3e3b","#373b34","#727468","#595d52","#594d48","#5a484a","#534547","#8b745c","#28403a","#26403a","#393a3c","#393a3b","#383b3c","#383b39","#363b3d","#695c46","#273f3a","#254139","#3c393a","#3e393a","#3e393a","#3c393a","#383a3e","#685a49","#26403a","#214239","#2a3f38","#274038","#2d4139","#414941","#43423b","#877260","#26403a","#174537","#085039","#196f55","#458b72","#7b9980","#aca48b","#ceaa91"]}},{"metadata":{"title":"Blooms \u0026 Beyond Shopify Rebuild","summary":"A Jammu flower and gifting store got a cleaner, faster storefront that is easier to shop and trust. Under the hood, the rebuild moved Shopify Liquid to Hydrogen with stronger UX, SEO, cart, and delivery flows.","publishedAt":"2026-05-25","projectDate":"2026-05-06","ascent":"#0A2A66","links":[{"label":"Live store","href":"https://bloomsandbeyond.shop/","type":"website"},{"label":"Instagram","href":"https://www.instagram.com/bloomsandbeyond.jammu/","type":"social"},{"label":"Facebook","href":"https://www.facebook.com/profile.php?id=61584696810091","type":"social"}],"tags":["shopify","hydrogen","commerce","seo","react","webdev","fullstack"],"weight":0},"slug":"blooms-and-beyond","coverSrc":"/images/blog/blooms-and-beyond/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#e5d6d8","colors":["#e7e1e4","#e7e1e4","#eae0e3","#ebdfe4","#eedee4","#f2dde4","#f3dde3","#f4dde4","#e9e0e3","#e9e0e3","#eadfe2","#eadce1","#f0dde3","#f2dde4","#f4dde4","#f4dce4","#e8dee1","#d5cace","#e4d7dc","#e4d4d9","#ddccd1","#f1dae1","#f4dde4","#f5dce4","#eddfe4","#ebdfe1","#e6e1dd","#e6e2db","#dfbba9","#b87f74","#efd7dc","#f3dce5","#f0dee5","#eadfe2","#d5d7d5","#e6e2db","#debeaf","#d1a398","#f1dade","#f6dce5","#e1d3d6","#b9a6a5","#dedbdb","#e6e1e1","#e4e2e1","#e0e2e1","#e5e1e0","#eae0e0","#e1d8d8","#9a8b84","#d4d2d1","#e2e2df","#e7ddd9","#bca8a8","#d7cccb","#e1d6d5","#eae0e0","#e3d7d5","#d9d0d2","#e7e1dc","#ddc5bd","#d7bdb3","#d3cfd0","#eadce1","#ebdfe1","#e7dddc","#d3c5c5","#d7cdc7","#eae0da","#dfe4dd","#cfcccf","#eddfe4","#f5dce3","#dbd1d3","#cecdce","#e3e2e5","#d8dee1","#d4d1d5","#edd9df","#f6dce3","#f7dce5","#e9d7db","#d7cfce","#ded7d9","#dad6d7","#dbd4d4","#f3dde4","#f4dce3","#f7dbe4","#f7dbe4","#f3d7e1","#f2d5de","#f3d6df","#f4dae2","#f5dce4","#f3dde4"]}},{"metadata":{"title":"Highrays Brand And Campaign Platform","summary":"A combined case study for the Highrays umbrella brand site and TheHighraysYT campaign platform, covering Next.js 16, Drizzle/Postgres, payments, admin tooling, attribution, SEO, and Cloudflare deployment work.","publishedAt":"2026-05-24","projectDate":"2025-12-02","ascent":"#F31318","links":[{"label":"Highrays site","href":"https://www.thehighrays.com/","type":"website"},{"label":"HighraysYT","href":"https://www.thehighraysyt.com/","type":"website"},{"label":"Instagram","href":"https://instagram.com/thehighrays","type":"social"},{"label":"LinkedIn","href":"https://linkedin.com/company/thehighrays","type":"social"},{"label":"Facebook","href":"https://facebook.com/thehighrays","type":"social"},{"label":"X","href":"https://twitter.com/thehighrays","type":"social"}],"tags":["highrays","nextjs","commerce","payments","dashboard","postgresql","cloudflare","webdev","fullstack"],"weight":0},"slug":"highrays","coverSrc":"/images/blog/highrays/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#d6b9b9","colors":["#f4dddd","#fddbdb","#ffd6d5","#ffd5d3","#fcd7d5","#f9d9d7","#fad9d6","#f9d8d5","#f0d9d8","#e4cac9","#e3c5c4","#e7c8c6","#f0d0ce","#fbdad8","#f9d8d5","#f9d7d5","#e5b4b4","#c07576","#ba6c6d","#be7979","#da8787","#fdcdcb","#f8d8d6","#f9d5d3","#fedad9","#ffd1d0","#ffc4c3","#ffc6c4","#fbc6c4","#f8d2cf","#f9d9d6","#f9d5d3","#e6e1e1","#dee3e5","#e2e2e2","#e9e0e0","#f3dede","#f9dcdb","#f8cecc","#f9d2d0","#d5d8da","#a5999f","#eed4d7","#f0dedf","#e7e0e1","#efdede","#f25356","#f8a9a9","#eedee1","#efdee4","#e2e2e2","#e0e2e2","#dcd8d9","#ecdfdf","#f4b0b0","#f8c8c6","#e9e0dd","#e3e2e0","#e1e0de","#dfdcdb","#e4e2e0","#e0e2e1","#e8e1e0","#f6ccc9","#938f90","#393a3d","#3a3a3c","#45373a","#7f6e6f","#dee3e2","#f2dbdb","#f6c1bf","#74676a","#373a45","#3e3d41","#41383b","#58494c","#e6e1e2","#edcac9","#f9c1c0","#ceb2b1","#6b6e73","#67696c","#5a5e5f","#988383","#f5b5b4","#f3b9b8","#fac6c4","#edccca","#d4c2bf","#b6a09e","#ae8f8e","#d6a8a7","#fdb8b7","#f9bbba","#facac9"]}},{"metadata":{"title":"3D Printer Color Management","summary":"A Next.js and Supabase dashboard for tracking filament spools, printers, assignments, presets, photos, and usage.","publishedAt":"2025-12-07","projectDate":"2025-11-29","ascent":"#18D2B3","tags":["3d-printing","inventory","nextjs","supabase","dashboard","webdev","fullstack","appdev"],"weight":0},"slug":"3dtoolbox","coverSrc":"/images/blog/3dtoolbox/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#8b9a97","colors":["#d5e6e2","#cce8e2","#c9e9e2","#cae9e1","#cee8e1","#d1e7e0","#d0e7e0","#d0e8e0","#d0e2de","#b5ccc7","#b7d3cd","#bedad3","#cde8e0","#d0e7e0","#d0e8e0","#d0e8e1","#c8ddd8","#a6bbb6","#93a7a2","#a7beb8","#cfe8e0","#cfe8e0","#cfe8e0","#cfe8e0","#dee3e3","#aec2be","#393a3d","#373b3d","#3d4142","#424748","#abbeb9","#cde8df","#a9bbb8","#6b7271","#3b3a3d","#3a393d","#3b393b","#3b393c","#97a8a4","#cde8e0","#433737","#2d3d41","#3a393f","#383b3a","#353b43","#3d3843","#b9cbc4","#cee8e1","#674153","#343c3c","#3b3b2f","#45354b","#6d3d21","#2c4120","#61797d","#c4dbd4","#47465d","#46363a","#3d3b2d","#663f75","#8f7677","#576b3c","#215875","#9aadad","#3b3a3b","#373a3f","#3d3840","#403837","#334350","#644d4d","#6f707a","#b4dacf","#3a3f41","#4b5152","#5d6866","#607270","#495653","#373b3c","#434a4d","#c2ebe1","#cee8e0","#cde8df","#cbe9e0","#c3ece1","#bcede2","#addcd2","#a6d1c7","#c3ebe2","#cde8e0","#cde8df","#cbe9e0","#c2ebe1","#bcebe0","#b9eee2","#bbede2","#c6ebe2"]}},{"metadata":{"title":"IveEaten Food Memory App","summary":"A Flutter mobile app for remembering restaurants and dishes, with offline Hive storage, Riverpod state, cloud sync history, photos, tags, ratings, and export tools.","publishedAt":"2025-12-30","projectDate":"2025-08-20","ascent":"#5D5FEF","tags":["flutter","mobile","offline-first","firebase","appdev"],"weight":0},"slug":"iveeaten","coverSrc":"/images/blog/iveeaten/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#4d4e98","colors":["#555bd7","#5258d5","#5358d5","#555bd5","#575cd6","#565cd6","#575cd6","#575cd7","#5d62d8","#666bda","#656ada","#5c62d9","#565bd6","#575cd6","#565cd6","#575cd7","#6f73dd","#8b8fe2","#8a8ee2","#6469d3","#545ad7","#585dd8","#565cd5","#575cd6","#555bd7","#595fe5","#313580","#383946","#393949","#333670","#5d63e7","#575dd8","#484cb0","#373952","#393a40","#3a3a38","#3b3b34","#3a3a3d","#373858","#494eb4","#484cac","#3a3a36","#3a3a3b","#3a3a3f","#363769","#393949","#3a3a3a","#494db2","#5257c9","#383945","#3b3a39","#3a3a36","#3a3a3a","#3a3a3a","#393949","#5258cc","#595fdb","#383950","#393941","#373760","#383857","#38384d","#36385a","#585dd8","#5c62e4","#363860","#3a3a3e","#36385b","#37385c","#3b3a36","#36385f","#5d63e6","#5d63e7","#333671","#3c3a31","#3d3a34","#3c3b2f","#393a41","#414593","#5a5fe0","#585dd8","#4f57c9","#584675","#8d596b","#83525d","#514b97","#5860e2","#575cd4","#575dd7","#575dd9","#585edb","#565cd4","#595dd2","#575cd3","#565bd6","#575cd6"]}},{"metadata":{"title":"Local Delivery App","summary":"Shipped a complete food delivery platform in 3 months. Flutter app with real-time order tracking, React admin dashboard with analytics, push notifications, payment integration.","publishedAt":"2023-03-27","projectDate":"2023-03-27","ascent":"#EE0000","links":[{"label":"Official site","href":"https://madebymaa.in/","type":"website"},{"label":"Play Store","href":"https://play.google.com/store/apps/details?id=com.madebymaa.food","type":"app"},{"label":"App Store","href":"https://apps.apple.com/in/app/madebymaa/id6737498686","type":"app"},{"label":"Instagram","href":"https://www.instagram.com/eat_madebymaa/","type":"social"},{"label":"LinkedIn","href":"https://www.linkedin.com/company/madebymaa","type":"social"}],"tags":["madebymaa","flutter","mobile","react","dashboard","commerce","webdev","fullstack","appdev"],"weight":0},"slug":"madebymaa","coverSrc":"/images/blog/madebymaa/cover.png","coverMeta":{"width":3926,"height":4935,"columns":8,"rows":12,"averageColor":"#c3b8d3","colors":["#c5b7da","#c4b7da","#c5b7da","#c5b8da","#c5b7da","#c4b7da","#c5b7da","#c5b7d9","#c4b7da","#c5b7da","#c4b6da","#bfafd8","#bfb0d8","#c4b6da","#c4b7da","#c4b7da","#c4b7da","#c5b7da","#bbadcf","#a598ba","#a597ba","#bbadcf","#c5b7da","#c4b7da","#c5b7da","#c5b7da","#b0a8bc","#abaaac","#acabae","#b0a7bd","#c5b7da","#c5b7da","#c5b7da","#c3b5d9","#cac2d5","#e3e2e2","#e2e2e3","#c7bfd3","#c4b6d9","#c5b7d9","#c4b7da","#c4b7da","#bcb2c1","#c8c4ba","#d3cec2","#bbb1c0","#c4b6da","#c4b7da","#c4b7da","#c5b7da","#b0a8ba","#979593","#a5a29d","#b2a9b9","#c4b7da","#c4b7da","#c5b7da","#c4b6d9","#c9c1d3","#e2e2e1","#e2e2e2","#ccc5d7","#c3b5d9","#c5b7da","#c5b7da","#c4b6d9","#c5bcce","#e4e2e0","#e2e2e2","#ccc5d7","#c3b6d9","#c5b7d9","#c5b7da","#c4b6d9","#c5bed1","#e2e2e2","#e1e2e1","#c7bfd2","#c4b6d9","#c5b7d9","#c4b7da","#c5b7da","#b8acc9","#a79fb2","#a79fb2","#b7acc8","#c5b7da","#c4b7da","#c4b7da","#c5b7da","#c5b7da","#c4b6d9","#c4b6d9","#c5b7da","#c5b7da","#c4b7da"]}},{"metadata":{"title":"Art Crossword Puzzle","summary":"Built a branded weekly React crossword for Art Fervour, with JSON clue sets, responsive play, completion timing, analytics, social sharing, and a finish flow that promoted more games.","publishedAt":"2024-03-27","projectDate":"2020-10-09","ascent":"#ffdd00","links":[{"label":"Art Fervour","href":"https://artfervour.com/","type":"client"},{"label":"Instagram","href":"https://www.instagram.com/art.fervour","type":"social"},{"label":"LinkedIn","href":"https://www.linkedin.com/company/artfervour/","type":"social"},{"label":"Facebook","href":"https://www.facebook.com/share/1Az19umPhL/","type":"social"}],"tags":["artfervour","game","react","webdev"],"weight":0},"slug":"artfervour-crossword","coverSrc":"/images/blog/af-crossword/coverv2.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#574358","colors":["#642964","#642964","#642964","#642964","#642964","#602b5a","#5b2c61","#642964","#642964","#602c54","#562e62","#642964","#652a5e","#695056","#5f5069","#5f2b65","#652a5e","#b299c1","#8a817f","#5f2b65","#652a5e","#bea4cf","#949575","#5f2b65","#652a5e","#a48bc1","#8a9575","#5f2b65","#652a5e","#bea4cf","#98a48b","#5f2b65","#652a5e","#af95df","#a3a48c","#5f2b65","#652a5e","#bea4df","#a3a48c","#5f2b65","#652a5e","#a48bc1","#8a8b7f","#5f2b65","#652a5f","#583058","#58305f","#5f2b65","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a"]}},{"metadata":{"title":"Covid19 Tracker","summary":"Real-time COVID-19 dashboard for India. Angular 9 PWA with live case tracking, recovery trends, and installable offline support. Built and shipped when the pandemic hit.","publishedAt":"2020-03-20","projectDate":"2020-09-14","ascent":"#ffdd00","github":"surajmandalcell/covid-tracker-India","links":[{"label":"Live PWA","href":"https://covid.surajmandal.in","type":"website"}],"tags":["covid","dashboard","angular","pwa","webdev","appdev"],"weight":0},"slug":"covid-tracker","coverSrc":"/images/blog/covid-tracker/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#6e6f70","colors":["#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e2e2e2","#e3e3d3","#e0e1f1","#e2e2e2","#e2e2e2","#c1c2a6","#bfc2df","#e2e2e2","#e2e2e2","#393c2a","#343a4e","#e2e2e2","#e2e2e2","#3a3b2d","#343951","#e2e2e2","#e2e2e2","#393c2d","#353a4b","#e2e2e2","#e2e2e2","#393c2d","#343951","#e2e2e2","#e2e2e2","#3a3b2d","#343951","#e2e2e2","#e2e2e2","#393c2d","#343951","#e2e2e2","#e2e2e2","#393c2d","#343951","#e2e2e2","#e2e2e2","#3a3b2d","#343951","#e2e2e2","#e2e2e2","#696b4c","#66778c","#e2e2e2","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a","#3a3a3a"]}},{"metadata":{"title":"Elementary RemiX","summary":"Cherry-picked the best icons from multiple packs and unified them into one cohesive theme. Pixel-tuned for Elementary OS wingpanel sizing and HiDPI displays.","publishedAt":"2019-05-05","projectDate":"2019-05-10","ascent":"#94CFD6","github":"surajmandalcell/elementary-remiX","tags":["linux","desktop","theming","linux-icon-theme","photoshop"],"weight":0},"slug":"elementary-remix","coverSrc":"/images/blog/elementary-remix/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#bcc6ca","colors":["#dee3e3","#dce3e3","#dbe4e4","#dce4e3","#dde4e2","#dde3e0","#dde3e1","#dde3e1","#dde3e2","#dce4e4","#dae4e3","#dbe4e2","#dce4e1","#dde3e0","#dde3e1","#dde3e0","#dde3e2","#dce4e4","#dbe4e3","#dce4e2","#dde4e2","#dde3e1","#dde3e0","#dde3e1","#dde3e1","#d6dcda","#c1c8c6","#d3dad8","#d1d6d4","#cbd0cd","#dee3e1","#dde3e1","#dee3e1","#c7cdcd","#babebf","#c2c4c4","#b7b9ba","#b0b6b7","#c9d0cf","#dde4e1","#b0b6b7","#293c58","#7d798a","#d5c2c4","#827a8d","#5d6d84","#293d51","#b0babb","#acb6be","#203d69","#b6bec9","#e0e3e3","#e2e2e2","#cfd7de","#253d5c","#acb7ba","#adb8c2","#0f4178","#c2d2de","#e2e2e2","#e2e2e2","#dae3ee","#104267","#acbdc1","#b1bdc7","#173f70","#5e7692","#8892a0","#878d97","#717f8e","#243e5c","#aebabe","#dde4e2","#ced5d7","#c8cfd1","#cbd5d6","#c4d1cf","#c4d4d2","#ccdcdc","#dae4e4","#dde3e0","#dde3e0","#dce4e0","#dae5e2","#d8e5e4","#d7e5e5","#d8e5e4","#d9e5e4","#dde3e1","#dde3e1","#dce4e1","#d9e4e2","#d7e5e3","#d6e5e4","#d6e5e4","#dae4e3"]}},{"metadata":{"title":"Elementary X","summary":"Rewrote the Elementary OS GTK stylesheet to swap window controls for macOS-style traffic lights. Light and dark variants, full Pantheon desktop integration, GTK 3.22+.","publishedAt":"2018-01-23","projectDate":"2018-09-19","github":"surajmandalcell/elementary-x","links":[{"label":"Project page","href":"https://surajmandalcell.github.io/elementary-x/","type":"website"}],"tags":["linux","theming","elementary-os","os-theme","css"],"weight":0},"slug":"elementary-x","coverSrc":"/images/blog/elementary-x/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#b3c1c9","colors":["#dde3e9","#dae3ec","#d9e4ef","#d9e3ee","#dbe3ec","#dce3ea","#dce3eb","#dce3ea","#dce3eb","#d9e3ed","#d8e3ef","#d9e3ee","#dae3eb","#dce3ea","#dce3ea","#dbe3ea","#dce3eb","#d9e3ed","#d9e4ef","#d9e3ee","#dbe3eb","#dce3ea","#dbe3eb","#dbe3ea","#dce3eb","#dbe3eb","#b9bfc7","#c4c9d0","#c6cad0","#c8cdd3","#dde3ea","#dce3eb","#dbe3e9","#d4dfe7","#b9c6cd","#bac7ce","#bac7ce","#bfcbd3","#d1dde5","#dae3eb","#c8dce4","#89c3d0","#83b4c0","#77a4b0","#75a4b1","#7eb3bf","#80bfcc","#c1d8e1","#d5e5eb","#bdecf0","#667a7e","#36414c","#343e49","#698188","#bbecee","#cedfe6","#c2c9cf","#7e7876","#4f4c4f","#394047","#3b3f45","#43484c","#5e686a","#b7c3cb","#a3aab0","#3d393b","#3f393a","#383a3c","#363b3d","#2f3c41","#333b3f","#9aa6af","#d8e0e7","#c2cbd3","#c1c9d1","#bfc9d3","#bac7d4","#b5c6d5","#b8c7d4","#cdd9e7","#dbe3eb","#dbe3eb","#dae3ec","#d6e4f2","#cfe0f1","#cedff1","#d1e2f4","#d5e3f1","#dae3ea","#dbe3eb","#d9e2ec","#cfdcea","#c9d9ea","#c6d8eb","#cadbec","#d6e3f0"]}},{"metadata":{"title":"Potato Dark","summary":"Hugo blog theme for writers who want dark aesthetics without the bloat. Responsive layouts, related posts, Medium-style image zoom. Elegance in under 100KB.","publishedAt":"2018-03-27","projectDate":"2018-06-27","ascent":"#94CFD6","github":"surajmandalcell/potato-dark","links":[{"label":"Theme demo","href":"https://surajmandalcell.github.io/potato-dark/","type":"demo"}],"tags":["hugo","template","blog","css","theming","webdev"],"weight":0},"slug":"potato-dark","coverSrc":"/images/blog/potato-hugo-blog-theme/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#b6bbba","colors":["#dee3e3","#dce3e3","#dbe4e4","#dce4e3","#dde4e2","#dde3e0","#dde3e1","#dde3e1","#dde3e2","#dce4e4","#dbe4e4","#dbe4e3","#dde4e2","#dde3e1","#dde3e1","#dde3e0","#dde3e2","#dce4e3","#dbe4e3","#dce4e2","#dde3e1","#dee3e1","#dde3e0","#dde3e0","#dde3e1","#dce4e2","#cad1cf","#cad0ce","#c8cdcb","#d0d6d4","#dde4e1","#dde4e1","#dee3e1","#b6b8b9","#a7a8aa","#9e9fa0","#9fa0a1","#a6a7a8","#b5b7b8","#dbe1df","#aeb2b1","#3b393d","#3a393d","#3b3a3d","#3b393c","#3b3a3d","#3b393d","#abafae","#b2b6b6","#3a3a3d","#a8a7a5","#e4e2de","#e4e2df","#acaba9","#3a3a3d","#afb4b3","#b2b7b6","#3a3a3d","#c2c1bf","#e2e2e2","#e2e2e2","#c6c4c2","#3a3a3d","#aeb4b3","#adb1b1","#3a3a3a","#656364","#908e8d","#908e8d","#666465","#3a3a3a","#a8afae","#d8dedb","#a6aaa9","#9a9f9f","#949a9a","#909999","#949d9d","#a0a8a8","#d1dcdb","#dde4e1","#dde4e1","#dce4e1","#d9e4e2","#d7e5e3","#d6e5e4","#d6e5e4","#d9e5e4","#dde3e1","#dde4e1","#dce4e1","#d9e5e3","#d7e5e3","#d6e5e4","#d8e5e5","#d9e4e3"]}},{"metadata":{"title":"Elegant SDDM","summary":"Stripped the noise from Linux login screens. QML-based SDDM theme for KDE Plasma with clean typography, subtle animations, no visual clutter. Just type your password.","publishedAt":"2018-01-24","projectDate":"2018-01-24","ascent":"#1D99F3","github":"surajmandalcell/Elegant-sddm","tags":["linux","desktop","theming","qml"],"weight":0},"slug":"elegant-sddm","coverSrc":"/images/blog/sddm-theme/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#b1c4cd","colors":["#d9e4ec","#d4e5f1","#d1e5f3","#d2e5f2","#d4e5f0","#d6e4ed","#d6e5ee","#d5e4ee","#d7e4ee","#d3e5f3","#d0e5f4","#d1e5f4","#d4e5f0","#d6e4ed","#d5e4ee","#d5e4ee","#d5e4ee","#d3e5f2","#d0e5f3","#d1e5f3","#d5e5f0","#d5e5ee","#d5e4ee","#d5e4ee","#d6e4ee","#d4e5f0","#a7b5bf","#adbac3","#949ea4","#a3aeb6","#d5e4ee","#d5e5ef","#d7e4ed","#d6e4ee","#abb5bc","#aab4bb","#a7b1b8","#b0bbc3","#d5e5ef","#d4e5ef","#b9c7d2","#63737f","#7e949e","#87a0a9","#9eb4b7","#869aa2","#586776","#b3c2ce","#a4b4c0","#2f454e","#708783","#819391","#687d80","#304753","#2b3c4c","#9babb7","#aec1cc","#668082","#aabaad","#9ba9a0","#5e767a","#45626c","#2c4453","#9fb2c1","#b3c7d1","#728e8b","#9baea2","#a8b8ac","#a6b6aa","#97aaa1","#657e7f","#a4bccb","#cedfe9","#b9cbd1","#c3d4d7","#c9dbdf","#cbdee6","#c6dce4","#bad2db","#c2dbeb","#d5e5f1","#d5e5f1","#d2e5f3","#c7e2f5","#bcddf4","#badcf6","#c1e1f9","#cbe5f7","#d4e5f0","#d4e5f0","#d1e4f1","#c5e0f1","#beddf2","#bbdcf3","#bfdef4","#cde5f6"]}},{"metadata":{"title":"Gtk Alt Documentation","summary":"The GTK theming reference I wished existed. CSS selectors, widget hierarchy, inspector tricks, and real examples. Everything you need to build a Linux desktop theme from zero.","publishedAt":"2017-02-24","projectDate":"2017-03-15","ascent":"#4A90D9","github":"surajmandalcell/Gtk-Theming-Guide","links":[{"label":"Docs site","href":"https://gtkthemingguide.surajmandal.in","type":"docs"}],"tags":["linux","theming","docs-as-code","hugo","static-site","css","webdev"],"weight":0},"slug":"gtk-theming-guide","coverSrc":"/images/blog/gtk-theming-guide/cover.png","coverMeta":{"width":1875,"height":2500,"columns":8,"rows":12,"averageColor":"#d1d8e0","colors":["#dde3e9","#dae3ec","#d9e4ef","#d9e3ee","#dbe3ec","#dce3ea","#dce3eb","#dce3ea","#dce3eb","#d9e3ed","#d8e4ef","#d9e4ee","#dbe3ec","#dce3ea","#dce3ea","#dbe3ea","#dce3eb","#dae3ed","#d9e4ee","#d9e3ed","#dbe3ec","#dce3ea","#dce3eb","#dce3eb","#dbe3ea","#d3dbe3","#9ba1a8","#abb1b7","#a9aeb3","#a6abb0","#d7dee5","#dbe3eb","#dde3ea","#ced5dc","#a9aeb4","#acb2b8","#a3a8ae","#9ca2a8","#ced6dd","#dbe3eb","#dde3e9","#e0e2e4","#e0e2e5","#dfe2e4","#e2e2e2","#e2e2e2","#e0e2e4","#dce3e9","#dde3e8","#e2e2e2","#e1e2e3","#e0e3e4","#ccd0d5","#c9cdd2","#e2e2e1","#dee3e9","#dee3e9","#e2e2e2","#dee3e5","#ced8dd","#5d6c7b","#4e5d6d","#e1e2e4","#dce3e9","#dee3e9","#e2e2e2","#e0e2e3","#dde3e4","#89929c","#7a848f","#e3e2e1","#dbe3eb","#dce3ea","#dee3e8","#dee3e8","#dde3eb","#dae3ec","#dae3ed","#dae3ec","#d6e2ee","#dbe3eb","#dae3eb","#d9e3ec","#cedceb","#c6d7e9","#c3d6ea","#c8daed","#d3e1ef","#dbe3eb","#dbe3eb","#dae3ec","#d1deec","#cbdbec","#c8daed","#ccddee","#d7e4f1"]}}]}}