[{"data":1,"prerenderedAt":285},["ShallowReactive",2],{"/projects":3},{"id":4,"title":5,"body":6,"description":12,"extension":275,"meta":276,"navigation":277,"ogImage":278,"path":279,"seo":280,"sitemap":281,"stem":283,"__hash__":284},"pages/projects.md","Projects",{"type":7,"value":8,"toc":264},"minimark",[9,13,16,21,23,28,40,45,54,56,60,62,66,75,78,93,102,104,108,110,114,119,122,130,136,140,149,152,161,163,167,169,173,182,185,194,196,200,210,213,233,235,239,248,251],[10,11,12],"p",{},"These are a few of my personal side projects that I've spent my time on over the last few years. Some smaller, some a little more involving.",[14,15],"hr",{},[17,18,20],"h1",{"id":19},"_2026","2026",[14,22],{},[24,25,27],"h2",{"id":26},"intellipest","IntelliPest",[10,29,30],{},[31,32,36],"a",{"href":33,"rel":34},"https://intellipest.julian.center",[35],"nofollow",[37,38],"img",{"alt":27,"src":39},"/intellipest-screenshot.png",[41,42],"tags",{":tags":43,"label":44},"[\"PHP\", \"PHP-Parser\", \"ReactPHP\"]","Built with:",[10,46,47,48,53],{},"A composer package that enables a better development experience for ",[31,49,52],{"href":50,"rel":51},"https://pestphp.com",[35],"PestPHP"," in VS Code, Cursor, Zed, OpenCode and more via a dynamically generated helper file.",[14,55],{},[17,57,59],{"id":58},"_2025","2025",[14,61],{},[24,63,65],{"id":64},"laravel-image-transform-url","Laravel Image Transform URL",[10,67,68],{},[31,69,72],{"href":70,"rel":71},"https://github.com/ace-of-aces/laravel-image-transform-url",[35],[37,73],{"alt":65,"src":74},"/laravel-image-transform-url.png",[41,76],{":tags":77,"label":44},"[\"Laravel\", \"PHP\", \"Intervention Image\"]",[10,79,80,81,86,87,92],{},"A Laravel package that allows you to transform images via URL options. Inspired by ",[31,82,85],{"href":83,"rel":84},"https://aaronfrancis.com",[35],"Aaron Francis' blog post"," and ",[31,88,91],{"href":89,"rel":90},"https://developers.cloudflare.com/images/transform-images/transform-via-url",[35],"Cloudflare Images",".",[10,94,95,96,101],{},"Check out the blog post on ",[31,97,100],{"href":98,"rel":99},"https://laravel-news.com/laravel-image-transform-url",[35],"Laravel News",", super happy that they featured it!",[14,103],{},[17,105,107],{"id":106},"_2024","2024",[14,109],{},[24,111,113],{"id":112},"notifeeder","Notifeeder",[10,115,116],{},[37,117],{"alt":113,"src":118},"/notifeeder-screenshot.png",[41,120],{":tags":121,"label":44},"[\"Laravel\", \"Vue\", \"TailwindCSS\", \"Lemonsqueezy\"]",[10,123,124,125,92],{},"A SaaS application for turning RSS feeds into email newsletters. I found it quite interesting to work with the RSS protocol. It's also self-hosted on a VPS via ",[31,126,129],{"href":127,"rel":128},"https://coolify.io",[35],"Coolify",[131,132,133],"blockquote",{},[10,134,135],{},"Update December 2025: I've decided to take Notifeeder offline, as it's just been an experiment for me. I wasn't satisfied with the MVP and decided not to continue investing time into it.",[24,137,139],{"id":138},"hacker-news-clone","Hacker News Clone",[10,141,142],{},[31,143,146],{"href":144,"rel":145},"https://hn.julian.center",[35],[37,147],{"alt":139,"src":148},"/hn-screenshot.png",[41,150],{":tags":151,"label":44},"[\"Nuxt\", \"Vue\", \"TailwindCSS\", \"shadcn-vue\"]",[10,153,154,155,160],{},"A Hacker News clone that I made to my own taste. Clean, modern UI with infinite scrolling and tabs for categories. It uses the ",[31,156,159],{"href":157,"rel":158},"https://github.com/HackerNews/API",[35],"Hacker News API"," and Nuxt Server functions. Besides the comment section being a little buggy, I'm quite satisfied with how it turned out.",[14,162],{},[17,164,166],{"id":165},"_2023","2023",[14,168],{},[24,170,172],{"id":171},"skill-charts","Skill Charts",[10,174,175],{},[31,176,179],{"href":177,"rel":178},"https://skills.julian.center",[35],[37,180],{"alt":172,"src":181},"/skill-charts-screenshot.png",[41,183],{":tags":184,"label":44},"[\"React\", \"Mermaid.js\", \"Vite\", \"TailwindCSS\"]",[10,186,187,188,193],{},"Charts of my programming skills, made with ",[31,189,192],{"href":190,"rel":191},"https://mermaid.js.org",[35],"Mermaid.js",". I wanted to practice some more React and build something similar to Nuxt Content, but for Charts. Pretty happy with how it turned out!",[14,195],{},[24,197,199],{"id":198},"homepage","Homepage",[10,201,202],{},[31,203,206],{"href":204,"rel":205},"https://julian.center",[35],[37,207],{"alt":208,"src":209},"julian.center","/og-image.png",[41,211],{":tags":212,"label":44},"[\"Nuxt\", \"Nuxt Content\", \"TailwindCSS\"]",[10,214,215,216,86,221,226,227,232],{},"This website! It's a markdown-driven Nuxt project built with ",[31,217,220],{"href":218,"rel":219},"https:/content.nuxt.com",[35],"Nuxt Content",[31,222,225],{"href":223,"rel":224},"https://tailwindcss.com",[35],"TailwindCSS",". It was initially built with ",[31,228,231],{"href":229,"rel":230},"https://daisyui.com",[35],"DaisyUI"," as component library/theming system, but I wasn't quite satisfied with that, so I rewrote the whole project in vanilla Tailwind in early 2025.",[14,234],{},[24,236,238],{"id":237},"_1612","1612",[10,240,241],{},[31,242,245],{"href":243,"rel":244},"https://1612.julian.center",[35],[37,246],{"alt":238,"src":247},"https://1612.julian.center/og-image.png",[41,249],{":tags":250,"label":44},"[\"Nuxt\", \"PWA\", \"Web Push API\"]",[10,252,253,254,259,260,92],{},"An App that sends you a push notification every day at 16:12 (4:12pm). Inspired by ",[31,255,258],{"href":256,"rel":257},"https://vulfpeck.com",[35],"Vulfpeck's"," song ",[31,261,238],{"href":262,"rel":263},"https://youtu.be/jRHQPG1xd9o",[35],{"title":265,"searchDepth":266,"depth":266,"links":267},"",2,[268,269,270,271,272,273,274],{"id":26,"depth":266,"text":27},{"id":64,"depth":266,"text":65},{"id":112,"depth":266,"text":113},{"id":138,"depth":266,"text":139},{"id":171,"depth":266,"text":172},{"id":198,"depth":266,"text":199},{"id":237,"depth":266,"text":238},"md",{},true,null,"/projects",{"title":5,"description":12},{"loc":279,"lastmod":282},"2026-02-19T22:09:02+0100","projects","U6LnJrYH8nc_GzQR_rDFda_yXI-H2Mr95qimNBY9A-Y",1774690998913]