[{"data":1,"prerenderedAt":195},["ShallowReactive",2],{"project-20274249":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":9,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":37,"post_text":38,"what":39,"said":87,"maker_in_thread":134,"shape":141,"grid":144,"attempts":157,"same_week":158,"maker_shows":32,"maker_hidden":187,"reader_version":188,"card":189},"20274249","Staart","Open-Source Starter for SaaS Products","title","Show HN: Open-Source Starter for SaaS Products",null,"anandchowdhary",1561471375,2019,4,6,2082,2195,95,"shown","dev_tools","starter template","library",[23,24,25,26,27],"saas starter","node.js boilerplate","vue nuxt template","subscription billing","authentication","quiet",{"positive":30,"neutral":31,"mixed":30,"critical":32},0,1,2,3,{"design":35,"idea":36},{"positive":30,"critical":31},{"positive":30,"critical":31},[33,30,31,30,31,30],"For the past few months, I've been thinking about building a few different SaaS products.\n\nThe problem is that there's a lot of work to do before you even start building your product — adding support for recurring subscriptions, billing, GDPR compliance, authentication, . . . maybe your SaaS needs support for teams, scoped memberships, API key pairs, etc. etc., the list goes on.\n\nIntroducing Staart — the starter template for SaaS products. Written in Node.js\u002FTypeScript with a beautiful Vue.js\u002FNuxt.js Progressive Web App (PWA), Staart takes care of all the boilerplate required when building a S",{"problem":40,"audience":46,"pricing":9,"motivation":50,"time_to_build":9,"stack":59,"openness":84,"stage":85,"team_size":86},{"value":41,"source":42,"evidence":43},"Lots of boilerplate work (billing, subscriptions, GDPR, auth, teams) before building a SaaS product","maker",[44],{"id":45},"post",{"value":47,"source":42,"evidence":48},"Developers building SaaS products",[49],{"id":45},{"value":51,"source":42,"evidence":52},"Maker built it to streamline their own build-and-launch process for enterprise SaaS projects",[53,56],{"id":54,"by":10,"text":55},"20282800","I understand and this makes a lot of sense. For me, Staart was a way to streamline my own build-and-launch process and I designed the Stack to fit my personal needs. Based on…",{"id":57,"by":10,"text":58},"20282839","Thanks, madamelic. Like I said to codingdave, Staart was built as a tool for me, and I published it to see if others might want to use it too. I agree with you that 2FA, auth…",[60,64,68,72,76],{"value":61,"source":42,"evidence":62},"Node.js",[63],{"id":45},{"value":65,"source":42,"evidence":66},"TypeScript",[67],{"id":45},{"value":69,"source":42,"evidence":70},"Vue.js",[71],{"id":45},{"value":73,"source":42,"evidence":74},"Nuxt.js",[75],{"id":45},{"value":77,"source":78,"evidence":79},"MySQL","commenter",[80],{"id":81,"by":82,"text":83},"20274322","ecares","Why didn't you use a querybuilder (like knex) that is db agnostic? Here users are stuck with MySQL.","open_source","launched","unknown",{"praise":88,"objections":96,"requests":114,"questions":128,"alternatives":133},[89],{"value":90,"source":78,"evidence":91},"Good idea for a starter template",[92],{"id":93,"by":94,"text":95},"20276192","madamelic","Great idea, but I agree with codingdave. Too opinionated and only makes things more difficult. The more important things to a SaaS is the actual product and not the…",[97,105,109],{"value":98,"source":78,"evidence":99},"Too opinionated; ties users to specific databases and auth",[100,104],{"id":101,"by":102,"text":103},"20275107","codingdave","I love starter templates like this. But I have yet to use them in real products, because they are inherently opinionated. And I like my tech choices to be driven by product…",{"id":93,"by":94,"text":95},{"value":106,"source":78,"evidence":107},"Too much auth and cruft for an early-stage MVP",[108],{"id":93,"by":94,"text":95},{"value":110,"source":78,"evidence":111},"Hard to adopt and build on; merge conflicts when updating",[112,113],{"id":93,"by":94,"text":95},{"id":57,"by":10,"text":58},[115,119,124],{"value":116,"source":78,"evidence":117},"Make it database-agnostic, e.g. use a query builder like Knex",[118],{"id":81,"by":82,"text":83},{"value":120,"source":42,"evidence":121},"Let users pick and choose features (a builder)",[122,123],{"id":54,"by":10,"text":55},{"id":57,"by":10,"text":58},{"value":125,"source":78,"evidence":126},"Lighter landing page template",[127],{"id":93,"by":94,"text":95},[129],{"value":130,"source":78,"evidence":131},"Why not use a db-agnostic query builder like Knex",[132],{"id":81,"by":82,"text":83},[],{"comments":33,"answered":31,"key":135},[136,137,138],{"id":54,"text":55},{"id":57,"text":58},{"id":139,"text":140},"20282792","That sounds like a great idea! I found a few ORMs and decided to go that route first (for strong TypeScript support), but later dropped that idea to my current interface-MySQL…",{"commenters":13,"max_depth":32,"maker_replies":33,"first_comment_mins":142,"lifespan_hours":143},7,18,[145,147,149,151,153,155],[101,30,33,146,102,30],"project\u002Fneutral\u002Fdesign",[54,30,30,148,10,31],"maker\u002Fneutral\u002Fidea",[93,31,31,150,94,30],"project\u002Fcritical\u002Fidea",[57,31,30,152,10,31],"maker\u002Fneutral\u002Fdesign",[81,32,31,154,82,30],"project\u002Fcritical\u002Fdesign",[139,32,30,156,10,31],"maker\u002Fpositive\u002Fdesign",[],[159,164,168,173,178,183],{"id":160,"name":161,"points":162,"category":163},"20252097","noageismintech.com",523,"web_saas",{"id":165,"name":166,"points":167,"category":19},"20245913","Catj",388,{"id":169,"name":170,"points":171,"category":172},"20233376","collectoral.com",143,"productivity",{"id":174,"name":175,"points":176,"category":177},"20231328","The Star Maps",138,"creative",{"id":179,"name":180,"points":181,"category":182},"20247661","Fist",124,"data",{"id":184,"name":185,"points":186,"category":177},"20267629","Ludigraphix",106,false,"v2",{"id":190,"name":5,"line":6,"ai":187,"cat":19,"year":12,"points":13,"comments":14,"rec":28,"s":9,"top":17,"kw":191,"maker":10,"domain":192,"tier":18,"attempts":30,"strip":193,"url":-1,"mix":194,"praise":90,"objection":98,"sub":20},20274249,[23,24,25,26,27],"","301010",[30,31,30,32],1794036578640]