[{"data":1,"prerenderedAt":158},["ShallowReactive",2],{"sidebar-posts":3,"all-posts":78,"post-count":157},[4,8,12,16,19,23,27,31,35,39,43,47,50,54,58,62,66,70,74],{"path":5,"title":6,"date":7},"\u002Fbuilding-take-contentin-mobile-app","I built a ContentIn mobile app in one night and tested it from the sauna","2026-10-29",{"path":9,"title":10,"date":11},"\u002Fmac-mini-claude-code-dev-server","My Mac Mini is my dev server, and one Claude Code session runs each project","2026-10-27",{"path":13,"title":14,"date":15},"\u002Fmax-out-claude-code-every-week","Max out Claude Code every week until I make 10K a month","2026-10-26",{"path":17,"title":18,"date":15},"\u002Fmaxing-out-claude-code-week-1","Maxing out Claude Code, week 1: a new blog, an app stuck in review and a full Mac Mini",{"path":20,"title":21,"date":22},"\u002Ffully-ai-coded-blog-claude-code","This blog is now fully AI coded and run by an agent I just talk to","2026-10-24",{"path":24,"title":25,"date":26},"\u002Fwhy-i-built-pepelly","Why I built Pepelly, a YouTube app for my daughter without the brain rot","2026-10-22",{"path":28,"title":29,"date":30},"\u002Fhow-i-built-an-equity-tracking-app-for-bootstrap-founders-in-a-weekend","How I Built an Equity Tracking App for Bootstrap Founders in a Weekend","2024-11-25",{"path":32,"title":33,"date":34},"\u002Fbuilding-directory-website-with-ai-in-a-day","How I Built a Directory Website in a Day with AI—and Why It's a Game-Changer for SaaS Traffic","2024-11-10",{"path":36,"title":37,"date":38},"\u002Fnetlify-build-plugin-for-nuxt-dynamic-routes","Use a netlify build plugin to generate your nuxt routes","2020-08-08",{"path":40,"title":41,"date":42},"\u002Foptimized-responsive-lazyloading-images-with-nuxt","How to use optimized, responsive and lazyloading images in a nuxt project","2019-11-16",{"path":44,"title":45,"date":46},"\u002Fnuxt-jam-stack","Building a SEO optimized blog with a Nuxt JAM stack and Markdown files","2019-11-07",{"path":48,"title":49,"date":46},"\u002Fprismjs-nuxtjs-static-pages","Getting Prismjs working with Nuxt",{"path":51,"title":52,"date":53},"\u002Fkeylogs-live-on-producthunt","My second launch this year: Keylogs is LIVE on Product Hunt today!","2018-02-12",{"path":55,"title":56,"date":57},"\u002Fa-new-year-and-a-new-startup","A new year and a new startup","2018-01-19",{"path":59,"title":60,"date":61},"\u002Fabout-mydash-whats-the-stack-and-why-did-i-choose-it","About myDash - What’s the stack and why did I choose it?","2017-10-16",{"path":63,"title":64,"date":65},"\u002Fsuper-fast-wordpress-hosting-germany","WordPress hosting test: super fast on raidboxes.eu","2016-12-09",{"path":67,"title":68,"date":69},"\u002Fbest-resources-for-stock-images","Best resources for stock images","2016-12-05",{"path":71,"title":72,"date":73},"\u002Fset-up-automatic-backups-for-parse-server-on-digital-ocean","Set up automatic backups for parse-server on digital ocean","2016-05-25",{"path":75,"title":76,"date":77},"\u002Fhow-to-run-parse-dashboard-alongside-parse-server-on-digital-ocean","How to setup parse-dashboard alongside parse-server on Digital Ocean","2016-05-18",[79,85,90,93,96,102,105,109,112,117,121,125,130,134,137,140,145,149,154],{"path":5,"title":6,"description":80,"date":7,"tags":81,"readingTime":84},"This week's build in my max out Claude Code challenge. Take by ContentIn, a Flutter app for one-off LinkedIn posts, designed and built by Claude, iterated on from the spa.",[82,83],"ai","startup",3,{"path":9,"title":10,"description":86,"date":11,"tags":87,"readingTime":89},"How I run all my projects from a Mac Mini. One Git repo per project, one Claude Code session as PM and dev lead, Opus sub-agents, tmux, Tailscale and remote control from my phone.",[82,88],"code",4,{"path":13,"title":14,"description":91,"date":15,"tags":92,"readingTime":84},"Years ago it took a month to build and launch a crude MVP. Now it's a week, marketing included. So I'm going to max out my Claude Code subscription every week until I make $10K a month.",[82,83],{"path":17,"title":18,"description":94,"date":15,"tags":95,"readingTime":84},"Week 1 of maxing out my Claude Code subscription. How I use Fable and Opus, a rebuilt blog, Pepelly stuck in App Store and Google review, ContentIn fixes and a full Mac Mini.",[82,83],{"path":20,"title":21,"description":97,"date":22,"tags":98,"readingTime":89},"I rebuilt this blog again, for the first time fully AI coded with Claude Code. Now I just do a brain dump and an agent turns it into a post and a changelog entry.",[82,99,100,101],"nuxt","markdown","content",{"path":24,"title":25,"description":103,"date":26,"tags":104,"readingTime":84},"My 5-year-old loves YouTube, but not the brain rot. So I built Pepelly, a kids' video app that only plays what I approve. Why, how, and how I'll market it.",[83,82],{"path":28,"title":29,"description":106,"date":30,"tags":107,"readingTime":108},"How I built SliceFair, an equity tracking app for bootstrap founders based on the slicing pie method, in one weekend with AI. What worked, what went wrong and what I learned.",[83,82],5,{"path":32,"title":33,"description":110,"date":34,"tags":111,"readingTime":108},"Learn how I leveraged AI tools to build BestLinkedInTools.com in just one day. Using Claude, GPT, and automation, I created a scalable directory website that drives traffic to my SaaS product while demonstrating the game-changing potential of AI in web development.",[83,82,101],{"path":36,"title":37,"description":113,"date":38,"tags":114,"readingTime":116},"When you get content from a headless CMS, sometimes you need to define a routes file for your nuxt build and sitemap file to work properly. Here I show you how to do that with netlify.",[99,115],"jamstack",2,{"path":40,"title":41,"description":118,"date":42,"tags":119,"readingTime":89},"How I went from a devastating 22% on GT-Metrix to a fast static blog with optimized, responsive and lazyloading images in Nuxt.",[99,115,120],"frontend",{"path":44,"title":45,"description":122,"date":46,"tags":123,"readingTime":124},"How to build a SEO optimized, static file blog with nuxtjs and markdown files. Including a sitemap.xml and category or tag pages.",[99,115],6,{"path":48,"title":49,"description":126,"date":46,"tags":127,"readingTime":129},"How to get prismjs to play nicely on a static website rendered with nuxt.",[99,128],"prism",1,{"path":51,"title":52,"description":131,"date":53,"tags":132,"readingTime":133},"I'm very exited to launch Keylogs on Product Hunt today. It's my second launch this year and here's a little background about my process making it.",[83],8,{"path":55,"title":56,"description":135,"date":57,"tags":136,"readingTime":124},"A new year and a new startup. In 2017 I have been fully focused on myDash and finally got it to a pretty stable state in Q4. It was an awesome process and I really learned how to deal with APIs in the process.",[83],{"path":59,"title":60,"description":138,"date":61,"tags":139,"readingTime":116},"Learn about my framework choices for my startup myDash for frontend, backend, database and server and why I took them.",[83],{"path":63,"title":64,"description":141,"date":65,"tags":142,"readingTime":124},"How I drastically improved my site speed by switching from a vserver to WordPress optimized hosting on raidboxes.eu",[143,144],"wordpress","hosting",{"path":67,"title":68,"description":146,"date":69,"tags":147,"readingTime":129},"My ongoing list of my favorite stock image resources. Both free and paid.",[148],"resources",{"path":71,"title":72,"description":150,"date":73,"tags":151,"readingTime":84},"How to set up automatic MongoDB backups for a parse-server running on a Digital Ocean droplet.",[152,153],"server","parse",{"path":75,"title":76,"description":155,"date":77,"tags":156,"readingTime":84},"How to set up parse-dashboard next to parse-server on the same Digital Ocean droplet (or any Ubuntu\u002Fnginx server) in four steps.",[152,153],19,1793264868310]