
Ask HN: What tech stack is your startup built on? - codegeek
I recall there was a post about a year or so ago about tech. stacks used by startups etc. Would love to hear the latest in 2013 used by startups. Any details of front end, back end, hosting, app servers, databases etc. will be useful.
======
dangrossman
It may not be hip, but it handles tens of thousands of users, and tens of
millions of (non-cacheable) hits daily, with just a few commodity servers --

<http://improvely.com> : Nginx + PHP-FPM (5.4) + Percona (MySQL 5.5) + Redis

<http://w3counter.com> : Nginx + PHP-FPM + Percona + Redis + Node.js (for live
dashboards with lots of connections)

Hosting by SoftLayer. I surveyed the hosting choices of over 300 YC-backed
companies; Amazon EC2 and PaaS running on EC2 was the most-used, with
Softlayer in second place. If you run your own servers, they're the best
hardware, public/private network infrastructure and support you can buy, IMO.

------
graycat
Windows, IIS, ASP.NET, ADO.NET, Visual Basic .NET, .NET, SQL Server, own
session state store. Not live yet, but nearly all the code is ready to go
live, and the code written seems to run well. Haven't written any JavaScript
although ASP.NET writes some for me.

I type the code into my favorite text editor, KEdit, and use a lot of KEdit
macros I wrote. I don't use an IDE.

The session state store is just a console application communicating with
TCP/IP sockets and using two collection classes, one for the key/value pairs
of the session ID and session data and the other for a fast way to apply time
out. Timings indicate that on a dedicated, single core computer with a 3.0 GHz
clock the session state store should be able to serve over 1000 Web pages a
second, that is, (A) read the session state, (B) use and update the session
state, and (C) write the session state. The code for the Web pages that use
the session state store send/receive just byte arrays; a GUID is used for the
key, and the values are from de/serialization of an instance of a class for
session state.

Visual Basic has been nice, both for console applications and on IIS for the
the Web pages. The compiler is astoundingly fast; the resulting EXEs are
astoundingly small; the EXEs load quickly; the compiler error messages are
from good up to quite nice; and I may have encountered no bugs at all.

~~~
briHass
I am curious as to why you wrote your own session store. Is this to allow true
load-balancing without the affinity requirement of a machine-based session?

~~~
graycat
Handling session state with my own code let me improve the UI/UX.

Yes, with the session state store as just a simple program, actually just a
console application, communicating with just simple TCP/IP sockets, there is a
wide range of options for having many Web servers sharing several session
state stores. So, get a 'scalable' solution with some options for more in
reliability. And don't need 'session affinity' from a front end Cisco box.

The collection class I used was

SortedDictionary(Of TKey, TValue) Class

as in

<http://msdn.microsoft.com/en-us/library/f7fta44c>

------
iSloth
Software: Varnish > Nginx > PHP-FPM > MySQL + Memcache

Server: Debian 5, OVH Dedicated Server ($99 a year) Atom with 2GB RAM

3rd Party: New Relic (Free), CloudFlare (DNS), Pingdom (Free)

Running a blog and 3 other small projects 20-60 users online at anyone time,
CPU usage rarely goes over 5%

------
Ologn
Client: mostly native Android currently, may put in a web interface eventually

Server: Debian Linux, Apache, MySQL, mix of PHP and HTML. Some HTML and XML
periodically generated by Perl scripts

Hosting: Linode and Rackspace. Still have assets to migrate from Dreamhost and
Bluehost.

Server side was done as it was for two reasons. One, web hosting firms tend to
push you toward PHP, or nowadays, also RoR. It was not easy to run a Tomcat
instance on shared web hosting a few years ago, although the rise of VPS has
been changing that. Secondly, I have been using LAMP for over 15 years and am
familiar with it. Sometimes I think about Django or Tomcat or Racket, but
there would be more of a learning curve with those.

------
rwhitnah
PivotDesk (www.pivotdesk.com)

Ruby on Rails, hosted on Heroku. PostgreSQL.

Queuing is handled via Redis/Resque, and we're using Pingdom and NewRelic for
primary monitoring.

SendGrid powers our email, GitHub hosts our code, and we use Campfire +
PivotalTracker for day to day coordination.

