
Ask HN: What's your go-to stack for prototyping web applications and MVPs? - JohnnySpaghetti
Hi all,<p>My current go-to stack is Rails + Ember.js. I understand it&#x27;s a bit dated so I&#x27;m considering learning something new.<p>Thus, I&#x27;m wondering what you guys use, or what you&#x27;d recommend learning.<p>Thanks!
======
bharani_m
I am also a Ruby/Rails developer. It is a great framework but I wanted to try
something new for my side project so I started learning Elixir/Phoenix.

I have now deployed two applications using Elixir. One is a simple blog and
the other is the side-project that I am currently working on called Email This
[1]. Overall, I've been very happy with Elixir. The learning curve is not too
steep and the docs are very exhaustive.

For my next project, I am planning on trying Go. There were many great
resources shared in this post on HN today [2].

[1] [https://www.emailthis.me](https://www.emailthis.me)

[2]
[https://news.ycombinator.com/item?id=13612941](https://news.ycombinator.com/item?id=13612941)

~~~
JohnnySpaghetti
Thanks for your answer.

Is there anything you missed from Rails when you did your project based on
Elixir/Phoenix?

What are you using on the front-end for both projects? Do you currently have a
go-to front-end framework/library?

Email This looks great. What are your plans (if any) to monetize it?

~~~
bharani_m
One thing I missed was that the availability of packages for common things
like oauth, payment gateway integration etc. In the Rails world we are spoilt
for choice when it comes to gems and libraries.

But I think this will improve as the adoption of Elixir increases.

I don't have a go to frontend library. I have worked with React and Vue.J's
before and if I have to choose one for another project, I'd probably go with
Vue.

I am thinking of running Email This on a pay-what-you-want model, but I am not
too sure about it though. First priority is to get people to use it and see if
they find value in it.

~~~
JohnnySpaghetti
Cool. Thanks again for your answers.

Best of luck with your projects!

------
pesfandiar
Backend: Node.js+Exress. Although I'm recently looking into serverless options
(e.g. using AWS Lambda, etc.)

Frontend: Bootstrap for looks and CSS sanity. Knockout for data binding; it's
a mature framework that works fine for small- to medium-sized web apps. If I'm
to learn something new, I'd go for Vue.js, whose concepts look very much like
Knockout and it benefits from virtual DOM rendering.

------
mod
For the past couple of years my stack has been Rails & jQuery.

I'm on the cusp of starting a new project and some configuration problems have
left me looking elsewhere. I used to work with Django a lot, and I may go that
route, but I also think a full-javascript stack could be good for me
professionally.

Alternatively, I'd love to try a clojure backend but frankly I'm a bit afraid
of it--I tried maybe 18 months ago and I had a bad go of things. I've read
lately that some of the problems I had have been remedied (most importantly
better stack traces) and so I might just give that a go.

No matter what backend I choose, I'm going to build out a React/Redux front-
end. I'm working with that on the job and I could use a little more time with
it to become more comfortable. Also, I really think it's a good paradigm and
that it's going to stick.

Anyway, lots of fun choices out there. If your efficiency isn't a top
priority, I'd urge you to pick a language that looks fun. For me, Clojure is
that option.

------
tabeth
Why's it a bit dated? What can't you do with Rails and Ember?

~~~
JohnnySpaghetti
There's nothing I can't do with it. I'm just considering learning something
new.

------
RUG3Y
For prototypes I'm either using Node + Express or Flask, depending on what I
feel like that day or what database I need. I don't really like using MySQL
with Node, I think it's easier with Python so if I need SQL, I'm in
Python/Flask.

------
sharmi
I use django. For starters, I use bootstrap and jquery for frontend but once
the project matures and is here to stay, I shift to plain CSS. I also use
plain javascript (for now the total LOC is <900) but may shift to some other
lib when complexity increases.

------
adnanh
I love Ruby and for the quick web MVPs I use sinatra + sequel.

I try to avoid JavaScript if possible... Setting up the JavaScript
build/transpile system, installing dependencies, fighting the dependency
version hell drains all the hype and productivity from my soul...

~~~
JohnnySpaghetti
I agree that dealing with the front-end can be a drain sometimes, but
unfortunately it's necessary for many types of MVPs that require a rich UI.

Do you have any such MVPs or projects you could share?

~~~
adnanh
[https://github.com/adnanh/rye](https://github.com/adnanh/rye) \- simple url-
catcher on our slack channel (live at
[http://rye.hajdarevic.net/](http://rye.hajdarevic.net/)) (Using slack
outgoing webhooks +
[https://github.com/adnanh/webhook](https://github.com/adnanh/webhook) for
catching the webhook and running a simple shell script that parses the slack
message and extracts all URLs and then hits rye with curl to store and crawl
them)

[https://github.com/adnanh/mikro](https://github.com/adnanh/mikro) \- my
personal micro blog that I mainly use to store interesting links (live at
[http://blog.hajdarevic.net/](http://blog.hajdarevic.net/))

I'm currently working with a friend of mine on an MVP that we plan to offer as
a service, and the source code is not open, but the stack is: React (JSX + ES6
+ Webpack) + Tachyons for frontend, Ruby (Grape + Sequel) for frontend API,
Golang for workers and processing, PostgreSQL as a DB and Redis for caching

------
dzink
Go(Lang) backend + plain html, jquery and gulp on the frontend. After doing
Rails for a while, I was tired of the slowness and layers upon layers of
abstraction. Go is simple in comparison - the language philosophy helps you
keep everything close to where it's executing. No assumptions. I've borrowed
some lessons from Rails in structuring my code (models are separate, api for
controller logic, views are static pages that interact with the Api through
JSON). The performance of my sites is so incredibly delightfully fast now,
that I would never go back. Almost all of my server calls return back in
microseconds. I'm rewriting all of my sites in Go now.

~~~
iends
Working with a database in Go has been painful for me. Have you found this is
the case in your projects?

------
madamelic
Meteor.

Don't do it. It is quick and somewhat easy but just horrible. I need to stop
being lazy...

------
whostolemyhat
Django if I need users/auth stuff, otherwise Express on the backend. On the
frontend I use React and Redux, usually with a boilerplate like
[https://github.com/davezuko/react-redux-starter-
kit](https://github.com/davezuko/react-redux-starter-kit)

------
patrickgordon
Rails backend, react/redux frontend.

I use the `create-react-app` which means no build config at the trade off of
some nice-to-haves (CSS modules >_<)

------
sprobertson
React on a Node (express) server is a simple and powerful combo.

------
billconan
For web, I wrote my own http server with c++.

For desktop app I use c++/Qt.

For app I use ios/swift.

~~~
JohnnySpaghetti
Do you use any front-end libraries for your web projects?

~~~
billconan
I don't use front-end lib that much.

I usually purchase a template from themeforest. I care more about the design,
whatever the theme I purchase use, I just modify it from there.

~~~
JohnnySpaghetti
Thanks for your answer.

I'm curious about what kind of projects you do with a C++ web server. Could
you talk a bit about them?

~~~
billconan
The C++ server itself was my side project. I made it long time ago. I tried to
create a blog with it.

[https://github.com/shi-yan/Swiftly](https://github.com/shi-yan/Swiftly)

Right now, I'm making a deep learning library. I want to create some simple
dashboard ui for it.

I investigated few options. I don't like go. I know some node.js. I really
wanted to use swift. But the swift framework, called perfect, crahes on my
mac. So I decided to use my own framework. It integrates well with my deep
learning library.

------
jfajobi
My personal go to is Rails + React

------
miguelrochefort
Eve

