For myself it depends on the project but lately was playing with the following:
What tech stack (programming languages, frameworks, databases, ...) are you using?
Elixir with Phoenix and Liveview for backend and frontend. Tailwind for CSS, which compliments Liveview perfectly. I almost never write any JS or CSS anymore, unless I need something like a particularly fancy transition or that's client-side only like webrtc.
I've successfully built multiple apps with it now, the latest being a client call center and ticketing system for a school board transportation company. It worked beautifully (and deployed on Windows Server 2012 no less!).
keenforms was built with
-Ruby on Rails
Rails, Phoenix, Turbolinks, Stimulus.js.
Bootstrap and jquery (yes you read that correctly).
The backend is an api so frontend can be changed anytime and can be web, desktop or even mobile.
I didn’t want to spend time doing frontend properly since I’m building the MVP.
What's your experience with Firebase vs. AWS? I'm a Firebase user and know very little about AWS, and was wondering if you see any obvious pros/cons comparing the two. Thanks!
At this point, I have a lot of code I've re-used over the last 5+ years, so it's hard for me to really think back about the "getting started speedbumps" I faced.
I typically use Firestore when I need a multi-user event-driven UI, and I use DynamoDB when I need large amounts of data. I also typically pair DynamoDB with ElasticSearch when I need good search capability (never got into the whole Aloglia fad unfortunately).
I used AWS Cognito really early on and had a bad experience with it, so I typically use Firebase Auth. I really should set aside some time to go back and re-examine Cognito now that it's ironed out the major issues.
As far as lambdas go, I really like working with Serverless, but unfortunately, I've only used it with AWS Lambdas and not Google Cloud yet. Again, more due to habit. I actually just deployed my first Firebase Function recently thanks to @jakeprins https://serverless.page project.
In fact, Jake's boilerplate project is greatly influencing a number of my choices recently. It's really well documented and has practically taught me Firebase Functions, Next.js, and TailwindCSS over the last couple of days.
Thanks for mentioning my project. It's great to hear you like it!
Let me know if you have found things you would like to see improved ;)
Thanks for the detailed feedback, much appreciated! I really like Firebase but I’d like to learn AWS so I have an alternative and not be tied to one vendor.
I like the ol tried-and-true Rails stack. Stupid enough to go fast, smart enough to scale out to a team IF you have the dough. I do some react/redux too but that's pretty much a net negative, I just like messing around with stuff.
At Keypup we use the following:
I was using Django (w/ REST Framework) and PostgreSQL, along with React/Next.js, but found this setup to be more complicated than I wanted. Particularly, the frontend was something I didn't love, so we made the decision to switch.
We're now using Ruby on Rails (still with PostgreSQL) with Turbolinks, Stimulus.js, and StimulusReflex, so we don't sacrifice too much on the UX, while still having the reactivity that a SPA offers.
There a few complex components that I made in React that would be hard to convert over to server-rendered views, so I just took those and inserted them into the Rails views, which was a lot easier than I thought it would be.
Though I love Django, I prefer the new stack so much more. The reduced complexity goes a long way as an IndieHacker and has made it easier to write tests, deploy, etc.
Ruby on Rails with Stimulus JS
Like others have said here and elsewhere, use the stack you know. However, run far away from nosql (use a solid relational database) and skip Node on the backend (unless you just enjoy endless pain).
Heard from Hasura a few times now, I really need to check it out now. How does Hasura handles object level permissions?
Thanks, wow that's a really nice feature +1
You can get started quickly with Hasura on my service at: https://nhost.io
What kind of pain using node in the backend? I’m curious to understand your view.
OyeStartups is built with :
-DB : MySQL,MongoDB
RemoteRetro is built with:
Backend: Ruby on Rails, Postgres
Frontend: React, with small parts of Bootstrap getting phased out.
Infrastructure: Heroku, memcache
A few other things too but those are the big ones
for styling and components I'd go in this order from "Fastest/Easiest" <---> "Most Configurable for Bigger Projects"
SkinSort is all Rails & TailwindCSS. I use PostgreSQL and Redis on the backend as well, and use S3 for images.
Frontend: React.js / Next.js / Tailwind
Backend: Node / gcloud
Instrumentation: GA / FullStory / Splitbee (new)
Project: Linear / Sentry / LogRocket
*Php and SQLITE
Backend monolith (Node, Nestjs) with some serverless functions (Google cloud functions) sprinkled in. Firebase for persistence.
View layer is rendered using vanilla js template strings. Tailwindcss all the way!
Spent a lot of time messing around with React and Nextjs but the poor bundle size of all the Firebase client libraries plus the slowness of SSR wasn’t worth it for a simple CRUD app.
Splitbee is built with typescript from front to backend :)
React + Node + Postgres. We've published an article about the detailed stack: https://splitbee.io/blog/tech-stack-of-splitbee
Simple HTML + CSS with something like Tailwind and Alpine.js if I need interactivity.
100% Go - amazing language to work with
Django, Tailwind, Turbolinks, StimulusJS.
I have a starter template for this stack: https://github.com/danjac/django-saas-starter
Will clarify I mostly develop applications. If it was just a website I would opt to do some kind of template with responsive styling (bootstrap type eg. mobile/desktop/etc) then see about implementing some visual testing to make sure it looks good on most devices/resolutions. WDIO is pretty cool or just Selenium on its own.
Also I have mac/windows so can emulate devices for further testing. OP testing is something like device farm... But that's overkill.
Standard Linux OVH for server, haven't really built anything many people wanted/needed scale yet. SystemD to persist node.
PWA from ReactJs with Dexie(IndexedDB wrapper)
Electron/ReactNative. Electron was simple I pretty much just built the RJs and loaded it up in Electron. I was able to build an a basic cross platform app with RN but it was a little rough/needed more work on my part.
Have I actually made any money from projects as a business/not a freelancer? No... Sad
Further adding onto this ramble. I have not setup Jenkins before personally but that is nice to have. At the very least tests, unit, possibly snapshot. It is overkill/mostly matters on complexity of app/working with many team members. Just something I've dealt with at work, ux/translations teams, etc... main thing I'd like to have is regression testing so that I can verify new features don't break old ones. But again overkill, only matters if you have a big enough app. But it's nice to start early if possible.
Making my own living is a goal but I have not reached it yet.
Laravel, Vue, MySQL, and redis are what I primarily use for T.LY and Weather
Go to my terminal
Randomly cp -r from a different project
Arm myself with all of the useful bits of code from that project
Buckle up and start programming
Vue + Firebase for my current project. Literally all I need.
Frontend - Tailwind, Bootstrap, JS and jQuery
Backend - Flask, MySQL, Postgres, Mongo
Server - Linode, AWS
Vue + Nuxt + Tailwind + Express
That's pretty close to my dream setup, except instead of the entire backend chunk, I lean on AWS Amplify inside of my Next.js apps.
Firebase, Nest, Angular and Stencil :)
For my personal blog :
Nextjs + TailwindCSS
Firebase or StrapiJS
Backend: Nginx, PostgreSQL, Python, Flask
Frontend: Mostly basic HTML with some Svelte and VueJS mixed in
Just finished a project with:
Here it is: https://app.taskomoro.com
For https://www.thisismylaunch.com/ MVP I used 11ty static generator, TailwindCSS and Airtable.
I’m also working on fully featured version and for that I’m using Elixir, Phoenix and TailwindCSS.
Front end: React
Backend: NodeJS Lambda’s and various other services. ESB etc.
Storage: DynamoDB, S3
Seems like this is asked all the time... here's a couple of quick links I answered on recently:
Boostrap + php + wordpress
Old, but still working great
I'm building Nodewood, a web app starter kit, so the "correct" tech stack is a very important choice to me and to my users. What is "correct" in this case? Well, in short, saves you time getting started, saves you time maintaining, just plain makes it easier to develop and grow a web app.
My aim is that you can save weeks or months of development time (depending on the scale of your app) and then end up with a modern stack with good tooling
I've been working on my static site generator https://mkws.sh lately so plain CSS and Js. If I were to start a new backend project, I'd probably go with Go or plain shell scripts via CGI tbh for an MVP.
Backend really depends on the technology and client I am working with. Most of the time it is Node.js hosted on various platforms. But I am also working with PHP in the most current project.
When working with Node.js I use fastify as the server framework.
Databases: Dynamodb and Postgres (with TypORM as a framework in Node.js)
And for my bigger projects I am going AWS all the way, as I have the best knowledge in that.
For exception logging I am using honeybadger.io