15
34 Comments

What is the hardest part of building a full stack app?

What causes most friction for you when building a full stack app?

Setup? Security? configuration?

Auth? Permissions? Welcome emails?

Or maybe database modeling?

posted to Icon for group Developers
Developers
on December 25, 2020
  1. 37

    motivation to finish it

    1. 1

      Relatable. Why do you think that is?

  2. 16

    Nothing to be honest. The hardest part is marketing and getting the product out and real feedback and users.

    1. 3

      Same here. It's way easier to build something than to find potential customers and put it in front of them. I think most of us think the building is the tough part, but it's most likely the lack of users and lack of marketing that will kill your project.

      1. 1

        This comment was deleted 5 years ago.

        1. 2

          For sure. If I was in marketing and tried coding the product that would be the hardest part.

    2. 1

      That’s the easier part IMO, as long as what you build solves need. While me on the other hand, getting stuck on the technical details. Can’t even get a finished project due to lack of technical skills.

  3. 15

    two things come to mind from my experience.

    First, whichever side of the stack you have the lease experience with. Frontend work is my kryptonite, so that always holds me back whenever I'm building something.

    Second, and more importantly, is worrying about whether you've built things as correctly as possible at an early stage. Premature optimization is a trap I fall into quite often, where I spend a day or two thoroughly examining the database and making sure the schema is best suited to my backend's access patterns when there is a list of much more important features that I should be focusing on. I've learned to go by the philosophy of "make it work, make it clean, make it fast" which has definitely helped suppress my anxiety about optimization.

    1. 2

      Solid advices. Done is better than perfect.

  4. 7

    Personally, it's not getting caught up in premature optimization.

    When I'm working on a new project, I always try to think how many users would realistically overwhelm some part of the code.

    My general rule of thumb is if it's <1000 it's not a big deal.

    Usually anything less than that can be handled by vertically scaling up to the next hardware tier in AWS, so it's better to put that time into marketing or user research.

  5. 7

    API / data schema design can be hard, so I like to have a pretty good sketch of the front-end before starting to build the backend - once you know what you'll actually need in the UI it helps with designing the database & REST / GraphQL API.

    It definitely helps to integrate a testing framework from the beginning, because as your app grows in complexity you'll find that it's quicker to take the time to write tests first rather than build them afterwards, and writing business data that has already been tested helps grow your confidence in the product you ship.

    Auth is always an annoying part of developing a full-stack app - I've rolled my own (passport.js), used Auth0, Firebase and NextAuth - every one of them comes with their own footguns and traps, but it's a necessary evil!

    Deployment used to be a hurdle - setting up a server and deciding how to deploy the front-end, then handling SSL and domain name mapping, hooking up the database, etc. Nowadays though I find you have the option to deploy the front-end in minutes for free on Amplify, Vercel, Netlify or even Github Pages, and for the backend you can go serverless or use an app platform (the new Digital Ocean Apps are very user-friendly) - that has removed a huge point of friction for the initial release of a project. I'd recommend going with the easiest route to deployment for the first version, rather than trying to be tricking & spending days on infrastructure - just get the code up & in front of people :)

    Aside from development, probably the biggest point of friction is maintaining momentum when the honeymoon period of a new project wears off and it's just a slog - if you can get through that middle-point dip then the motivation returns as you start to see the goal of launching something in sight.

    1. 8

      "probably the biggest point of friction is maintaining momentum when the honeymoon period of a new project wears off and it's just a slog"

      This is so true.

    2. 1

      The middle-point dip is so real! I really helps to grind out as much progress as possible early on, so when then the motivation wears off you can look back at how far you've come and recharge some inspiration to keep going.

  6. 6

    Selling and making money from it :)

  7. 5

    Frontend. Fully hate the HTML CSS JS shite-fecta.
    I'm normally a heavy user of any css utility framework like Bootstrap. With Blazor (c#) I can stick to my strengths, which I'm really looking forward to.

    1. 3

      Don't know what you don't like about it, but I've been really enjoying Svelte: https://svelte.dev/ . Has made dealing with CSS/HTML/JS/SSR etc way easier and more fun for me.

    2. 0

      I found using React and https://blueprintjs.com/ made frontend very enjoyable.

      Before that it was so much work to do anything.

      That is overkill for most simple projects though.

  8. 5

    For me it's frontend nowadays. Can't believe we're compiling js...

  9. 4

    Marketing and Frontend for me

  10. 3

    Striking a balance between technology that is well-established (and maybe lackluster in presentation to the marketplace) and the new-new stuff which is cheap and fast to create/deploy. Sometimes the leading/bleeding edge stuff is promoted too heavily as the answer to most/all problems. But it sure is sexy. ;-)

  11. 2

    For me - it's to maintain it and server / serverless setup 🤔

  12. 2

    The hardest part for me was focusing on a single thing until it's shipped before moving to something else.

  13. 2

    Bulding is easy. From scratch to deployment. The real pain is finding more users to use it.

  14. 2

    For me it would be nice knowing that I have a fully-scalable and resilient tech stack for things like user authentication (locks accounts after too many logins) and security (machine is battened down), since those things are not my forte.

  15. 1

    Tons of genius backend developers and then we get some nasty little front-end thing that drives us all mad. Like some CSS that takes us 8 hours to solve b/c none of us are good on the front end.

  16. 1

    Security, Performance, and Maintenance

  17. 1

    Motivation to selling it even if you don't have customers.

  18. 1

    For me it’s single sign-on functionality. I’m typically not looking for social login. Instead I end up wanting OIDC/SAML/whatever with domain redirection and whatnot.

    Ultimately I end up doing everything with Keycloak and extending it where needed. But still, it just felt odd that it was a challenge to do so without paying yet another vendor like Auth0 or Okta.

    Maybe I’m just a cheap ass, ha!

    1. 1

      Interesting. Why do you need that specific SSO functionality?

      1. 1

        A healthy portion of my target user base has either legacy systems or manage their own infrastructure. As an enterprise tier it helps to be able to integrate with their authentication systems!

  19. 1

    If we are talking about only the "building" phase, I believe it's to make sure it's free from all kind of bugs and glitches. This can be extremely hard because you as the developer will be biased to follow the right flows. Extensive QA is needed by outsider(s) to ensure it functions as intended.

  20. 0

    Every full stack nowadays is almost CRUD, it’s all about what records you store and how you have user to play with these data, does it creat value for users? Will user come back and use it? How can you make the project sustainable? I think these are 10x hard than making it SSR, implement TDD, loader faster, good for SEO, data modeling, transactional transaction...

    1. 1

      Yea I agree. Interesting angle.

  21. 1

    This comment was deleted 5 years ago.

  22. 3

    This comment was deleted 3 years ago.

    1. 1

      Probably. But what's the hardest part for you?

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