Rails. So many times I've been led astray to use the hot newness, and so many times I've been burnt. Have to keep relearning my lesson: use the boring old stuff.
This. @jonbuda and I talked about this recently. We chose Rails for Transistor.fm because it's what Jon knew the best.
Ultimately, we only make progress when stuff gets built, deployed, and into the hands of customers. You really need to remove anything that slows you down (like learning a new stack).
Indeed, Rails is what I know and love, and rather than learning something new while building something new, I went with a "mature" stack with a great ecosystem. Beyond Rails, we use AWS with Postgres, Redis, nginx/puma, and sidekiq for background jobs.
This, so much this, all day, everyday. I'm still a Rails fanboy after a decade, and I have tried a LOT of things - some of which I enjoyed actually, and will use them in certain situations.
But specifically for indie hackers (which (to me) means: quick MVP, bootstrapping, fail fast, don't experiment, just DO) nothing can beat Rails.
I love the new shiny hotness as much as the next dev - for trying/testing/playing around.
However, if for getting stuff out the door with the minimal friction at the maximum speed: Rails.
Yup. Haven't touched rails for 4 years as I was working full time doing Flask (python) and nodejs, and despite complete teams dedicated to build in-house wrapper on those frameworks to make our lives easier, still a lot of (boring, boilerplate, repetitive) stuff to do manually.
I'm back on rails for projects now, and I'm very impressed how everything is not only plug and play, it's forces you to write great code following good practices and structure.
Would you say Rails is better for IH projects than Django/Flask? Those two are always recommended but I'm wondering if one frameworks has significantly more advantages than the other or if it's just personal preference.
Flask is a smaller web framework. I've worked a lot with it and it's great, I really like it. But it's more similar to expressjs or sinatra if you are familiar to those. It's smaller and offers more flexibility, but less boilerplate.
So for an MVP, where you'd need a user system with login, etc. it will be more work and thoughts with Flask, when with Rails it's usually a gem and a few lines of code, mostly to setup configs.
Plus all the things that come after the setup, like endpoint authorisation etc.
I don't have experience with Django. Right before coming back to ruby I tried to try to Django since I had been doing python for 4 years, but didn't really like the approach of being a cluster of apps (seemed like a mini, local, micro services architecture) and that seemed too much.
Also, I'm always very amazed at the quality of the ruby community, the amount of resources you find and their quality.
So, I'm only 1 data point, but it seems to me that rails makes you move faster, not only by allowing a lot of plug and play things, but also allows you to unblock yourself sooner, bc ruby/rails has an immense quality of quality resources.
For a prototype, Django only can be great with his template. And with Turbolinks (https://github.com/turbolinks/turbolinks) by the team behind Basecamp, you can even look like a Single Page App behavior ;)
Nice.
Also a fan of Firebase. How are you finding managing content in your Firebase project though?
Have you tried https://flamelink.io/ ? It's a headless CMS specifically built to integrate with Firebase your projects to give you an easy-to-use interface to add, manage and update content. Would be interested to hear your thoughts. :-)
Disclaimer: I work for Flamelink - so I'm super keen to hear what you think.
The past handful of times this question was posted, the answer I gave with some others was: the best tech stack (in any year) is the tech stack that gives you the best business results.
I don't think that answer is likely to change in the context of IH, especially since "best" is a vague, undescriptive and subjective term. And your job is to get business results.
Hey Yiğit,
Also like using Firebase.
I wonder what you use to manage content within your new Firebase projects?
We've built a headless CMS, https://flamelink.io/, to help make managing content easier, no just for Developer like you but also for non-techies (like myself). I would love it if you could check us out and tell us what you think.
*Disclaimer: as I am employed by Flamelink, I am probably just a little biased. :-)
I use traditional way to store and manage content. Create a database, bind it using a rest api and call it inside application. (Now a days, i use firestore to store content data).
I am going to check your project as soon as possible, because looks like it may fit one of my client's need.
Can you share your contact information with me? Simply send an email to yigit[at]yigitnot.com, i have a client that asked me for a content solution, we can partner up on this
I am going with AWS Serverless. I use S3 + Cloudfront for my hosting. I write lambda functions in Python, Go and Node.js. My choice for SPA frontend in React. Someday soon I will be developing mobile apps with ReactNative.
One of the major benefits of AWS is if you are going to go all in on their ecosystem, you will find that they have services for just about everything that you need. While a lot of people complain about AWS being costly, writing some glue code and using services like SES works out a lot cheaper than paying for sendgrid or drip.
I've considered this, but writing "some glue code" is gonna be a far cry from a full-featured service like Drip. I think it would save money, but suck up a ton of time and I worry that I'd be constantly improving/debugging it instead of working on my actual business.
PHP (Laravel). Haven't bothered to learn Vue yet, jQuery gets me out of any javascript holes I have.
Mobile apps - Appcelerator.
Desktop apps - Xojo
All simply because I'm happy with them and learning trendy stuff slows me right down and every time you sneeze they've updated it and changed way too many things...
Not exactly Hipster material but it is the best tool for the job (Windows 7-10 desktop apps & AutoCAD plugins). Continuing with the "use the boring old stuff" meme, pretty much every WPF problem has already been solved on StackOverflow.com, and the frameworks & libraries are very mature.
Web stuff (back-end) is ASP.NET + SQL Server because I already know C# & SQL, plus exactly the same reasons as WPF. Web sites are WordPress because ... you guessed it.
Boring? Maybe (I'm not bored with it). Effective? Yes.
We've been building out a platform to help indie hackers build even faster if you want to check it out: http://base.run
It's a new take on backends-as-a-service, where a huge and growing amount of functionality is built in to the platform through the idea of computed columns which let you focus on building your business, and trying out cool ideas, instead of coding:
We introduced the idea of "computed columns" which is essentially functionality built into the database. For example, you can add a column type that does Image OCR (takes in another column as inputs), or scrapes a website (takes in URL in other column), or does sentiment analysis on the text. Here's a little video that shows computed columns in action, where we use a Clearbit Lookup column to enrich profiles based on email addresses: http://g.recordit.co/JwLK13IZ7E.gif
A spreadsheet like view of your data that you can access from the web to setup your Schema etc, edit data, and do things manually until you automate them. This is especially effective if you're collaborating with some non-technical peeps helping on the manual tasks and don't want to have to build a full admin panel.
You get a really easy to use SDK: https://base.run/docs/index.html that gives you easy ways to work with your data & build a compelling front-end experiences.
Our team is here to help and we'll also build computed columns you want to have in the database :)
This is my current stack - sailsjs, semantic-ui, jquery, aws(beanstalk, RDS, Redis, Elastic Search), postgres
Both - www.highlyreco.com & www.massivetimesaver.com are built using the above stack. Also consulting with a company. Using the same stalk there. What I like about it is, it minimizes switching cost for me big time.. one language(javascript), convention over configuration based framework(sailsjs - similar to rails in philosophy but in javascript), managed services on aws (minimum devops )
Lately, I've been using Go, Vue.js, and Bulma. Occasionally Java / Kotlin on the back end. For my datastore I usually use one or a combination of Postgres, Scylla, Redis, and Cassandra depending on what I'm making.
Rails. So many times I've been led astray to use the hot newness, and so many times I've been burnt. Have to keep relearning my lesson: use the boring old stuff.
This. @jonbuda and I talked about this recently. We chose Rails for Transistor.fm because it's what Jon knew the best.
Ultimately, we only make progress when stuff gets built, deployed, and into the hands of customers. You really need to remove anything that slows you down (like learning a new stack).
Here's the episode if you're interested:
https://saas.transistor.fm/episodes/nerd-stuff-our-web-app-tech-stack
Indeed, Rails is what I know and love, and rather than learning something new while building something new, I went with a "mature" stack with a great ecosystem. Beyond Rails, we use AWS with Postgres, Redis, nginx/puma, and sidekiq for background jobs.
Hey where's the upvote*10 button?
This, so much this, all day, everyday. I'm still a Rails fanboy after a decade, and I have tried a LOT of things - some of which I enjoyed actually, and will use them in certain situations.
But specifically for indie hackers (which (to me) means: quick MVP, bootstrapping, fail fast, don't experiment, just DO) nothing can beat Rails.
I love the new shiny hotness as much as the next dev - for trying/testing/playing around.
However, if for getting stuff out the door with the minimal friction at the maximum speed: Rails.
Yup. Haven't touched rails for 4 years as I was working full time doing Flask (python) and nodejs, and despite complete teams dedicated to build in-house wrapper on those frameworks to make our lives easier, still a lot of (boring, boilerplate, repetitive) stuff to do manually.
I'm back on rails for projects now, and I'm very impressed how everything is not only plug and play, it's forces you to write great code following good practices and structure.
Rails is great.
Would you say Rails is better for IH projects than Django/Flask? Those two are always recommended but I'm wondering if one frameworks has significantly more advantages than the other or if it's just personal preference.
Flask is a smaller web framework. I've worked a lot with it and it's great, I really like it. But it's more similar to expressjs or sinatra if you are familiar to those. It's smaller and offers more flexibility, but less boilerplate.
So for an MVP, where you'd need a user system with login, etc. it will be more work and thoughts with Flask, when with Rails it's usually a gem and a few lines of code, mostly to setup configs.
Plus all the things that come after the setup, like endpoint authorisation etc.
I don't have experience with Django. Right before coming back to ruby I tried to try to Django since I had been doing python for 4 years, but didn't really like the approach of being a cluster of apps (seemed like a mini, local, micro services architecture) and that seemed too much.
Also, I'm always very amazed at the quality of the ruby community, the amount of resources you find and their quality.
So, I'm only 1 data point, but it seems to me that rails makes you move faster, not only by allowing a lot of plug and play things, but also allows you to unblock yourself sooner, bc ruby/rails has an immense quality of quality resources.
Same here. I can't emphasize enough on this. Ruby On Rails has got so many things right already that you only need to focus on building your product.
So glad I read this. I've been learning rails, keep reading about hot newness and second guessing my decision.
PHP (Laravel) and MySQL here, on Digital Ocean VM's
Python, JavaScript, Django, ReactJS, Postgres, AWS, Gunicorn, Nginx. Not all accounted for, but those are the major components.
For a prototype, Django only can be great with his template. And with Turbolinks (https://github.com/turbolinks/turbolinks) by the team behind Basecamp, you can even look like a Single Page App behavior ;)
Python, UWSGI, Bottle, nginx, JavaScript, anyDB :)
Laravel + Vue, VPS with Nginx, MySQL (OpenLiteSpeed), for emails: Mailgun + Sparkpost
Firebase + JS (preferably React). Firebase for hosting and database. For database, security rules may become complex at first but you get used to it.
Nice.
Also a fan of Firebase. How are you finding managing content in your Firebase project though?
Have you tried https://flamelink.io/ ? It's a headless CMS specifically built to integrate with Firebase your projects to give you an easy-to-use interface to add, manage and update content. Would be interested to hear your thoughts. :-)
Disclaimer: I work for Flamelink - so I'm super keen to hear what you think.
Front: Vue.js
Back: Elixir/Phoenix/Postgres
On: Digital Ocean/nginx/ubuntu
Also using: papertrail, uptimerobot, rollbar, mailgun
Hopefully, just Swift.
Planning on working on iOS apps only as my new strategy.
.NET core, JS/jQuery, SQL Server, Azure/Cloudflare
ASP.NET, C#, SQL
HTML, CSS, JavaScript, Node.js.
The more specific stuff, depending on the project, I'll use Hapi, Ember.js, Handlebars, MongoDB, SQLite, AWS and Netlify.
In the end I think the best stack, is the stack that makes your dreams a reality and gets out of your way.
Laravel (PHP), MySQL, and Bootstrap on a shared host for my MVP.
Try a Digital Ocean droplet or similar. You will thank yourself later.
I use Scala and Elm. I've never been more productive.
HTML, CSS, JavaScript, PHP
Spreadsheets as DB
Zip for backups
Heroku + Dropbox for hosting
Love your stuff dude, your story about learning to build "When to Surf" got me interested in coding!
I started a new project in Node recently, but switched back to Elixir/Phoenix. It's amazing how powerful that system can be.
The past handful of times this question was posted, the answer I gave with some others was: the best tech stack (in any year) is the tech stack that gives you the best business results.
I don't think that answer is likely to change in the context of IH, especially since "best" is a vague, undescriptive and subjective term. And your job is to get business results.
For me its
FE: React, Redux, Webpack, PostCSS, Typescript, GraphQL, Apollo
BE: Python, Django, Graphene, PostgresSQL
All wrapped with Docker
Vue + GraphQL + Apollo + Mongo + IPFS + {Awesome Decentralized DB}
For new projects: back: node.js + firebase, client:ionic
existing projects: back: node.js + express, client side:ionic on: digitalocean or vultr.
Hey Yiğit,
Also like using Firebase.
I wonder what you use to manage content within your new Firebase projects?
We've built a headless CMS, https://flamelink.io/, to help make managing content easier, no just for Developer like you but also for non-techies (like myself). I would love it if you could check us out and tell us what you think.
*Disclaimer: as I am employed by Flamelink, I am probably just a little biased. :-)
:)
I use traditional way to store and manage content. Create a database, bind it using a rest api and call it inside application. (Now a days, i use firestore to store content data).
I am going to check your project as soon as possible, because looks like it may fit one of my client's need.
Can you share your contact information with me? Simply send an email to yigit[at]yigitnot.com, i have a client that asked me for a content solution, we can partner up on this
Oh wow. That sounds amazing.
Thanks for taking the time to check Flamelink out.
When you're ready, please feel free to join our Slack workspace - https://flamelink.io/slack our Dev team is quite active on there helping out where they can.
You can also check out the guide (and video) https://hackernoon.com/want-to-get-started-with-flamelink-a-firebase-cms-right-now-2eb93d6d7be9 to get started.
Go, React, some AWS Lambda, Kubernetes
FE: HTML, CSS, JavaScript, jQuery
BE: NodeJS, DynamoDB, Lambda, SES
React, Redux, Nginx, Node, MySQL, Docker, Ubuntu. Running on DigitalOcean VM's.
I haven't used all the pieces on a single project yet, but ideally it would be:
React/React Native, Redux (offline, orm, persist), Docker, Django, Postgres, uWSGI, Nginx, Digital Ocean.
PHP & Bulma for CSS and layout. Amazon SES, SNS, S3 for storage and communications.
React + Mobx + Apollo-GraphQL + Meteor. That's what works for me.
I am going with AWS Serverless. I use S3 + Cloudfront for my hosting. I write lambda functions in Python, Go and Node.js. My choice for SPA frontend in React. Someday soon I will be developing mobile apps with ReactNative.
One of the major benefits of AWS is if you are going to go all in on their ecosystem, you will find that they have services for just about everything that you need. While a lot of people complain about AWS being costly, writing some glue code and using services like SES works out a lot cheaper than paying for sendgrid or drip.
I've considered this, but writing "some glue code" is gonna be a far cry from a full-featured service like Drip. I think it would save money, but suck up a ton of time and I worry that I'd be constantly improving/debugging it instead of working on my actual business.
same with Azure
An interesting chat. Thanks for the useful conversations. Also interesting article on this occasion https://artelogic.net/blog/post/how-to-choose-the-right-technology-stack-for-web-applications .
Hello guys! I've curated a list of popular technologies for startups:
https://github.com/cristobalcl/awesome-startup-stack
Best
I only know html, please I need your advice and suggestions on how to fully kickstart my frontend development career..
Thanks.
PHP (Laravel). Haven't bothered to learn Vue yet, jQuery gets me out of any javascript holes I have.
Mobile apps - Appcelerator.
Desktop apps - Xojo
All simply because I'm happy with them and learning trendy stuff slows me right down and every time you sneeze they've updated it and changed way too many things...
My product is in Go, Bootstrap 4, MySQL and runs on Google App Engine
Is there a reason there's not so much heroku in here? Just seems it's a super easy option.
Anyways, MERN/MEVN for me.
C# & WPF.
Not exactly Hipster material but it is the best tool for the job (Windows 7-10 desktop apps & AutoCAD plugins). Continuing with the "use the boring old stuff" meme, pretty much every WPF problem has already been solved on StackOverflow.com, and the frameworks & libraries are very mature.
Web stuff (back-end) is ASP.NET + SQL Server because I already know C# & SQL, plus exactly the same reasons as WPF. Web sites are WordPress because ... you guessed it.
Boring? Maybe (I'm not bored with it). Effective? Yes.
I'm using Go. Nothing I'm doing has a GUI, and they're all CLI tools, so that's it.
I have lots of different projects going on.
My goto is usually Ruby/Rails/Sinatra.
I did a project in Electron that I've been rewriting in Nw.js due to Electron's inability to facilitate encrypted source.
My other big project is in Java, which has been fun. I have the time and am almost done writing a basic DAO/ORM mix for an H2 datastore.
ASP.NET Core + Azure SQL on the backend, Vue on the frontend. Lots of custom CSS but I'm loving Bulma for getting sites up quick.
We've been building out a platform to help indie hackers build even faster if you want to check it out: http://base.run
It's a new take on backends-as-a-service, where a huge and growing amount of functionality is built in to the platform through the idea of computed columns which let you focus on building your business, and trying out cool ideas, instead of coding:
We introduced the idea of "computed columns" which is essentially functionality built into the database. For example, you can add a column type that does Image OCR (takes in another column as inputs), or scrapes a website (takes in URL in other column), or does sentiment analysis on the text. Here's a little video that shows computed columns in action, where we use a Clearbit Lookup column to enrich profiles based on email addresses: http://g.recordit.co/JwLK13IZ7E.gif
A spreadsheet like view of your data that you can access from the web to setup your Schema etc, edit data, and do things manually until you automate them. This is especially effective if you're collaborating with some non-technical peeps helping on the manual tasks and don't want to have to build a full admin panel.
You get a really easy to use SDK: https://base.run/docs/index.html that gives you easy ways to work with your data & build a compelling front-end experiences.
Our team is here to help and we'll also build computed columns you want to have in the database :)
Elastic beanstalk (NodeJs), AWS RDS (Postgres), React frontend
This is my current stack - sailsjs, semantic-ui, jquery, aws(beanstalk, RDS, Redis, Elastic Search), postgres
Both - www.highlyreco.com & www.massivetimesaver.com are built using the above stack. Also consulting with a company. Using the same stalk there. What I like about it is, it minimizes switching cost for me big time.. one language(javascript), convention over configuration based framework(sailsjs - similar to rails in philosophy but in javascript), managed services on aws (minimum devops )
Go, Redis, bootstrap
Clojure, JS, CSS, HTML
Elixir and Phoenix.
I've bet my entire venture on the effectiveness and growth of the stack.
Node.js and React. Mongo or Postgres. Looking at maybe using Tachyons CSS in the future.
My stack would be:
React, Sass, Go, Docker/Kubernetes, MySQL
React + Meteor, building a SaaS app. This is my first Meteor project but so far I adore it.
Lately, I've been using Go, Vue.js, and Bulma. Occasionally Java / Kotlin on the back end. For my datastore I usually use one or a combination of Postgres, Scylla, Redis, and Cassandra depending on what I'm making.
Ruby on Rails, PostgreSQL, React + Redux and Heroku.
Angular+Node+Mongo.
Sometimes Wordpress stuff.
Frontend: HTML, CSS, JavaScript, React.js, Vue.js
Backend: NodeJS, DynamoDB, Lambda, SES