[{"data":1,"prerenderedAt":201},["ShallowReactive",2],{"sidebar-posts":3,"post-count":78,"post-\u002Fabout-mydash-whats-the-stack-and-why-did-i-choose-it":79,"page-\u002Fabout-mydash-whats-the-stack-and-why-did-i-choose-it":191,"neighbours-\u002Fabout-mydash-whats-the-stack-and-why-did-i-choose-it":193,"post-projects-\u002Fabout-mydash-whats-the-stack-and-why-did-i-choose-it":198},[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",19,{"id":80,"title":60,"body":81,"date":61,"description":179,"draft":180,"extension":181,"image":182,"meta":183,"navigation":184,"path":59,"projects":185,"readingTime":172,"seo":187,"stem":188,"tags":189,"updated":191,"__hash__":192},"posts\u002Fabout-mydash-whats-the-stack-and-why-did-i-choose-it.md",{"type":82,"value":83,"toc":170},"minimark",[84,88,98,109,114,123,126,140,144,147,150,154,157,161],[85,86,87],"p",{},"As a solopreneur with a marketing background and coder rather by accident most of my stack and framework decisions are made by two main factors:",[89,90,91,95],"ul",{},[92,93,94],"li",{},"whatever works",[92,96,97],{},"what I already know or what is easiest to learn \u002F feels most intuitive",[85,99,100,101,108],{},"This also applied for my framework decisions for ",[102,103,107],"a",{"href":104,"rel":105},"https:\u002F\u002Fmydash.io",[106],"nofollow","myDash - the all-in-one affiliate dashboard",".",[110,111,113],"h2",{"id":112},"frontend","Frontend",[85,115,116,117,122],{},"Before starting to code myDash frontend development was the field I was most experienced in. I already worked with Angular 1 and Ionic for ",[102,118,121],{"href":119,"rel":120},"https:\u002F\u002Fpacktor.com",[106],"Packtor - The Packing List creator"," for example. So it was a pretty easy choice to just start with angular 1 again.",[85,124,125],{},"I did consider switching to Angular 2 (or 4?!?) but there where so many changes (the least being the use of typescript) that it felt like a whole new framework rather then merely a development. So I scratched it for the sake of ease and development speed. Furthermore I use bower, grunt and sass in the development process.",[85,127,128,129,134,135,139],{},"In the last month I kept looking into and worked with ",[102,130,133],{"href":131,"rel":132},"https:\u002F\u002Fvuejs.org\u002F",[106],"vue.js"," as an alternative to Angular 1 rather than Angular 2. It feels closer to what I’m used to and I want to try it in my next project. The much hyped React on the other hand is no option for me since it has a very steep learning curve ",[136,137,138],"del",{},", is owned by Facebook"," and I don’t like the resulting markup one bit. 🤢",[110,141,143],{"id":142},"backend","Backend",[85,145,146],{},"As mentioned before I was not really experienced in backend development prior to myDash and I was a bit scarred of it at first. Since I don’t like nor really understand php but do like and understand javascript, Nodejs was the obvious choice. I am really happy with this decision.",[85,148,149],{},"I did work with Nodejs before but not on the scale I do now with myDash. I got a grip of it pretty fast and now I’m not at all scarred of backend development and API connections anymore - in fact they are fun and I spend days between my console and my code editor with out ever looking at the browser. 👨🏻‍💻",[110,151,153],{"id":152},"database","Database",[85,155,156],{},"I chose MySQL for myDash which is probably unexpected considering that MongoDB usually goes with Nodejs and Angular. So why did I choose MySQL? Mainly because of the graphic interface of phpMyAdmin which I knew and liked and because Sequelize makes working with Nodejs and SQL databases quite easy.",[110,158,160],{"id":159},"server","Server",[85,162,163,164,169],{},"Like most of my other projects myDash is hosted on ",[102,165,168],{"href":166,"rel":167},"https:\u002F\u002Fm.do.co\u002Fc\u002Ff5a70d4a6dbb",[106],"DigitalOcean",". I already set up a few servers there before and really dig their how-to’s. Other cloud server providers like AWS or Google scare me with their backend and pricing structure which I just don’t understand. I do backup the digital ocean server to an AWS bucket though.",{"title":171,"searchDepth":172,"depth":173,"links":174},"",2,3,[175,176,177,178],{"id":112,"depth":172,"text":113},{"id":142,"depth":172,"text":143},{"id":152,"depth":172,"text":153},{"id":159,"depth":172,"text":160},"Learn about my framework choices for my startup myDash for frontend, backend, database and server and why I took them.",false,"md","\u002Fimg\u002Fmydash-frameworks.png",{},true,[186],"mydash",{"title":60,"description":179},"about-mydash-whats-the-stack-and-why-did-i-choose-it",[190],"startup",null,"r1mDpg2i2LRyzSmDb1YDGEj-GmWUKQrr5BMzxMayK78",[194,196],{"title":56,"path":55,"stem":195,"children":-1},"a-new-year-and-a-new-startup",{"title":64,"path":63,"stem":197,"children":-1},"super-fast-wordpress-hosting-germany",[199],{"id":186,"title":200},"MyDash",1793264868623]