Hacker News new | past | comments | ask | show | jobs | submit login

I'm working on a new project as a solo developer.

I'm writing it in Elixir and Phoenix (Elixir's goto web framework) with PostgreSQL to back my data. For the front end, I'm using good old fashioned server side rendered templates and Turbolinks with sprinkles of Javascript where needed.

Despite having worked with Flask and Rails for the last 6-7 years I'm going for Elixir this time around because there are aspects of the app that lend itself well to what Phoenix has to offer and I'm using this as an opportunity to grow as a developer. Every time I learn a new language / framework I find myself leveling up in other technologies I know.

So far I'm super excited with the way things are turning out. I'm still pretty early on in the project but I've gotten a decent amount of functionality implemented already.

I'm really surprised Elixir isn't more popular. The language author and the supporting community is awesome, and I've been the happiest I've ever been working with this tech stack. Of course I'm still drinking the "omg this is new and awesome" kool-aid, but even without really knowing everything too well, I'm able to accomplish real world tasks and that's all I care about in the end.

I'm using exactly this stack for my current personal project - Elixir/Phoenix and Turbolinks.

Sprinkling in either Elm or Vue for the one or two complicated widgets I'm going to need, but I haven't committed to either one yet.

I've settled on Elixir/Phoenix for the backend.

On the front-end I might still experiment, but I think I'll settle for at least a decent chunk of time on this:

1. React + Styled Components (so html/css/js is finally no longer decoupled in a way that just makes no sense) 2. Page.js or something similar for routing, because I've been bitten too often by react-router and like, and the idea that routing is it's own thing makes sense to me. 3. Baobab.js or something similar for state management: basically, A. a single state object with B. a kind of cemtralized action-flow to change this state, and C. listeners of sorts within various components that trigger a re-render (cursors in the case of Baobab). I could go full-on redux, but it doesn't seem, necessary and I kind of relish running into the situation where, as my apps grow, it turns out to be immediately obvious why Redux does what it does.

I'd be very curious to get some feedback on my choices, and/or alternative suggestions. In particular regarding 3.

EDIT: to be clear, this is for full-on SPA's with no kind of crawling/SEO needs.

In Elixir+Phoenix you get all the CRUD conveniences as in other frameworks, but you also get trivial Reactive/real-time capabilities that would get very hairy in something like Rails.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact