[{"data":1,"prerenderedAt":423},["ShallowReactive",2],{"project-35764635":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":45,"post_text":47,"what":48,"said":120,"maker_in_thread":257,"shape":264,"grid":268,"attempts":385,"same_week":386,"maker_shows":32,"maker_hidden":415,"reader_version":416,"card":417},"35764635","PySaaS","Python SaaS starter kit","title","Show HN: PySaaS – Python SaaS starter kit","https:\u002F\u002Fpysaas.io","pysaas.io","BowTiedRay",1682875362,2023,121,46,527,3109,17,"notable","dev_tools","saas starter kit","web_app",[24,25,26,27,28],"saas boilerplate","python web framework","pynecone","starter kit","full-stack python","roasted",-0.491,{"positive":32,"neutral":33,"mixed":32,"critical":34},1,11,21,34,{"idea":37,"design":40,"execution":42,"pricing":43},{"positive":38,"critical":39},0,2,{"positive":32,"critical":41},5,{"positive":38,"critical":39},{"positive":38,"critical":44},6,[46,38,32,32,32,46,46,32,32,38,32,46,32,32,32,46,32,32,32,32,38,32,32,38,32,38,46,32,32,38,38,46,38,46,46,32,32,38,41,46],3,"Hi HN,\n\nRecently, I’ve noticed there’s a decently high barrier to entry in developing competitive, full-stack SaaS applications.\n\nBeside the standard, boring features that take months to implement, you typically have to know several languages and frameworks, and be familiar with fancy frontend styling classes.\n\nI’m working hard right now to solve this problem by building PySaaS- The 100% pure Python SaaS starter kit.\n\nPySaaS is a boilerplate Python codebase that takes care of the fundamental components standard to all SaaS applications.\n\nThe codebase uses the Pynecone web framework to compile ",{"problem":49,"audience":55,"pricing":63,"motivation":75,"time_to_build":79,"stack":80,"openness":117,"stage":118,"team_size":119},{"value":50,"source":51,"evidence":52},"High barrier to building full-stack SaaS apps, which requires many languages and frameworks and months of work on standard features","maker",[53],{"id":54},"post",{"value":56,"source":51,"evidence":57},"Python developers and founders building SaaS apps",[58,59],{"id":54},{"id":60,"by":61,"text":62},"35766415","ludoro","As a ML engineer \u002F back end type of dev, I really like the idea that I can build everything in Python. Really tempted to buy it but I am a bit scared about support. Can you share…",{"value":64,"source":65,"evidence":66},"One-time lifetime payment with free updates; monthly tiers also listed","commenter",[67,71],{"id":68,"by":69,"text":70},"35766491","Lyngbakr","It looks like you get updates: > Get unlimited access for unlimited projects with a one-time payment and receive all updates 100% FREE. If they stop working on it, I imagine that…",{"id":72,"by":73,"text":74},"35769263","anakaine","The pricing page has monthly options for $69 and $420... not a fantastic look on launch day, lol.",{"value":76,"source":51,"evidence":77},"Lower the barrier to building SaaS apps for Python developers",[78],{"id":54},null,[81,85,89,93,99,103,107,111],{"value":82,"source":51,"evidence":83},"Python",[84],{"id":54},{"value":86,"source":51,"evidence":87},"Pynecone",[88],{"id":54},{"value":90,"source":51,"evidence":91},"NextJS",[92],{"id":54},{"value":94,"source":51,"evidence":95},"FastAPI",[96],{"id":97,"by":11,"text":98},"35766215","With PySaaS, your app's frontend is compiled down to a NextJS app, and FastAPI is built-in for the backend. UI components are fully-customizable, and are actually wrappers around…",{"value":100,"source":51,"evidence":101},"Firebase",[102],{"id":54},{"value":104,"source":51,"evidence":105},"Lemon Squeezy",[106],{"id":54},{"value":108,"source":51,"evidence":109},"Notion",[110],{"id":54},{"value":112,"source":51,"evidence":113},"Chakra UI",[114],{"id":115,"by":11,"text":116},"35766177","PySaaS uses the Pynecone web framework rather than Django or Flask. This allows you to build the entire stack in a single language instead of having to learn and switch between…","paid","launched","unknown",{"praise":121,"objections":134,"requests":190,"questions":209,"alternatives":231},[122,127],{"value":123,"source":65,"evidence":124},"Single-language stack appeals to Python developers",[125,126],{"id":60,"by":61,"text":62},{"id":115,"by":11,"text":116},{"value":128,"source":65,"evidence":129},"Nice logo",[130],{"id":131,"by":132,"text":133},"35771046","strzibny","Since I am now finishing my own SaaS boilerplate for Rails[0], it's interesting to me to see the choices and focus one's make. Py on the front-end is an interesting one. And a…",[135,150,161,175,182],{"value":136,"source":65,"evidence":137},"Compiling Python to NextJS adds fragile abstraction layers that are hard to debug",[138,142,146],{"id":139,"by":140,"text":141},"35767064","MajimasEyepatch","That kind of other-language-to-JS stuff works great for small, one-man projects that never go to production. Unfortunately, other than TypeScript, none of these solutions have…",{"id":143,"by":144,"text":145},"35767248","Alifatisk","> The frontend is compiled down to a NextJS app So, PySaaS > NextJS > React > Javascript How far will this abstraction layer reach?",{"id":147,"by":148,"text":149},"35767443","irskep","My worry with this kind of thing is that some random dependency will break and there will be no easy solution. Compiling Python to JS seems like a very fragile process. And if…",{"value":151,"source":65,"evidence":152},"Lifetime pricing creates misaligned incentives for long-term maintenance",[153,157],{"id":154,"by":155,"text":156},"35765885","tyingq","The lifetime one-time-payment pricing seems worrying to me. It feels like it would drive high levels of activity\u002Fmaintenance during a growth curve, then probably fall off…",{"id":158,"by":159,"text":160},"35767326","bazmattaz","Yeh whenever I see “life time” pricing I think the author Is impatient and\u002For greedy and just wants as much money up front as possible. Where’s the incentive to keep plugging…",{"value":162,"source":65,"evidence":163},"No visible contact info or company identity, looks scam-like",[164,168,172],{"id":165,"by":166,"text":167},"35766189","mytlogos","No contact info or something similar? How do we distinguish this from a \"scam\" site, if we do not have anyone to hold accountable? Social Media accounts do not count.",{"id":169,"by":170,"text":171},"35766751","mtmail","If I can't find even the juristriction I'm entering a contract with I usually bail. I wish at least the payment provider would force sellers to reveal the name and address on the…",{"id":173,"by":170,"text":174},"35766786","4000 followers on twitter with zero tweets. None seem to be software developers. This project is giving me more red flags than it should.",{"value":176,"source":65,"evidence":177},"Closed source paid product with little value over open-source parts",[178],{"id":179,"by":180,"text":181},"35767463","tholm","What is the value add here? It appears to be a closed source project that strings together many open-source projects, but the transparency is blocked by a paywall?",{"value":183,"source":65,"evidence":184},"Demo pricing page shows unusual monthly prices and Safari checkout fails",[185,186],{"id":72,"by":73,"text":74},{"id":187,"by":188,"text":189},"35766014","tempaccount1234","The buy-now page doesn’t load on safari (so I can’t check out the price) - but in general if you do the heavy lifting by using existing free Python tools you’ll have a hard time…",[191,198,202],{"value":192,"source":65,"evidence":193},"Clarify currency on pricing page",[194,195],{"id":169,"by":170,"text":171},{"id":196,"by":11,"text":197},"35767743","Will certainly clear up the pricing section. Yes, \"$\" is supposed to indicate US dollar.",{"value":199,"source":65,"evidence":200},"Clarify support and update plan if the project stops",[201],{"id":60,"by":61,"text":62},{"value":203,"source":65,"evidence":204},"Admin panel",[205],{"id":206,"by":207,"text":208},"35767260","icemelt8","Where is the admin panel?",[210,217,224],{"value":211,"source":65,"evidence":212},"How deep can custom UI be built?",[213],{"id":214,"by":215,"text":216},"35765887","zocoi","I’m not a fan of writing front end code with Python or any language other than JS\u002FTS. How deep can I customize or build feature rich UI? I still think the best combo is Rails\u002F…",{"value":218,"source":65,"evidence":219},"Is it safe to expose to the public internet without a reverse proxy?",[220],{"id":221,"by":222,"text":223},"35770932","quickthrower2","`pc run --env prod --port 80` Is this solid enough to expose to the sesspool of the public internet? Or should I reverse proxy it! I ask coming from Django where the steps to set…",{"value":225,"source":65,"evidence":226},"Does it use websocket and server-side state, which is acceptable for SaaS?",[227],{"id":228,"by":229,"text":230},"35770806","cruxcode","Doesn't Pynecone uses a websocket connection and stores application state in the backend? Are you suggesting these are acceptable for a SaaS application?",[232,239,246,250],{"value":233,"source":65,"evidence":234},"SaaS Pegasus, Djaodjin, SaaS Forge and other Django\u002FFlask boilerplates",[235],{"id":236,"by":237,"text":238},"35765904","techn00","How is it different from: Django (Python) ``` SaaS Pegasus https:\u002F\u002Fwww.saaspegasus.com\u002F Djaodjin. Open Source. https:\u002F\u002Fdjaodjin.com\u002F Carrot Seed https:\u002F\u002Fwww.cnc.io\u002Fen\u002Fseed The…",{"value":240,"source":65,"evidence":241},"Nextless.js full-stack JavaScript starter kit",[242],{"id":243,"by":244,"text":245},"35767366","creativedg","The example you have mentioned only uses Python in the backend. It's based on Django or Flask. Then, in the frontend, it uses JavaScript. Building a SaaS from scratch required a…",{"value":247,"source":65,"evidence":248},"Business Class Kit for Rails",[249],{"id":131,"by":132,"text":133},{"value":251,"source":65,"evidence":252},"GPT-4 with Copilot or Cursor",[253],{"id":254,"by":255,"text":256},"35766606","rkwasny","Just buy gpt-4 + github copilot\u002Fcursor for 2x$20",{"comments":41,"answered":39,"key":258},[259,260,261],{"id":115,"text":116},{"id":196,"text":197},{"id":262,"text":263},"35767734","Will need to look into the Safari issue. Thanks for the feedback.",{"commenters":265,"max_depth":41,"maker_replies":41,"first_comment_mins":266,"lifespan_hours":267},40,133,32,[269,271,272,274,275,278,280,284,287,289,293,297,299,303,306,307,310,311,314,317,318,320,321,324,327,329,332,333,335,336,338,341,342,345,348,352,354,358,362,365,368,370,372,374,377,380,384],[236,38,46,270,237,38],"project\u002Fneutral\u002Fidea",[115,38,38,270,11,32],[139,38,32,273,140,38],"project\u002Fcritical\u002Fdesign",[143,38,32,273,144,38],[276,38,32,273,277,38],"35767911","develatio",[243,38,38,279,244,38],"commenter\u002Fneutral\u002Fnone",[281,38,46,282,283,38],"35770731","project\u002Fneutral\u002Fnone","BerislavLopac",[285,38,46,282,286,38],"35782076","selcuka",[147,32,32,288,148,38],"project\u002Fcritical\u002Fexecution",[290,39,32,291,292,38],"35766534","maker\u002Fcritical\u002Fpricing","marcrosoft",[294,39,38,295,296,38],"35766691","commenter\u002Fpositive\u002Fpricing","czue",[72,39,32,298,73,38],"project\u002Fcritical\u002Fpricing",[300,39,46,301,302,38],"35770550","project\u002Fneutral\u002Fpricing","zufallsheld",[304,39,46,301,305,38],"35776264","chrisandchris",[154,46,32,298,155,38],[308,46,32,298,309,38],"35767245","sixstringtheory",[158,46,32,291,159,38],[312,46,46,301,313,38],"35767256","DANmode",[165,315,32,316,166,38],4,"maker\u002Fcritical\u002Fnone",[169,315,32,316,170,38],[196,315,38,319,11,32],"maker\u002Fneutral\u002Fpricing",[173,315,32,316,170,38],[322,315,32,316,323,38],"35766986","eliseomartelli",[325,315,38,279,326,38],"35769939","joshSzep",[328,315,32,316,323,38],"35770607",[330,315,32,316,331,38],"35767504","mpeg",[187,41,32,288,188,38],[262,41,38,334,11,32],"maker\u002Fneutral\u002Fexecution",[214,44,32,273,215,38],[97,44,38,337,11,32],"project\u002Fneutral\u002Fdesign",[60,339,46,340,61,38],7,"project\u002Fmixed\u002Fnone",[68,339,32,298,69,38],[254,343,32,344,255,38],8,"project\u002Fcritical\u002Fidea",[346,343,38,279,347,38],"35766687","sgt",[349,343,38,350,351,38],"35766862","other\u002Fneutral\u002Fnone","morkalork",[353,343,38,279,286,38],"35767434",[355,356,46,337,357,38],"35767115",9,"alex_lav",[359,360,38,279,361,38],"35771807",10,"anyfactor",[363,33,46,282,364,38],"35769115","is0tope",[221,366,46,367,222,38],12,"project\u002Fneutral\u002Fexecution",[369,366,38,334,11,32],"35771722",[228,371,32,273,229,38],13,[179,373,32,344,180,38],14,[375,373,38,279,376,38],"35770490","thdespou",[131,378,41,379,132,38],15,"maker\u002Fpositive\u002Fdesign",[381,382,46,270,383,38],"35780825",16,"taste3e",[206,18,46,282,207,38],[],[387,392,396,401,406,411],{"id":388,"name":389,"points":390,"category":391},"35781959","webfft",244,"creative",{"id":393,"name":394,"points":395,"category":20},"35762175","Frogmouth",240,{"id":397,"name":398,"points":399,"category":400},"35764355","EVA",237,"data",{"id":402,"name":403,"points":404,"category":405},"35745719","Polish Pixels",216,"games",{"id":407,"name":408,"points":409,"category":410},"35786242","Currl",123,"consumer_social",{"id":412,"name":413,"points":414,"category":20},"35758584","PineTool",95,false,"v2",{"id":418,"name":5,"line":6,"ai":415,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":419,"top":18,"kw":420,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":421,"url":9,"mix":422,"praise":123,"objection":136,"sub":21},35764635,-0.49,[24,25,26,27,28],"3011133110131113111101101031100303311053",[32,33,32,34],1794036634853]