We use Haml for templating, and SCSS for styling. [edit, forgot JQuery]

S3 for image storage, we'll probably be moving the whole app to Amazon's cloud
in the next few months as well.

We've also made a couple tradeoffs in terms of browser compatibility,
including using some CSS3 animation features not fully supported by IE9 and
under. We'll see if that works out for us long term.

All in all, a pretty standard setup for a Rails startup.

------
sheraz

      * Dedicated instance @ rackspace cloud
      * Linux (default ubuntu 12.04 LTS install)
      * Apache
      * PHP 5.3
      * Postgresql 9.1
      * beanstalkd + supervisord + php scripts for async queues
      * cronjobs for housekeeping, ETL, data rollups, etc
      * Sendgrid via SMTP for email
      * New Relic for app monitoring
      * Rackspace cloudfiles for image hosting/storage
    
      * github for code
      * shell scripts for deployment/new server setups
    

This setup servers 50 beta testers on our latest product at the moment. Should
scale up for a while as we will just bump the instance size as needed.

------
zen_boy
<http://drop.sc>

Rails, Postgres, Passenger/Nginx, Redis, Java, Memcached

JQuery, Haml, Sass, Bootstrap, Compass

Started with EC2, now on Linode.

Yet to be announced food ordering app:

Rails (purely as API), PostgreSQL

AngularJS, Bootstrap, Scss, Compass, Yeoman

Nginx as static assets server (serving everything frontend related) and as
reverse proxy for the backend. Probably Passenger or Puma for the application
server.

Planning to try DigitalOcean.

------
bryanmig
Client side: jQuery, SASS, Backbone.js, JS written in CoffeeScript. AngularJS
for our internal administration app.

Server side: ASP.NET MVC 4, Ninject IoC, LightSpeed (amazing super fast ORM
from Mindscape, not free)

Infrastructure: Amazon AWS (EC2, S3, CloudFront), SendGrid for email,
RabbitMQ, MySQL 5.6, MongoDB (for realtime stats)

------
trebor
I'll just throw in front end libraries too. We weren't able to leverage HTML5
due to our market segment.

Internal: Git, GitHub, Basecamp

Client: HTML-not-quite-5, jQuery, Lodash, Fine Uploader, Select2, Redactor,
Fancybox 2, Sass/Compass

Server: Apache 2.2, MySQL 5.1, PHP 5.3, Laravel 3, PHPMailer

Hosting: MediaTemple DV 4.0 (CentOS 5.8)

------
whichdan
<http://easyendorse.com> : Ubuntu, Apache, MySQL, PHP 5.3, Redis, Git +
GitHub, jQuery, Akismet, MaxMind, Mailgun, Stripe - all hosted on Rackspace
Cloud.

------
nickporter
Client: Jade, Sass/Compass, CoffeeScript, (AngularJS|Backbone), GruntJS

Server: Nginx, (NodeJS, Express, MongoDB) | (Django, TastyPie, Postgres,
Gunicorn)

Hosting: S3, Linode|Ec2, Ubuntu12.04|{Gen,Fun}too

------
pauliusz
Client: jQuery, Backbone.js, LESS

Server: Play Framework (Java), PostgreSQL

GitHub for code hosting.

The project's not yet launched, but we're considering DigitalOcean and
Rackspace as deployment options.

------
ohashi
Client: jQuery Stack: Linux, Apache/nginx, MySql, PHP Hosting: Dedicated
server, VPS for dev, caching/proxy, S3 for backups

------
briHass
User Application: .Net 4.0 (XP support) Windows service/ClickOnce

Web: MVC4 (Razor), C#/.Net4.0, jQuery, WCF

DB: SQL Server 2008

Hosting: Dedicated servers

------
Todd
jQuery, LESS, Knockout and Uppercut (my Backbone-style model transport).

ASP.NET MVC 4 (Razor) with WebAPI, Unity IoC/DI, Enormous (a micro ORM not
published yet)

PostgreSQL, Redis

------
anderspetersson
jQuery, Bootstrap

Python, Django, Nginx, Gunicorn, Memcached, Celery, RabbitMQ, Postgresql

Recently moved from Heroku, now hosted on a couple instances from
DigitalOcean.

