11 ms·
Ask HN: Which stack do you use at your startup?
- haasted 9y agoYou might find some interesting answers at https://stackshare.io/stacks https://stackshare.io/stacks
- sdca 9y agoStackshare is more informative than a majority of the replies in this thread that aren't stating their startup's name or use case.
- juststeve 9y agowindows 200, ms access for the backend, ASP (VB) for the frontend. we also do java applets
- therealmarv 9y agoyou probably meant Windows 2000 ;)
- jxub 9y agoWindows Trajan emperor edition has a really good firewall up there (sorry for bad joke, had to make it).
- mhd 9y agoHealthcare sector?
- FrozenTuna 9y agoHealthcare Dev here. Its getting better! We finally ended support for IE8 last year!
- andrei_says_ 9y agoDo you still support ie9&10 or have you moved on to 11?
- jpgvm 9y agoNot sure we qualify as a startup anymore but our stack is Kotlin + Gradle + Kubernetes on GKE. Definitely the best stack I have worked with thus far.
- 2_listerine_pls 9y agowhat framework?
- deleted 9y ago[deleted]
- thepratt 9y agoWe use PHP. PureScript Haskell Postgres :) all on kubernetes atop AWS.
- iamd3vil 9y agoWe use Elixir, Go, C++ for backend and JS, Java / Kotlin, C# for frontend. We also use Postgresql, Rabbitmq and Redis.
- xstartup 9y agoHow are you managing deployment of these many technologies? What does your CI/CD workflow like?
- iamd3vil 9y agoWe mostly use docker with docker swarm. Currently exploring moving to Rancher. Also we use Gitlab CI for CI/CD. Our workflow looks like this: a release is tagged, CI tests and builds a docker image which is pushed to our private registry and then we use ansible to deploy the new release on our servers. We mostly use onprem for our production and can't use any cloud with the regulations and limitations we have.
- timvdalen 9y agoWe [1] use a Laravel back-end for the main system, hosted on autoscaling EC2 behind a load balancer. Our front-end web application is built on Angular, running on S3 behind CloudFront. Since we process a lot of data, we use background jobs (with SQS as a broker) to perform our analyses. The actual data processing and wrangling is done in Python. We have released some parts of our systems as open source projects [2], [3], [4]. [1]: https://odysseyattribution.co/ https://odysseyattribution.co/ [2]: https://github.com/code-orange/telemachy https://github.com/code-orange/telemachy [3]: https://github.com/code-orange/jot https://github.com/code-orange/jot [3]: https://github.com/code-orange/statuspage https://github.com/code-orange/statuspage
- bgdkbtv 9y agoGreat to see Laravel in this discussion! Beautiful framework. A couple of questions: 1. Why did you go with Python for data processing instead of PHP? 2. Why not use Redis for queue/background jobs processing?
- timvdalen 9y agoI agree! Lumen is my go-to framework for small web-based things right now, picking things from Laravel is so powerful. 1) At the time, Python (and with it pandas/numpy) seemed to be a good fit for the data we were working with (and the analysis was developed as a separate project from the main system that calls it). If we were to do it over right now (and we well might in the coming months) we would probably move this into PHP as well, which makes writing workers much easier. 2) Cost-wise, SQS makes a lot of sense - the system is highly distributed and cut up into parts (the description in my first comment is a bit simplified) so adding redis to the mix means adding a whole new server. For SQS, we're just paying per-message (and we don't have a _lot_ of messages, so it's cheap). Furthermore, I've built an algorithm to scale up the background workers based on the queue size of SQS. This runs in Lambda, which makes it super easy to access SQS properties versus connecting to a remote redis server. Basically, the algorithm rents new EC2 instances whenever the load is high and terminates them whenever the load is low.
- zengr 9y agoElixir (Phoenix) in AWS Fargate.
- GSGSGS 9y agoI use Stackoverflow :)
- leonagano 9y agoMe too!
- cperciva 9y agoC on FreeBSD on EC2. Yes, the dynamic parts of the Tarsnap website are written in C.
- xstartup 9y agoWhich OS do you use for development?
- cperciva 9y agoUmm... FreeBSD?
- jrowley 9y agoIt's a fair question. Many people use FreeBSD just for servers and use other distros for their workstations.
- cperciva 9y agoI guess so. It seems strange to me that anyone would want to inflict upon themselves the pain of using different environments for development vs. production, though.
- jrowley 9y agoYou'd think so, but I bet a large portion of developers on hacker news develop on a mac and run their apps in production on a linux distro. At least for web apps.
- cperciva 9y agoCould be. I know a lot of Mac owners who only ever do three things directly in OS X though: Run a web browser, use video conferencing software, and launch linux and BSD virtual machines.
- ComputerGuru 9y agoThanks for your work on the ec2 AMIs. Just deployed a lambda script that spins up a FreeBSD ec2 image that checks out, compiles, and runs the contents of a dynamically provided git url, with dynamically specified pkg and pip dependencies to make my own long-running FreeBSD-based lambda-esque service for some continuous deployment. Wouldn’t have been possible without the ec2 images and the configinit magic. -mqudsi@neosmart
- dejv 9y agoRails monolith, jQuery for some user interaction (new features are starting to use Vue.js). Hosting on Linode. Capistrano for deployments. Nothing special, but it gets the job done.
- owaislone 9y agoPython, Django, Go, Lambda, ECS, EC2, TS/JS, React
- asplake 9y agoPython, Flask, SQLAlchemy, sklearn, numpy, Amazon Elastic Beanstalk, Postgres (on RDS). PowerPoint ;-)
- mittermayr 9y agoPlain Ruby + Sinatra+ Puma + MySQL (ConnectionPool) + Sidekiq on Redis for the back-end. Sinatra/ERB for low-traffic sites, and ReactJS on S3 for more traffic on the front-end. I always like to err on the side of common denominator, rather than adding as many 'currently hip' tools as possible. Every time I try new things, it eventually brings me back to this set of tools.
- bgdkbtv 9y agoWe use Laravel for the backend and VueJS on the front end. Forge/Envoyer for deployments. Amazon S3 for storage, db/redis for queue processing. Great setup, a lot of the headache is taken out and lets us focus on the development aspects of creating software.
- Davetron 9y agoReactJS front-end, Grails back-end API with a PostgreSQL DB deployed on AWS.
- yakshaving_jgt 9y agoHaskell & Elm. Deployed to AWS with NixOps. Persisted with PosgreSQL and Redis. Code hosted in either Bitbucket or GitHbub. Tasks managed with Trello and email. Occasional sync meetings over appear.in or Zoom (I travel).
- vaibhavsagar 9y agoThis is my favourite stack here by far. What are your pain points?
- yakshaving_jgt 9y agoNixOps supposedly supports several hosting providers, but the DigitalOcean integration is currently broken. AWS works great, but it's annoying to be forced into that choice by the tool. Haskell and Elm both work great, but I can imagine in future using something like Haste or PureScript Bridge; it'd be nice to work with both the backend and UI as a single project. Not a pain currently, but this is a nice to have. Biggest pain is documentation. Haskell stuff is documented, but more hand-holdy examples would be ideal. OTOH, some language communities have a culture of writing documentation that is too hand-holdy, flooded with emojis, and is generally frustratingly infantilising. I'd like Haskell to strike a balance between the two. I'm optimistic we'll get there eventually.
- thepratt 9y agoHave you run into design decision limitations with Elm yet?
- yakshaving_jgt 9y agoNope. Not in any of the several products I've put in production with Elm. There have been times when I've needed more things than Elm provides — one time I needed a library for parsing a streaming JSON response — but the JS interop through ports works just fine.
- tablet 9y agoContext: https://fibery.io https://fibery.io - Work management platform for SMB Stack: Clojure PostgreSQL Kafka React Javascript
- shoshin23 9y agoCompany - www.LetsEnvision.com Stack: Swift, Obj-C Python C++ MongoDB
- zuzuleinen 9y agoBackend - Golang Frontend - React app DB: MySQL
- xstartup 9y agoHow do you do migrations with Golang? Which ORM do you use?
- abdelm 9y agoThis may be useful: https://github.com/mattes/migrate https://github.com/mattes/migrate
- majewsky 9y agoSeconded. I use it with the go-bindata backend and Postgres driver. Some notes: - Migrations are written in plain SQL, so there may be portability issues if you need to support multiple DBs. (Or you need to write the same migration once per supported SQL dialect.) - It does not `CREATE DATABASE` for you when applying the first migration. For my app that uses Postgres, I wrote some extra code to do that. Feel free to copy if you like: https://github.com/sapcc/limes/blob/ab4245a8f195672b808f990f9f7c2452652c475d/main.go#L145-L178 https://github.com/sapcc/limes/blob/ab4245a8f195672b808f990f...
- zuzuleinen 9y agoFor ORM we use GORM: http://gorm.io http://gorm.io For migrations we use goose: https://github.com/pressly/goose https://github.com/pressly/goose
- jamil7 9y agoNode.js / Express, Nginx, RethinkDB, Docker, tiny bit of Go. Preact / hyperscript frontend.
- rayalez 9y agoAs an indie founder, I prefer to use Node/Express and React/Redux, hosted on Digital Ocean. Really fast and convenient to build SaaSes and single page apps like: https://nulis.io https://nulis.io https://helix.startuplab.io https://helix.startuplab.io If I don't need a lot of fancy interactive functionality, and am building more of a usual web 2.0 website, I sometimes go with Django/PostgreSQL: https://fictionhub.io https://fictionhub.io http://webacademy.io http://webacademy.io http://lumiverse.io http://lumiverse.io For static blogs and content websites, I go with pelican generated sites simply served with nginx: https://startuplab.io/blog https://startuplab.io/blog
- t3h2mas 9y agohelix reminds me of https://github.com/ioddly/meditations/ https://github.com/ioddly/meditations/ I'm curious if you prefer Django over js alternatives for any particular reason?
- realPubkey 9y ago- java - dojo - IE11 - jenkins - we are not a startup :)
- beaconstudios 9y agoNode and React/Redux, both with TypeScript. Starting to wish I'd learned PureScript so I didn't have to make do with Ramda for scaling.
- pritambarhate 9y agoJava (SparkJava Web Framework), PostgreSQL, Redis, Angular 4, S3 for files. Have also used Spring, Jersey, SQS, MongoDB in previous projects.
- laci27 9y agoMake your MVP in whatever language you know best. Don't chase after buzzwords or trends. I personally use PHP, mySQL and Redis with nginx proxy, cause I know these the best. Probably nodejs would be a bit faster, but then again, I would probably make 100s of mistakes, not to mention god knows how many bugs, because I'm not 100% familiar with the language.
- ozren1983 9y agoPython/Django, PostgreSQL, React, EC2.
- ralala 9y agoServer-Side: - Python with Pyramid - SQLAlchemy with Postgres + Cassandra - Celery with Redis - Swagger Client-Side: Mostly React, React-Native
- mbuechmann 9y agoI use Go + MongoDB. Hosting via Docker/Kubernetes in GKE. Gitlab is used for VCS, CI/CD and issue tracker.
- artworx 9y agoWe are doing live video streaming, mostly Java and React. Our backend is running on Kubernetes in Google Cloud. Streaming servers are hosted in AWS, but we are preparing to move to dedicated servers. We also use Consul for service discovery and statistics for streaming servers.
- HarveyKandola 9y agoWe're building/selling "enterprise" software. Multi-tenanted single codebase supporting both SaaS and self-host (Windows, Linux, macOS). Stack: - EmberJS front-end - Go backend (static binaries that embed EmberJS GUI) - MySQL database - AWS EC2 pulling Docker images from Docker Hub
- bottled_poe 9y agoI run a development shop in Australia and work with a lot of startups to build their MVP. This puts us in a position to recommend our preferred stack: - Django backend - React frontend - Native mobile iOS/Android OR Xamarin (depends on project) - PostgreSQL - AWS (Elastic Beanstalk) OR Heroku - S3
- hobbes_calvin 9y agoI am an experienced Django developer, but just starting with React. Can you point towards any source which suggests good project setup and structure?
- bottled_poe 9y agoI have not personally been involved with a lot of the development for the past couple of years. I could ask a colleague. Send me an email - james@blitzm.com
- moltar 9y agoHow do you find clients? I want to do something similar. Thank you.
- bottled_poe 9y agoYou have the right approach. Sales first - send me an email (see profile)
- 2_listerine_pls 9y agoWhat's your opinion on .NET Core?
- jxub 9y agoDo you serve React frontend directly from Django or from a dedicated Node.js or other server?
- bitL 9y agoPython, Flask, Tensorflow, Keras, Amazon MWS, Boto
- baystep 9y agoBackend: Java (phasing out), Go (phasing in), Postgres, Redis, all on Ubuntu EC2's. Frontend: JS (TypeScript/ES6), React, ReactNative, SASS, all Webpack'ed (except RN). I think it's a fairly light stack but am happy with it. I would use this as the starting point for pretty much every project.
- swah 9y agoI love Go, but always feel it is not very productive for web app backends. What about you ? Do you use an ORM w/ Go?
- kanishkdudeja 9y agoIn my opinion, it's great for web app backends as well. The net/http library suffices. Just that you might need a library for routing like https://github.com/julienschmidt/httprouter https://github.com/julienschmidt/httprouter
- swah 9y agoYes - that part of the server code is great in Go. I use go-chi.
- baystep 9y agoGorilla Mux isn't bad either and is pretty tried and tested. Also Go is one of the few (if not only?) languages with HTTP/2 built in to the standard library. Not to mention the gRPC over TLS that comes stock as well.
- majewsky 9y agoGo optimizes for readability and lack of surprise at the expense of conciseness, which is why you feel it may not be productive. I think that the better maintainability vs. something like Rails massively outweighs the upfront cost of having to type more code, but other people might judge differently. Furthermore, Go emphasizes "doing it your own way". There are no big web frameworks in Go, you just pull in some small and rather orthogonal libraries and make up your own abstractions to tie them together as you build your application. The end result is something that's highly optimized for your personal needs, but it requires a certain way of thinking and working that's not for everyone (and not always desirable). Some people do better when given more freedom; those should prefer Go etc. Some people do better when working within a well-known set of rules; those should prefer Rails etc. Regarding ORM, I use Gorp (https://github.com/go-gorp/gorp https://github.com/go-gorp/gorp) for INSERT, UPDATE, DELETE and basic SELECTs (e.g `SELECT * FROM things WHERE id = $1`), but when doing complex reports, I write SQL by hand [1] because ORMs are usually too constrained. I always feel like I know more SQL than the people who designed the ORM. [1] For example: https://github.com/sapcc/limes/blob/ab4245a8f195672b808f990f9f7c2452652c475d/pkg/reports/domain.go#L100 https://github.com/sapcc/limes/blob/ab4245a8f195672b808f990f...
- kapauldo 9y agoRails, mongo, elasticsearch.
- yread 9y agoSQLite, ASP.NET Core, jQuery, Bootstrap. Kinda boring but works
- marianoguerra 9y agoErlang in the Backend on DigitalOcean. React/immutable/requirejs/bootstrap in the frontend. The integrations with payments and similar are Java on AWS Lambda.
- nouney 9y agoBackend: - Go, NodeJS - Redis, MongoDB, Tile38, Neo4j - GKE - Traefik Frontend (mobile app): - React-Native
- t3h2mas 9y agoHow has Traefik worked for you? Is it serving production traffic?
- notmarkus 9y agoElixir, React, Postgres hosted through Heroku.
- hungerstrike 9y agoBackend: Node.js, SQL Server, Redis. Frontend: React, Redux, Bootstrap via create-react-app.
- tmaly 9y agofor my food site I use nginx as a proxy, Go for the server and Postgresql as the database. I deploy to digitalocean
- l2cluster 9y agoRuby, Scala, Postgres on AWS
- twovi 9y agoPython Flask, SQLite, some front-end framework that is available at the time, Linux Digital Ocean
- 0x54MUR41 9y agoBackend: Python, Go, Java Mobile development: Android and React Native Database: MySQL and PostgreSQL Redis and also RabbitMQ.
- samat 9y agoCould you please share your experience with RN? Have you created an app from scratch or added RN to existing native app?
- 0x54MUR41 9y agoI have never created an apps or worked with React Native before. But, I would share the experience from my colleague who develops Android apps in our startup. We are a startup that helps people in the middle-low income using technology. The people who use our technology usually have Android mobile phone with minimum specifications (Jelly Beans, low memory and spaces). At first launch, we used Android Native to build our application. The application meets our costumer needs since we consider to build an apps that consumes low memory and spaces. Then our costumer are growing and the features are complex, we use React Native to existing native app. Our application now consumes memory and spaces two times than Native one. Beside that, sometimes when you use a library, Native is more stable than React Native.
- joojia 9y agoPython, Django, Postgres, Cassandra, RabbitMQ, Redis, MySQL, Nginx, HAproxy, Elasticsearch, Spark, React.
- pkstn 9y agoUbuntu, node.js, MongoDB, Mongoose, express, RE:DOM, stylus, nib, pug, ...
- nickh9000 9y ago(serious) hobby project: beanstalk, vertx, java, dynamodb, elasticache. Frontend: Kotlin.
- latte 9y agoStarted with Python + Django + MySQL, hosted on PythonAnywhere. At some point, decided to rewrite the project from scratch in Clojure using MongoDB, since Clojure was much better suited for solving the problem in question (modelling the grammar of a natural language - https://www.pealim.com https://www.pealim.com) and MongoDB was better suited for the constantly evolving grammar spec. The rewrite took around two months and I believe that it was the right decision, though I still miss some of the things that Django provides for free (like the admin interface and user authentication). I also use ClojureScript + Reagent, though not yet on the user-facing parts of the app.
- senorsmile 9y agopealim.com is my most visited site (according to the chrome home screen). I could not have learned עברית so quickly the last couple of years without it. תודה רבה!!!
- habyte 9y agoAs a data company specialized in real time statistics for combat sports, we've built an API with Node.js + Hapi and MySQL. The front-end was developed with Vue.js.
- simonsarris 9y agoWe sell diagramming libraries, most notably (by sales volume) a JavaScript diagramming library: https://gojs.net https://gojs.net Our stack is: we don't care. One of us spun up a couple AWS resources and a windows machine with IIS because that's what he knew how to configure the quickest. It seems like it would be a waste of time to spend any more time thinking about it until we have a real need. We have some orders database stuff we wrote ourselves ages ago with SQL Server that hasn't needed significant changes in 10+ years. In other words, to us, the stack is whatever makes itself disappear the soonest so we can work on the actual product. Nothing fancy, nothing new, nothing changed for the sake of it. If our product touched the stack more, we'd spend more time on it, but only insomuch as it was the product (if the product is a speedy website, etc). Our workflow/cycle is all JavaScript based for the JS product. We push release with a gulp script I wrote.
- busymichael 9y agohttps://DNDEmail.com https://DNDEmail.com is do not disturb for your Gmail. We use Python on Google App Engine. Google's NDB datasource. The Chrome Extension is written in JavaScript. Wordpress on wpengine.com for the front-end brochure website. I've written about how to simplify your MVP stack[https://dndemail.com/2018/01/30/how-to-simplify-your-app-platform-and-dump-the-co-founder/ https://dndemail.com/2018/01/30/how-to-simplify-your-app-pla...] to speed up launching.
- bkovacev 9y agoWebapp2 or something else? :) It's been so long I've seen someone use python on GAE, it's ridiculous. It was my first ever "real world" programming project back in 2011.
- busymichael 9y agoYes, webapp2 with Jinja for the front end. For my endpoints I am just pushing json through webapp2. Simple to use and administer.
- bfrog 9y agoRust on Linux with Cassandra, the strong typing without a GC is a boon to stability and performance (my own sanity). Cassandra is fantastic, looking forward to using Scylla at some point.
- jxub 9y agoWould you mind if I asked what type of application do you have that needs the kind of write performance? Also, are there any Rust drivers for Scylla? This stack looks awesome in terms of pure perf.
- bfrog 9y agoAds (matching, serving, recording analytics), Scylla uses the same protocol Cassandra does. I've been using the CDRS crate which is pretty nice. It has a few rough spots that I've started to smooth over and send PRs for when I get a chance.
- anonfunction 9y agoBackend API servers: Golang, Python, Redis Frontend Web Servers: PHP (Laraval), JS (React), MySQL
- mariushop 9y agoMeteor + React + MongoDB got eddtor.com really quick out of the door. But after 5+ years of maintaining my shipped products (I'm a freelancer, ME-JUST-ME kind of dev), my absolute happiness in customer service & maintanance was the most boring stack of all: PHP + HTML + JS + MySQL/MongoDB. Vanilla FTW.
- hodl 9y agoMVC framework?
- git-pull 9y agoFor anyone here interested, there's a website that has a nice UX for this: https://stackshare.io/ https://stackshare.io/ What I like about it is you can add open source projects to your stack, not just SAAS services. And also, you can split your server-side stack from your personal tools.
- Johnc314 9y agofor what? if its for analytics? we use Panoply and Chart.io sources are all over the place
- petraeus 9y agoi'd like to see this question answered only by companies grossing over $100 million and less side-dev passion projects.
- tomascot 9y agoCOBOL, C++ and Java?
- senorsmile 9y agoMy company is well over that number. I probably only know about a quarter of the stacks... And even within those, there is a lot of variation. There are java heavy stacks, python heavy stacks, nodejs, Ruby. Lots of systems level stuff in C, C++, Java. I can't even speak to any front end frameworks (although I know there are at least a few). Almost every other application you could think of is in use somewhere... Nagiod, Sensu, Icinga, OpenNMS, memcached, redis, nginx, Apache, redshift, MySQL, postgresql, rabbitmq, zeromq, Ansible, Chef... This is likely barely scratching the surface.
- iends 9y agoDon't companies over $100 million use almost every major stack?
- standyro 9y agoWe're not exactly a startup, but a small growing data science, analyst, and engineering team in a bigger company. You name it... but a typical data and web stack. OS/Distros: FreeBSD and Linux (CoreOS and CentOS) Languages: Python (Data Science) & Javascript (Front End) Frameworks: Flask, Django, Angular, React, Bokeh, Tensorflow, Scikit-learn Container Services: Docker, Mesos/Marathon/DCOS (currently testing Kubernetes in GKE - Google Cloud) Databases: Redshift, Postgres, Cassandra/Scylla Deployment Tools: Jenkins, Github, Gitlab (different team) All running in AWS deployed through CloudFormation and Salt. There's even a Windows Server 2016 instance thrown in there for good measure running Tableau. That's the most reliable part of our stack. </rolls-eyes>
- huangbong 9y agoNode.js/GraphQL/Next.js/PostgreSQL/AWS Lambada (via up). Entirely serverless stack with the application state residing in the DB and a JWT to identify the user. No OS, containers, kubernetes, instances, etc to deal with other than a single RDS instance.
- lukeHeuer 9y agoOn https://www.stackpair.com https://www.stackpair.com I'm using Go, Rails, Redis, Memcached, Minio, Sidekiq, Postgres, and Kubernetes on GKE. The iOS app is Cordova: https://www.stackpair.com/apps/ios https://www.stackpair.com/apps/ios For storage and backups I use Hubic and Rclone. Hubic is the best deal I've been able to find for LTS: 10TB for €5/m.
- clementmas 9y agoPHP (Laravel), JS (Vue + Vue Router + Vuex), MySQL. Keeps things simple.
- Can_Not 9y agoUsing postgre, redis, FeathersJS, Nuxtjs, and VueJS. The near real-time updates and sever side rendering is great.
- T3RMINATED 9y agoMicrosoft Products all the way... only way to scale.
- vladholubiev 9y agoAt Shelf [1] we use: Front-end: React, Redux, Vue.js, Meteor.js. Served from S3 via CDN (AWS Cloudfront) Back-end: Node.js in AWS Lambda with AWS API Gateway, also Node.js in Docker hosted on AWS ECS, spot instances Storage: MongoDB (on mLab), Elasticsearch (on Elastic Cloud), S3 Other: GitHub, Circle CI, Terraform, Jest [1] https://shelf.io/ https://shelf.io/
- mattmanser 9y agoMy present client has ASP.Net/SQL Server/Azure. Not the greatest fan of Azure, mainly because of the admin portal, but apart from that it's been good. Constantly get told by their clients that we do everything much faster than other SASS providers they work with, like weeks where others have turn arounds of months.