9
55 Comments

Do you have a platform?

I'm interested, what is your approach to building your applications (if you do that and you have some number of them)?
Is there's a stack or a set of tools you prefer (and have templates for) that allow you to build POC apps quickly (and scale them further if needed)? Or it depends on the application and you always try something new?
What are the tools that you feel yourself most dangerous with? What makes you productive in fast app prototyping? What boilerplate solutions or CLI generators do you use?

I mostly use MEAN stack with local deployments for that, but trying to find some cloud solution that will not be too mentally overwhelming and will allow testing a concept in a fast and effective way (especially the back end part).

posted to Icon for group Developers
Developers
on December 28, 2019
  1. 4

    I use a lot of React with sometime Firebase or Ruby on Rails. Recently decided to create a boilerplate for it and sell it: https://www.reactmilkshake.com/

    1. 2

      I saw this in Product Hunt recently! How have sales been?

      1. 2

        I had 3 sales in the first 2 days, which was really cool because I had no idea if people would want to pay for it! It kind of validated the idea so I worked hard to improve it and make a second version that also includes authentication with Firebase. I still have to find a way to get more traffic to the landing page, because after a couple of days after the ProductHunt launch all the traffic is gone. I will probably start to write more blogs about parts that I use in the boilerplate, like how to implement code-splitting etc.

        1. 2

          Oh congrats! What niche are you targeting specifically?

          1. 1

            Thank you! First I’m going to focus on React developers, but might built a SaaS starkerkit for React that might be interesting to particularly indiehackers and early stage startup founders.

  2. 3

    Flutter all the way.

    1. 1

      what infrastructure does this way go through?)

  3. 3

    I use LAMP mostly with a Bootstrap framework for prototyping. I don't get too fancy for MVPs unless I'm interested in learning something new. My latest personal project is all custom as I did not want to rely to heavily on CDNs, etc. for frameworks.

    1. 1

      Solid choice 👍 Bootstrap 5 is gonna be 🔥

  4. 3

    Django with Celery served by Nginx reverse proxy and gunicorn. Pretty standard for most things I do.

    1. 1

      That's me. Django is the shit. Celery is a godsend. Nginx and Gunicorn are easy to set up and maintain.

  5. 3

    Python + Flask. I feel like I can build anything I need to with that stack.

    1. 1

      Do you use any kind of a boilerplate or scaffolding tool/solution for this combination?

      1. 2

        No, I just start from scratch. I only start a new project once every year or two though so I don't need to spin up a bunch of separate projects.

      2. 2

        I've made a few templates for getting started with Flask that you can find at https://gitlab.com/users/AndrewWhoCodes/projects. They're just simple templates but can be helpful for getting started out with Flask and deploying projects quickly.

    2. 1

      This comment was deleted 6 years ago.

  6. 2

    I use Hasura for my backend (BaaS) on top of Postgres and it exposes a GraphQL API, it greatly reduced my development time. I don't like to be bounded to a service like Firebase.
    For front NuxtJS, very good for SSR (and so SEO).
    For back NodeJS and Go for specific task (auth service for example).
    For mobile app, Flutter without hesitation.
    Netlify, Heroku or custom VPS for hosting. Depends of the project.

  7. 2

    React/Nextjs running on Zeit.co’s Now platform. Or Netlify for static sites.

    1. 2

      What backend do you usually go with? Database, API?

      1. 1

        I’ve used Backendless when I needed user accounts (https://interrobang.online) and Airtable for managing data on a static site which rebuilds daily on a schedule (https://thedailystartup.club)

        The other sites I run are all truly static and use flat files (markdown, JSON, etc...)

        To be honest I haven’t found a DB + user auth service I really like yet (also tried Firebase).

        I’ll probably give base-api.io a try the next time I need accounts...

        1. 1

          Interesting services. Thanks for sharing.

  8. 2

    Exactly for this purpose, I created the SaaS boilerplate - to be able to create and validate ideas faster. I did a lot of experiments and recently launched the open-source version of it:
    https://github.com/saasforge/open-source-saas-boilerpate

  9. 2

    Yup, I have a template for React/Next and React Native with Firebase, and Firebase Functions for the backend. The mobile and web versions share a bunch of code and have all the usual things integrated (push notifications, payments, navigation, user profile, sign up/login/reset password, tracking, UI helpers/components, etc). I use the same template for a lot of my freelance clients, which is a major selling point. They get a lot of boilerplate for free, and and fixes/updates to the boilerplate I make for their project stay my IP.

    Some day, I'd love to sell the boilerplate, because it's made my life so much easier.

    1. 1

      Looks very effective. Do I get it right that for Back End API you use serverless functions exclusively? How performant is this solution? Do you have any latency problems?

      1. 2

        In general, they have very little latency. I keep the functions small and quick. There are a few things that wind up being their own Node long-lived process. One example is a custom search index against Firestore. Another is the meal plan generation endpoint, which caches the massive amount of data that would otherwise need to be fetched from Firestore to pick recipes/foods/etc. That change from a function to a process shaved execution time from ~6s to ~1s.

  10. 2

    These days, for web apps, I pretty much always use Elixir, Phoenix, Postgres and usually use Tailwind. Sometimes, I also use GraphQL, and sometimes I also use Vue. Other times, I keep it leaner and do pretty much everything from Phoenix itself.

    I used to use Node for everything but wouldn't ever want to go back and give up the performance and productivity I have with this stack. I use it in my front-end build pipeline, though.

    1. 2

      I'm actually very interested in this stack and had heard a lot of good words about Elixir and Phoenix. I like your toolset on top of that, it's very modern.
      What actually caused you to switch from Node? Did you have any background in Elixir/Erlang before? How was the learning curve?

      1. 1

        What actually caused you to switch from Node?

        Curiosity is what initially lead me to explore other back-ends. For a while, Node was all I knew well for web dev, but I didn't want to be like a frog in a well who thinks they know the entire world. I wanted to actually understand the options.

        Productivity as a solo entrepreneur is what really pushed me away from Node. I'd personally seen the impressive productivity small teams (including some breakout successes like Teespring) had with Rails. That lead me to really give it a shot. I already knew some Ruby when I started, but was shocked that after spending a week on the Rails Tutorial book and then another week building things, I was already more productive with Rails than I was with a full JS stack—which I'd been using professionally for three years!

        Then my last startup had some requirements that pushed me away from Rails. It was a complex, free-to-use consumer B2C app that involved chat and WebRTC. I got it built pretty quickly, but it collapsed under the traffic. Rails (with the help of Redis, Sidekiq, etc) absolutely could have scaled to handle it, but it wasn't financially feasible with a free-to-use app. That lead me to explore a lot of options and finally choose Elixir (edging out Scala + Akka). In my opinion, it's both more productive, easier to maintain and more performant than JS back-ends. It's maybe 90% as productive as Rails, but much more performant and easier to debug.

        How was the learning curve?

        Great question!

        Other than Ruby, it was the easiest language I've ever learned. Keep in mind, though, that when I started learning Elixir, I already had some experience with C, AS2, AS3, PHP, ObjC, Java, Scala, Python and considerable experience with JS, CoffeeScript and Ruby. As for Phoenix, it's pretty easy if you've ever used Rails (or anything Rails-inspired) and you're comfortable with functional programming.

        In contrast, I've been learning Rust more recently, and it's been considerably harder for me than Elixir was... almost as hard as JavaScript was.

        1. 2

          You have a great background! Thanks for the comprehensive response, I've got curious about this stack too)

  11. 2

    I use:

    • PostgreSQL as database
    • Hasura for instant realtime GraphQL API on PostgreSQL
    • Hasura Backend Plus for authentication (JWT) and storage (S3)
    • React for frontend
    • Zeit Now for cloud functions
    • Netlify for web hosting

    I like this stack so much that I decided to build nhost.io, where you get this stack automatically provisioned and managed.

    This is me doing a Hacker News clone in ~3 hours. From create-react-app hn-clone to a MVP in 3 hours:
    https://www.youtube.com/watch?v=iA4Z6dpU_dI

    1. 1

      Great solution, Johan, I'll check it out 👍 I like tools that help to deal with infrastructure overhead so much!

      1. 2

        Indeed they do. Let me know if you need some onboarding to get started.

  12. 2

    If I'm building something I think will last I go with the tools I'm confident with (and fast at): react, jest, node. Although it's true that for the project I'm working on I decided to use Graphql although I had never done anything with it before, I just knew it was going to be good in the long run and it was. Everything is much faster, especially when still figuring out the product. I made a million changes to the frontend which would have been a nightmare if I was using REST.

    1. 1

      You are a brave person) I try to get my hands dirty with Graphql, waste a lot of time and come back to REST) The next try will be with Hasura, my friends say it's a very approachable solution to fast API prototyping

      1. 2

        You should give it another try! I would suggest avoiding Prisma at first, too much boilerplate/library-specific things. I'm using Knex for migrations (creating schemas), seeds and queries to Postgres and it's been great. Maybe it's an easier way to start.

        1. 1

          I'll try Knex, thanks. Probably it's really a more approachable way

    2. 1

      Which DB you use with GraphQL?

        1. 1

          Do you also use Hasura for instant realtime GraphQL API on your PostgreSQL database?

          1. 1

            I don't, but will consider it if I ever need realtime updates.

  13. 2

    For platforms, I use Netlify for deploying the frontend and Firebase for a backend. For the code, I'm using Create-React-App for the app, GatsbyJS for a static site, and Node.js for cloud functions.

    The only thing I'm considering changing is swapping out CRA and Gatsby for NextJS. Thinking it may simplify some things for me. Of course, if I switch to that, I'd need to switch to Zeit over Netlify.

  14. 2

    Use builderX to generate react components, prisma + node.js. This combination made me more productive. You can use render.com for deploying.

    1. 0

      I didn't hear about Render.io, thanks! Will check this service out.
      As for Prisma - I tried that but failed (from the first sight). Can you recommend any decent tutorial or a blog post on getting started with that?

      1. 2

        I think you should check out Ben Awad on youtube. He is the one who introduced me to Prisma. I think Prisma's documentation is crisp too.

  15. 1

    Backend: Node.js + Express
    Frontend: Angular
    DB: MongoDB
    Cloud: AWS
    Backend Infra: AWS Fargate
    Frontend Infra: S3 + Cloudfront
    Infra as Code: Terraform
    CI/CD: CircleCI or Bitbucket Pipelines
    IDE: Sublime Text

    That's pretty much my winning combination. It will not work for every app and every team setup. But for a solo developer building an app to host a good number of users, and is ready to scale at a moments notice without breaking the bank, this setup has worked for me every time.

    1. 1

      It resembles my way a lot, though I don't like Amazon services and trying Azure now (and don't like them too already). More indie-way and interesting infrastructure solution I had found until now is CleverCloud, probably I'll stick with that. Big corporations suck.
      Oh, and BTW, why so old-school IDE choice? I like Sublime personally (much more than VS Code for instance) though it's not enough for me already, I use WebStorm

      1. 2

        AWS for a few reasons.

        1. Their pricing is on-demand. You only ever pay for what you use. No weird tiers
        2. They have a lot that just helps with software dev, eg mobile app push notifications, serverless MySQL, Queues, load balancers, Cognito. They just have a lot of stuff which helps me write and deploy less code. The other thing which is a huge win for me is their amazing documentation and SDKs. Hard to beat that. Dev-wise its just a great experience.
        3. I haven't ever really tried any others haha. Never really liked Microsoft tech, they always just seem to try to pull you into a Microsoft tech silo and I never liked that. They may be different now with Azure but I have not had any serious reasons to look elsewhere

        As for Sublime, I love it 100%. I'm so done with heavy IDEs that try to do too much. For scripting languages I stick with Sublime, but if I have to do Java/C++ or something more low level then I use Webstorm (even though I avoid it if I can). I personally seriously try to discourage Electron apps, so no VS Code for me, no Atom either. Sublime is amazing, super lightweight, and it only does what I tell it to do. No more, no less.

        But different strokes for different folks for sure. Have you found any cloud providers other than AWS that you can truly say are on par?

        1. 2

          I would say (at least based on what I had tried) that AWS, Azure and Google Cloud are basically equal. There are some edge cases that are more advantageous with one or another provider, but if you use the whole infrastructure or most of it, the choice is a matter of personal preferences.
          If one uses only some smaller part of the services, I would prefer going with some smaller (indie) provider.

  16. 1

    I find the MEAN stack most productive for prototyping, while providing a good foundation for production apps as well.
    I use most the adequate open source boilerplate, there are quite a few decent start kits on Github. And I built my own MEAN stack with all in there for webapps along with a solid API structure to get going fast. (released it as open source there https://github.com/hirako2000/hirako-starter-kit)

    1. 1

      What's your thought on the difference between SQL and NoSQL?

      I could never really do the switch from SQL (MySQL/PostgreSQL) to something like MongoDB.

      1. 2

        NoSQL, and document based solution like MongoDB, have the following advantages

        • Schema less, hence much quicker to a field to a document, and roll with it. Ideal for productivity when prototyping (things are in a lot of movement when prototyping)
        • Somewhat ready scalability solution with sharding and all sort of distributed features

        Cons:

        • Not ACID
        • Learning curve, as it is not SQL. Most noSQL solutions don't provide a SQL-like query language.
        • Less mature. in a way the pro of SQL solutions is that they have gained the maturity of battle tests over decades now.

        I would use MongoDB vs MariaDB with no questions for a getting an app ready fast. I would rather us MariaDB from the get go if I need transactions (e.g financial apps). I may use both mongo and maria if the transaction part is a moderate aspect of my app (e.g content mgt system completed by a booking system).

        1. 1

          Many SQL databases, such as PostgreSQL, have native support for JSON type fields. But in my experience, the argument about rapid prototyping with schemaless usually ends up with lots of time-consuming maintenance because you don't have any data integrity in your database.

          But I agree, NoSQL databases are very scalable and good if you requirements of millions of reads per second.

          1. 1

            One can probably achieve the same with both type of db. MongoDB type of databases are document based. Everything is a document. Things work a certain way, it's a REST interface to query, it's a specific way to add indexes. You install PostgreSQL and usually end up with schema, foreign keys to create with SQL statements. Yes you can solely use loose/raw fields, defeating the point of the RDBS goodness, imo, using a screwdriver turned into a hammer to put a nail on a wall.

            I'm not weighting each solution against each use case. Generally speaking, you setup MongoDB and you are up and running with data on your screen relatively quicker than with Mysql/PostgreSQL, and can probably get this into production down the road with further adjustments before considering it solid. The big thing to me really is transactional vs non transactional, it's what differentiates NoSQL the most as it is hard to support transactions there, and so easy with Mysql/PostgreSQL. Know what you want. and yea if you already know RDBS and know nothing of NoSQL you better stay away from the latter as you would be less productive and also do something terribly wrong.

  17. 1

    There are lots of "NoCode" solutions out there now such as Webflow, Bubble, Glide that take away a lot of the initial boilerplate and let you get up and running quickly and each has there own niche i.e Glide is great for quickly creating MVPs for mobile apps.

    What is it that your product will do?

    1. 2

      I'm not talking about some particular product actually but rather about approaches to testing ideas. I do not trust no-code solutions, tbh. I love to code, and I'd like to have a maintainable scalable codebase that I could further control. The trickiest part is an infrastructure, I would say. And the infrastructure depends on a tech stack in its turn.

      And what is your approach with no-code solutions, Iain? What is the pipeline, from an idea to a deployed app?

      1. 3

        Understood sorry, I think I focused to much on the bit about fast app prototyping which is where I think no code solutions are a great way to get a MVP out the door.

        I'm a JavaScript/React developer by day so my go-to to quickly prototype an app would be Create React App and delete all the excess fluff I don't need and I would probably just use Firebase a an easy backend to tie in.

Trending on Indie Hackers
I spent $0 on marketing and got 1,200 website visitors - Here's my exact playbook User Avatar 41 comments Why Early-Stage Founders Should Consider Skipping Prior Art Searches for Their Patent Applications User Avatar 22 comments I built eSIMKitStore — helping travelers stay online with instant QR-based eSIMs 🌍 User Avatar 20 comments Codenhack Beta — Full Access + Referral User Avatar 20 comments Veo 3.1 vs Sora 2: AI Video Generation in 2025 🎬🤖 User Avatar 18 comments Day 6 - Slow days as a solo founder User Avatar 13 comments