21
64 Comments

What's your tech stack of choice?

I'm curious to see what the indie hacker community here uses for their projects. What language/framework/services do you use to build your project?

  1. 14
    • Ruby on Rails, Heroku, Bootstrap
    • Cloudflare for DNS and CDN
    • Sentry for error monitoring
    • CircleCI for continuous integration, deployment and automation
    • Intercom, Mailchimp/Mandrill, Google Apps
    • Wave Accounting, Shoeboxed, and a bank account
    • Metabase and Google Analytics
    1. 1

      Ruby on Rails FTW!

      1. 2

        Ruby on Rails changed how I ran my business.

        My web app had been written in PHP (I've worked in Drupal and Wordpress for a decade, PHP is fine), but the way I pushed updates was just pushing code to the webserver and hoping it didn't break anything. No tests, no CI; all QA, all manual. Even when I rewrote it in Node I wrote some tests, and had some CI, but it all felt like climbing a rock-face. That made me reluctant to make changes, and I didn't have a lot of insight both how customers were using my website (cause tweaking and experimenting was hard) as well as whether my website was actually working technically (and people would email that it wasn't). Everything just felt hard, but I accepted that was just the way software development is.

        I'd always dismissed Rails as being too precious, but then I started a new job where I was surrounded by technical people that were like "hey, you seem like you're seeking. Have you tried Rails?". One of them gave me a copy of Agile Web Development with Rails and it really spoke to me (see, precious). Both as a nice tool and ecosystem, but also in how to build small and iteratively and make change painless and inexpensive. I made more progress in 6 months than I had in the previous 4 years.

        I went from ambivalent-hater to pragmatic-acceptance. This quote from a contemporary interview sticks in my mind so much, especially that it starts with the frame of controversy:

        The core premise of Rails remains in many ways as controversial today as it was when it premiered. That by formalizing conventions, eliminating valueless choices, and offering a full-stack framework that provides great defaults for anyone who wants to create a complete application, we can make dramatic strides of productivity.

        I don't mean to say "you should use this", but I did want to tell my story. Sorry to be precious 😂

        1. 1

          For people who are starting out on their own Rails is the best choice out there. Ruby is one of the friendliest languages for beginners. They have a Gem for every single problem. The community is really big. If you run into a problem there is 99.99% chance that some else also did and there is an answer for that on Stack Overflow. Rails may not be the hottest choice today on Hacker News because it is mature. Rails ecosystem is mature. Similar thoughts by DHH ( Rails' creator) in a recent podcast

          https://podtail.com/podcast/all-ruby-podcasts-by-devchat-tv/rr-342-rails-development-and-more-with-david-heine/

  2. 9

    Backend:

    • Python+Flask: simple to learn, lightweight and flexible
    • Google App Engine+Cloud Datastore: don't have to worry about infrastructure setup + maintenance, built-in CDN/Edge for image and static files, auto scalability.

    Frontend:

    • Vue.js with webpack: easy to learn, nice to use, data reactivity make development pretty fun and neat (I assume the same apply to React)
  3. 6
    1. 2

      +1 for Anvil -- I've played around with it a bit and shared with the local Python meetup a couple months back

      1. 2

        Nothing suits everybody, but Anvil came along with exactly what I needed, exactly when I needed it. For me it's the perfect as-much-code-as-you-want-to-do RAD web tool, with Python all the way.

    2. 1

      I looked at CockroachDB closely, but was scared off by the lack of backups. How has it been for you?

      1. 1

        New for 2018 :)
        I'm part way through evaluating it at the moment. I was initially drawn to it through the incredibly simple clustering set up, having previously use Galera.

        It does have serial backups in the free version, but the project I'm doing we might end up with the Enterprise licence which has distributed backups (as yet untested).

        So, an adventure (with the option to fall back on Galera if it all goes south).

    3. 1

      I'm curious about the use case for CockroachDB. What made you choose this?

      1. 1

        (copied from above) -

        I was initially drawn to it through the incredibly simple clustering set up, having previously use Galera.

        It's an adventure and I have the luxury of being able to switch if necessary, at least in the early stages :)

  4. 6
    • App: Ruby on Rails, Vanilla JS, Turbolinks, Bootstrap
    • Background jobs: Sidekiq
    • DB: PostgreSQL, Redis
    • Emails: Sparkpost, Mailgun
    • Static sites: Jekyll
    • Web server: Nginx, Phusion Passenger (thinking about Puma)
    • Servers: AWS, OVH (thinking about Linode, Scaleway)
    • App monitoring: Newrelic
    • App error tracking: Rollbar
    • Server monitoring: Prometheus, Grafana, Uptime Robot
    • Version control: Bitbucket
    • Domains, DNS: Namecheap
    • Deployment: Capistrano
    1. 1

      Pretty similar to mine. Where do you host grafana and rails app?

      1. 1

        VPS. Currently OVH, because I've got a nice discount some time ago. I'm going to migrate in ~ april, probably to Linode.

        1. 1

          It’s weird I’ve never heard those titles :D
          How about digitalocean, amazon? How Linode is better?

          1. 1

            Okay, DigitalOcean has a new pricing model now, they've (at least) doubled the RAM, so they are a hot candidate now :)

          2. 1

            OVH - cheap (I think they only have monthly/annual pricing), seems stable, but I've heard bad stories about their customer support
            AWS - the best in terms of flexibility, the worst in terms of price and price prediction
            DO - I really like what they are doing, but currently little pricey for my needs
            Linode - old player, stable, reliable, cheaper than DO, great customer support

            I just need a smaller VPS without fancy things, so Linode seems to be the best fit for me.

  5. 4

    PHP, no framework
    MySQL
    HTML
    CSS
    jQuery / JS
    Cloudflare CDN

  6. 4

    I've intentionally been trying to keep it simple and avoid any unnecessary engineering.

    • Backend: Elixir
    • Static assets: Elixir
    • Monitoring: Elixir
    • Database: CSV files written on the server
    • Frontend: Inline CSS and JS, no framework
    • Deployment: Nanobox
    • Hosting: Digital Ocean
    • Mail: None yet, Probably Mandrill + Mailchimp free plan when needed
    • Video hosting: YouTube
    1. 5

      +1 for Elixir! I'm actually learning it now via your https://alchemist.camp tuts in combination with https://elixirschool.com.

      Elixir is the first language I've gotten into where things just make sense. Perhaps my mind doesn't operate in an OO pattern, but I always got lost in my Python & C# code bases.

      Elixir + Phoenix + PostgreSQL with a sprinkle of VueJS is what I'm using on my freshly kicked off project.

      Also, I can't say enough great things about https://nanobox.io. It makes deployment Heroku-like, which is exactly what I want as a solo dev.

      1. 3

        yay for Elixir! :-)

        I'm also using Elixir/Phoenix/Postgres/Vue for my project.

      2. 2

        This is one of the nicest possible notifications to see on IH! I've spent some time on Elixir School myself and it's great to be listed along side them.

        If you'd be willing to share a couple of things you wish would be changed or added in future videos, I'd be super grateful and give you a free month subscription or first free product depending on how I monetize Alchemist Camp in the future. You can find a contact email from my profile page.

        1. 1

          Sure thing! I'll fire over an email today

    2. 2

      Similar.

      • Backend: Elixir/Phoenix
      • Database: Postgres
      • Frontend: Brunch, Vue/Vuex
      • Deployment: eDeliver
      • Hosting: Digital Ocean, nginx, Let's Encrypt
      • Mail: Bamboo/Mailgun
      • Video hosting: currently eval-ing jwplayer vs vimeo
  7. 3

    I said it once before, but for those of you looking for ideas for businesses that sell to developers, these are lists of things that developers doing small businesses will pay for.

    It doesn't matter that it's already been done. If you have a unique take on it, you probably can make money.

    I started Helmspoint as an Elixir/Phoenix web app, but then fell back on a tried and true Ruby/Rails web app, since the libraries I needed were far more mature in that ecosystem.

    1. 2

      This comment was deleted 7 years ago

  8. 3
    • Backend: Django for most stuff. Node.js for real-time. PostgreSQL for almost everything.
    • Frontend: React/Redux, or Preact if it's a small enough front app.
    • Infra: Dokku on Vultr for most stuff. AWS Elastic Beanstalk + Terraform for more serious stuff.

    Also:

    • Gandi.net for domains
    • Cloudflare or AWS Route 53 for DNS
    • Netlify for static sites

    Would love to explore Golang and GraphQL though.

  9. 3

    Code-free stack:

    • Frontend: Bubble (https://bubble.is), and soon DropSource for mobile
    • Backend: Bubble, (OR RestDB.io, Google Sheets/SheetDB.io) + Zapier

    For my Data Science stuff: Python, Jupyter Notebooks

    1. 3

      This really resonates with me. I've come to believe that SPAs are usually a mistake for small companies. They lead to a slighty snappier experience for the user at the cost of a great deal of engineering complexity.

      So many of my engineer friends keep falling prey to overengineering their side projects and even their day job projects and I've fallen prey to it too. Meanwhile, there are gigantic companies that grew to millions of users on customized WordPress sites before finally hiring in house engineers!

      1. 2

        Yep. Years ago I had a higher-up at a huge multi-national sit me down because I was taking too long trying to build a sexy tool and he simply told me, "Chris, I need a Chevy solution and you're wasting time building a Cadillac."

        That has stuck with me and now I try to figure out the quickest path to solving the primary problem as a foundation, then iterate from there.

    2. 2

      Someone may think that there is a big choice of tools in Data Science ;)

    3. 1

      ++ Namecheap for domains and Zoho One for administravia

  10. 2

    This is basically my core stack on which I built most of my projects:

    • Backend: Laravel, MySQL, Redis
    • Frontend: VueJS
    • Hosting: DigitalOcean
  11. 2

    Backend

    • JavaScript, Node (always updating to latest LTS)
    • Hapi (server), Mongo (app state), Joi (validation)
    • Agenda (job management), CronTab (timer)
    • Jest (unit testing), snapshot testing
    • ES Lint (derivative of AirBnB)

    Frontend

    • React and friends (Redux, Router, ... other react-only stuff)
    • Webpack
    • Hapi (I wrote a private library that simplifies server-side renderer with async preloading)
    • Jest (unit testing)
    • SCSS
    • Emotion (new styling library we're using, deprecating SCSS)
    • ES Lint (derivative of AirBnB)

    General Integration

    • MailChimp (marketing), MailGun (transaction)
    • Stripe (cc capture), PayPal
    • AWS
    • Elastic Search
    • Google (geo location, URL shortener, YouTube API)
    • Google DTM (Analytics, Tags, AdWords metric insights)

    Infrastructure

    • GitHub
    • CircleCI
    • AWS: DynamoDB (events), Elastic Search Service (events), Route53 (DNS), ELB (Load Balancer, route tables), EC2 (servers), CloudFormation (auto provisioner for auto scaling), CodeDeploy (for CircleCI to talk to), VPC (firewalls), CloudWatch + custom scripts (monitoring), CloudFront (CDN), S3 (everything...), Cert Manager (SSL Certificate)
    • Google Identity Management (SAML)
    • Yarn
    • PM2 (we cluster within an EC2, and cluster EC2, maximize on CPU/memory consumption)

    Architecture Strategy

    • Micro services
    • Event-driven analytics
    • Unstructured data
    • Minimal API - https://www.youtube.com/watch?v=4anAwXYqLG8
    • Functional style
    • JavaScript-everything when favorable
    • Folder structure: organize by feature, not type
    • Convention over configuration
  12. 2
  13. 2

    We prototyped MoonlightWork.com with no code and did $50K+ in revenue with it: Squarespace, Zapier, Google Forms, PaidLabs.com, and Payable.com.

    We have since rolled out an application:

    • Backend: Go on Kubernetes. gRPC API. Chromeless microservice for server-side rendering. Stripe Connect for payments. Custom slackbot for notifications. Segment.com for user tracking. Sparkpost for email (discovered through IndieHackers podcast - thanks for sponsoring!)
    • Frontend: Big VueJS application. Bulma for CSS. Imgix for some image management. Google Cloud CDN. Plenty of code splitting with Webpack.
    • CI: Jenkins
    • Monitoring: Sentry
    • Development: Custom CLI plus Minikube
    • Misc: Metabase
  14. 2

    Frontend: React / Redux, Typescript,
    Backend: Django
    Data Science: Pandas for prototyping, Scala / Spark for production

  15. 2

    Node + express + mongo

    Plain HTML/CSS/JS as a front-end

  16. 2

    ionic framework + Angular2+ , NodeJS + libraries (Express, Typescript, request, LokiJS, gulp, nodemon, browser-sync).

    I mostly use Typescript for ES6 converting to ES5 Javascript in the server if needed though. I just don't like Babel and from what I read the conversion from ES6+ to ES5 is smaller and just better in Typescript than Babel.

    But for the frontend it is a must because I use Angular.

    For my next project I might try to use Vue though.

  17. 2

    For my web apps I am currently using Firebase as backend and AngularJS and JQuery for my front end. So most of it is Javascript as language.

  18. 2
    • Python/Flask, Celery, DigitalOcean
    • ReactJS, Bootstrap, Cloudinary (image)
    • Sentry for error notification
    • Elasticemail
    • Drift for user onboarding
    • Google Analytics
  19. 2

    I'm currently starting most projects with React, Next.js and styled components on the frontend and a Node.js GraphQL API as a backend. I'm considering using Gatsby for some projects.

  20. 2
    • Frontend: React, react-native, bootstrap 4, JQuery
    • backend: Firebase, NodeJS, RoR, Laravel
    • Other: Digital ocean, unsplash, zapier, Google analytics, typeform, intercom, drift, stripe, shopify-checkout, paywhirl

    Not all at the same time, obviously. React + bootstrap template + Firebase is my go to for prototypes.

  21. 2
    • Frontend: Polymer, Material Design elements, Vaadin
    • Backend: NodeJS with Firebase (firestore, storage, functions), Google Cloud Pub/Sub, Apollo libraries for GraphQL
    • Other: Crips.im, Google Tag Manager, Gsuite, Mailgun, Stripe, Zapier
  22. 1
    • Server: Laravel
    • Database: MySQL (Sequel Pro for viewing database)
    • Frontend: Blade templates / Vue.js, Bootstrap 4, Google maps
    • Admin panel: Laravel Nova
    • Hosting: Laravel Forge (backed by Digital Ocean)
    • Analytics: Google Analytics
    • DNS: Google Domains
    • Email provider: Gsuite / Google Drive
    • Transactional email: Mailgun
    • TextEditor: PhpStorm
    • Terminal: iTerm
    • Version control: Git and GitHub

    Hopefully soon:

    • Algolia for search
    • Stripe for payments
    • Redis for jobs and background processing

    The site I'm running is for companies to browse active talent in the Bay Area: https://employbl.com/

  23. 1

    Python with Flask on Google App Engine, using Postgres via Google Cloud SQL and Google Pub/Sub for background jobs.

  24. 1

    I usually stick to Node - ExpressJS, Mongo/MariaDB, Some VDom framework on the frontend and NGINX with Cloudflare.

    • Node + ExpressJS
    • VDom Lib (Vue, React, Svelte, Custom)
    • Mongo/MariaDB
    • NGINX
    • Cloudflare
    • Twilio (Telephony)
    • AWS SES (Email)
    • Publii (Blog) - https://getpublii.com

    But...
    Over the last 2 days, I've been building a project in Sapper (Svelte.js) which is still in 0.1...
    https://sapper.svelte.technology/

    It's AWESOME!
    Basically a framework/wrapper around ExpressJS and Svelte.
    In the last 2 days I've built something I'm really proud of (https://apiconsole.io) with very little frustration.

    My main issues were integrating my old practices (NGINX configs), but once I bit the bullet and did it properly, everything worked nicely.

  25. 1

    Python / flask as the jumping off point, simply because it's what I'm most comfortable with, resulting in me being able to create something workable faster.

  26. 1

    I'm surprised reading through this thread... I feel like the only Java developer in the world! Haha. Interesting to see lots of python/ruby hackers :)

    My typical tech stack is:
    Java + Spring Framework for backend
    Freemarker/Bootstrap for front-end with Spring MVC
    Postgres/Redis for DB+Caching
    Rollbar for error reporting
    Gradle + Docker for build system + ops
    DigitalOcean for deployment.
    Git/Github for SCM.

  27. 1
    • Elixir
    • JavaScript
    • GraphQL
    • React
    • ReactNative
    • Digital Ocean

    That's about it right now.

  28. 1

    I'm currently all-in on AWS for hosting as I really like having everything in one place, and I figure it's a good skill. Not the cheapest though!

    Code wise I use Python + Django for back-end, and front-end I like something fairly simple such as Backbone or React.

    These are the techs I use for https://clever-tweet.com and it works pretty well once I got past some stumbling blocks with AWS.

  29. 1

    At work we use:

    • back: python/django/DRF
    • front: preact/redux
      For a side project I'd probably use:
    • front: preact
    • back: node.js
  30. 1

    hey there,
    we build all our web and mobile apps without code using Bubble and our own no-code app templates.

  31. 1
    • Ruby on Rails
    • React
    • Semantic UI
    • PostgreSQL
    • Sidekiq for background jobs
    • AWS EC-2 - ubuntu 16.04
    • AWS RDS - PostreSQL instance
    • Nginx for Web Server, Puma for App Server
    • Postmark for transactional emails
    • Dnsimple
    • Circle CI for continuous integration
    • Capistrano for deployment automation
    • For small projects, exception notifications to Slack/Email with the exception notifier gem
    • Trello for project management
    • Workflowy for managing day-to-day tasks
    • Google Meet for meeting customers
    • Preferably Github for hosting code (Bitbucket if you are low on budget)
    • Slack notifications for new signups, exceptions, deployment/CI notifications
  32. 1

    To keep it simple, I use Javascript/Express/NodeJS/MongoDB on the back end and Javascript/Vue on the front end. Deployment is on Digital Ocean.

    You can see the whole list in the footer of https://MarketingHustle.xyz

  33. 1

    Hi,

    its scala(backend and frontend), postgreSQL and bootstrap, not much else so far.

    I am building an SaaS solution, mostly crawling data from various pages.

  34. 1
    • Linode
    • Namecheap
    • Coast (my own framework, I know...)
    • Slack for error monitoring and random events
    • Mailgun for email
  35. 1

    App: Ruby on Rails, BackBone JS (looking to react) , Bootstrap

    DB: PostgreSQL

    Emails: SendGrid

    Web server: Nginx, Phusion Passenger

    Servers: Digital Ocean

    App monitoring: Newrelic

    App error tracking: AirBrake

    Version control: Github

    Deployment: Capistrano

  36. 1
    • AWS infra
    • Python / Tornado backend
    • React / Redux frontend
  37. 1

    Backend: nodejs, c# (.net), mongodb, sql server
    frontend: angularjs, jquery, HTML + CSS
    Everything else: Digital Ocean, Microsoft Azure

  38. -1

    please i need one good hacker to share some $$$$ with , contact me via email , chubbylogs94@gmail.com

    1. 1

      Please Mr DollarMan,
      Tell me you're a Nigerian Prince?