[{"data":1,"prerenderedAt":200},["ShallowReactive",2],{"sidebar-posts":3,"post-count":63,"project-keylogs":64},[4,8,12,16,20,24,28,32,35,39,43,47,51,55,59],{"path":5,"title":6,"date":7},"\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":9,"title":10,"date":11},"\u002Fwhy-i-built-pepelly","Why I built Pepelly, a YouTube app for my daughter without the brain rot","2026-10-22",{"path":13,"title":14,"date":15},"\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":17,"title":18,"date":19},"\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":21,"title":22,"date":23},"\u002Fnetlify-build-plugin-for-nuxt-dynamic-routes","Use a netlify build plugin to generate your nuxt routes","2020-08-08",{"path":25,"title":26,"date":27},"\u002Foptimized-responsive-lazyloading-images-with-nuxt","How to use optimized, responsive and lazyloading images in a nuxt project","2019-11-16",{"path":29,"title":30,"date":31},"\u002Fnuxt-jam-stack","Building a SEO optimized blog with a Nuxt JAM stack and Markdown files","2019-11-07",{"path":33,"title":34,"date":31},"\u002Fprismjs-nuxtjs-static-pages","Getting Prismjs working with Nuxt",{"path":36,"title":37,"date":38},"\u002Fkeylogs-live-on-producthunt","My second launch this year: Keylogs is LIVE on Product Hunt today!","2018-02-12",{"path":40,"title":41,"date":42},"\u002Fa-new-year-and-a-new-startup","A new year and a new startup","2018-01-19",{"path":44,"title":45,"date":46},"\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":48,"title":49,"date":50},"\u002Fsuper-fast-wordpress-hosting-germany","WordPress hosting test: super fast on raidboxes.eu","2016-12-09",{"path":52,"title":53,"date":54},"\u002Fbest-resources-for-stock-images","Best resources for stock images","2016-12-05",{"path":56,"title":57,"date":58},"\u002Fset-up-automatic-backups-for-parse-server-on-digital-ocean","Set up automatic backups for parse-server on digital ocean","2016-05-25",{"path":60,"title":61,"date":62},"\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",15,{"project":65,"projects":79,"events":173,"activity":187},{"id":66,"title":67,"url":68,"domain":69,"image":70,"description":71,"platform":72,"status":73,"started":74,"ended":-1,"relaunched":75,"endedLabel":76,"age":77,"postCount":78},"keylogs","Keylogs","https:\u002F\u002Fkeylogs.io","keylogs.io","\u002Fimg\u002Fkeylogs.jpg","Better Google Search Console insights.",null,"active","2017-12","2026","running","8y",2,{"bestlinkedintools":80,"contentin":91,"derkinzi":100,"gootics":109,"keylogs":120,"mydash":121,"packtor":129,"packwild":135,"pepelly":142,"slicefair":154,"viabam":161,"webmarken":167},{"id":81,"title":82,"url":83,"domain":84,"image":85,"description":86,"platform":72,"status":87,"started":88,"ended":-1,"relaunched":-1,"endedLabel":87,"age":89,"postCount":90},"bestlinkedintools","BestLinkedInTools","https:\u002F\u002Fbestlinkedintools.com","bestlinkedintools.com","\u002Fimg\u002Fbestlinkedintools.png","A directory of LinkedIn tools, built in a day with AI to bring traffic to ContentIn.","paused","2024-11","—",1,{"id":92,"title":93,"url":94,"domain":95,"image":96,"description":97,"platform":72,"status":73,"started":98,"ended":-1,"relaunched":-1,"endedLabel":76,"age":99,"postCount":90},"contentin","ContentIn","https:\u002F\u002Fcontentin.io","contentin.io","\u002Fimg\u002Fcontentin.jpg","My SaaS, an AI ghostwriter for LinkedIn posts.","2022-09","4y",{"id":101,"title":102,"url":103,"domain":102,"image":104,"description":105,"platform":72,"status":73,"started":106,"ended":-1,"relaunched":-1,"endedLabel":76,"age":107,"postCount":108},"derkinzi","derkinzi.de","https:\u002F\u002Fderkinzi.de","\u002Fimg\u002Fderkinzi-site.jpg","This blog. Rebuilt in 2026 with Nuxt 4 and Tailwind 4, styled like a code editor.","2016","10y",4,{"id":110,"title":111,"url":112,"domain":113,"image":114,"description":72,"platform":72,"status":115,"started":116,"ended":-1,"relaunched":-1,"endedLabel":117,"age":118,"postCount":119},"gootics","Gootics","https:\u002F\u002Fgootics.com","gootics.com","\u002Fimg\u002Fgootics.jpg","stopped","2017","unknown","?",0,{"id":66,"title":67,"url":68,"domain":69,"image":70,"description":71,"platform":72,"status":73,"started":74,"ended":-1,"relaunched":75,"endedLabel":76,"age":77,"postCount":78},{"id":122,"title":123,"url":124,"domain":125,"image":126,"description":72,"platform":72,"status":115,"started":116,"ended":127,"relaunched":-1,"endedLabel":127,"age":128,"postCount":78},"mydash","MyDash","https:\u002F\u002Fmydash.io","mydash.io","\u002Fimg\u002Fmydash.jpg","2018","1y",{"id":130,"title":130,"url":131,"domain":132,"image":133,"description":134,"platform":72,"status":87,"started":106,"ended":-1,"relaunched":-1,"endedLabel":87,"age":89,"postCount":78},"packtor","https:\u002F\u002Fpacktor.com","packtor.com","\u002Fimg\u002Fpacktor.jpg","The packing list creator.",{"id":136,"title":136,"url":137,"domain":138,"image":139,"description":72,"platform":72,"status":73,"started":140,"ended":-1,"relaunched":-1,"endedLabel":76,"age":141,"postCount":119},"packwild","https:\u002F\u002Fwww.packwild.de","packwild.de","\u002Fimg\u002Fpackwild.jpg","2013","13y",{"id":143,"title":144,"url":145,"domain":146,"image":147,"description":148,"platform":149,"status":150,"started":151,"ended":-1,"relaunched":-1,"endedLabel":152,"age":153,"postCount":90},"pepelly","Pepelly","https:\u002F\u002Fpepelly.app","pepelly.app","\u002Fimg\u002Fpepelly.jpg","A video player for children from 3 to 12 that plays only the YouTube channels you approve, with no Shorts, no autoplay and no recommendations.","mobile","upcoming","2026-10","not launched","new",{"id":155,"title":156,"url":157,"domain":158,"image":159,"description":160,"platform":72,"status":87,"started":88,"ended":-1,"relaunched":-1,"endedLabel":87,"age":89,"postCount":90},"slicefair","SliceFair","https:\u002F\u002Fslicefair.co","slicefair.co","\u002Fimg\u002Fslicefair.jpg","Equity tracking for bootstrapped startups that tracks founder contributions and splits equity fairly, based on the Slicing Pie framework.",{"id":162,"title":162,"url":163,"domain":164,"image":165,"description":166,"platform":72,"status":73,"started":127,"ended":-1,"relaunched":-1,"endedLabel":76,"age":77,"postCount":119},"viabam","https:\u002F\u002Fviabam.com","viabam.com","\u002Fimg\u002Fviabam.jpg","Tours and transfers.",{"id":168,"title":168,"url":169,"domain":170,"image":171,"description":172,"platform":72,"status":73,"started":106,"ended":-1,"relaunched":-1,"endedLabel":76,"age":107,"postCount":90},"webmarken","https:\u002F\u002Fwebmarken.com","webmarken.com","\u002Fimg\u002Fwebmarken.jpg","My agency.",[174,178,181,183],{"key":175,"kind":176,"date":75,"projects":177,"year":75},"keylogs-rebuilt","rebuilt",[66],{"key":36,"kind":179,"date":38,"projects":180,"title":37,"path":36,"year":127},"wrote",[66],{"key":40,"kind":179,"date":42,"projects":182,"title":41,"path":40,"year":127},[122,66],{"key":184,"kind":185,"date":74,"projects":186,"year":116},"keylogs-started","started",[66],{"days":188,"total":195,"activeDays":196,"currentStreak":197,"longestStreak":197,"from":198,"to":7,"repos":199},{"2026-07-14":189,"2026-07-15":190,"2026-07-16":191,"2026-07-17":192,"2026-07-20":193,"2026-07-22":90,"2026-07-23":90,"2026-07-27":90,"2026-10-09":90,"2026-10-13":192,"2026-10-14":90,"2026-10-15":90,"2026-10-16":194,"2026-10-17":78,"2026-10-18":90,"2026-10-19":90,"2026-10-20":90,"2026-10-21":90,"2026-10-22":90,"2026-10-23":90,"2026-10-24":90},51,23,34,7,22,3,162,21,12,"2025-10-19",5,1792851218030]