6
20 Comments

Your most productive JS full-stack

Hey folks,

I'm mostly using JavaScript on the frontend and backend for most of the projects. The main reason is simply that I'm most comfortable with it.

Lately, I feel like there is nothing that gets close to the productivity someone might reach with Django / Ruby on Rails within the JS world.

Regarding BAAS (like Firebase, Fauna, Amplify, etc.), I really enjoy those services for building something really quick. Sadly in some cases, they simply don't work out like when heavy read and write operations or advanced querying is needed.

Would really enjoy reading some of your opinions on going full-stack with JS, hear of which stacks you personally prefer, and get some productivity tips and tricks.

posted to Icon for group Developers
Developers
on December 21, 2020
  1. 7

    I really wish Django existed in JS world.

    Looking at https://blitzjs.com/ and https://supabase.io/

    1. 4

      Make sure to check out https://nhost.io too. It's an open source Firebase alternative with an automatic GraphQL API.

      1. 2

        +1

        Postgres + Hasura is a powerful combo

    2. 2

      Headlines like "The full stack [FRONTEND-FRAMEWORK] framework" are the things that I try to avoid since this always means, more overhead on the frontend than having simple HTML.

      I also had a look into https://redwoodjs.com, https://sailsjs.com and https://adonisjs.com.

      They all look like awesome frameworks but it feels hard to be happy about using them when creating simple CRUD views (with validation) for a model without relations takes more than 2 minutes.

      That's what I loved in Django:

      1. Define model with generic field validation
      2. Use generic views to create your CRUD "controller"
      3. Add simple markup to render data/forms
    3. 2

      Have you played around with these frameworks? I agree with you. Django is very pleasant.

      1. 2

        Not yet, I usually wait a while before investing time.

  2. 3

    I don't think you actually need to use a service. I do everything on my own. Sqlite can very well handle thousands of customers. Authentication with jwt tokens is easy too, emails are send with nodemailer, when I start out often through Gmail and later Postmark. I have a single server costing me 2.49 Euros per months that handles four web apps with thousands of customers.

  3. 3

    I "dogfood" our the backend at Nhost all the time.

    And the backend is very productive.

    For example, here I'm building a reddit clone in less than 3 hours with:

    • PostgreSQL database
    • GraphQL API (realtime subscriptions)
    • Authentication
    • Frontend (React / TailwindCSS)
    • and more...

    Link to video: https://www.youtube.com/watch?v=A7rAGsN6WYc

    1. 1

      Skipped through the video sections and this is quite promising.
      Definitely gonna give it a shot within the next days.

  4. 3

    Auth: Firebase
    Framework: Next.js
    Backend: Firebase Functions

    Works in 99.999% of cases, costs pennies. When the idea is validated - custom optimizations + aggressive caching. Works in other 0.001% of cases.

    Done.

    1. 1

      As mentioned I enjoy Firebase a lot too and I agree that these services will work for most cases.

      But it can be really hard for cases with a lot of relations, especially when they're deep or self-referencing. Also, their querying has a lot of limits which forces in pulling in even more services and push user data back and forth.

  5. 3

    I am actually building a JavaScript-only SaaS starter kit - Nodewood. I love JavaScript, and I think the benefits of using the same language on the browser and the back-end are huge. Shared code means it's quicker to develop and easier (and safer) to maintain over time.

    I'm in closed beta right now, but looking to launch into Open Beta/Early Access before the new year - just looking to write up some more documentation/tutorials to help people get started. I'd love to hear your opinions of it! Even if it's not quite what you're looking for, I'd love to know about what it is you're looking for, so I can keep working on making improvements.

    1. 3

      I get the benefits for SaaS.

      But how does it help with developer experience? With Django you get the amazing ORM, admin panel etc.

      1. 2

        It's definitely more targeted than Django, but solves a lot of similar problems. Instead of an ORM, Nodewood uses the wonderful MassiveJS for database manipulation. It has subscriptions baked in, so you don't have to code your own, plus it has a CLI that has the ability to sync your subscription products/coupons/taxes to Stripe, giving you a kind of "migration" step you can use at deploy time.

        If you're not building a SaaS, some of the features won't be as applicable, honestly. But if you are, I'm aiming for it to be a no-brainer choice to save time when looking to start a web app with JavaScript.

    2. 2

      Wish you all the best with your product!

      In some cases, most of the features might not be needed (e.g. internal company software). In these cases, I need way fewer business features and more developer features than most starter kits offer - that's why I mostly start with the framework or a simple boilerplate.

  6. 2

    I think I know what you mean - I've felt similarly. The closest I've seen is RedwoodJS (https://redwoodjs.com/), but between it and Blitz.js I'm not sure which is more actively developed.

    Unfortunately I can't vouch for either one because I haven't tried building a production app with them yet, but they seem the most promising.

    But if the thing you don't like about modern JS development is that frontend work specifically is more complicated than a Django view, then I'm not sure what to tell you - SPAs are different beasts than traditional web apps, and though these frameworks can get you a whole lot of simplicity compared to what you'd have to do to wire something similar up yourself, we're not building plain ol' web pages with the tiniest nuggets of in-page interactivity in 2020 anymore, where the only interesting points of interactivity happen on page navigation.

  7. 2

    Obviously my opinion but vue along with vue cli has increased my productivity by a literal 10x

    • No fiddling with webpack
    • Hot reloading just works
    • Heaps of vue cli plugins. Need to code browser extensions? There's a plugin for that. Same for electronjs, etc.
    • Sane starter project structure with a lot of stuff already setup.
  8. 1

    Have you tried Wasp (https://wasp-lang.dev/)? It's a React/Node.js full-stack framework, but it really gets rid of the boilerplate due to its config language. Beta is coming in about a month so that might be a good moment to give it a try.

    disclaimer: I am one of the authors of Wasp!

  9. 1

    Blitz.js now seems really promising and actively developed

  10. 1

    Unfortunately there is no Django/RoR alternative yet in JS land, although there are a couple of monolith frameworks popping up recently with redwood and blitz.

    That said as a relational database orm, Prisma seems to be pretty decent.

Trending on Indie Hackers
I spent $0 on marketing and got 1,200 website visitors - Here's my exact playbook User Avatar 58 comments Veo 3.1 vs Sora 2: AI Video Generation in 2025 🎬🤖 User Avatar 27 comments Codenhack Beta — Full Access + Referral User Avatar 21 comments I built eSIMKitStore — helping travelers stay online with instant QR-based eSIMs 🌍 User Avatar 20 comments 🚀 Get Your Brand Featured on FaceSeek User Avatar 18 comments Day 6 - Slow days as a solo founder User Avatar 16 comments