Decision at Hecate about Material-UI, Go, PostgreSQL, Rails, MobX, Redux, React

Avatar of joho
Founder at Hecate ·

Frontend choice was basically pre-ordained to be React. Seems like a strong choice on merits alone, plus I needed to learn it to stay current. I never liked Redux.js from the first time I tried to work with it, but a mate had recommended MobX and after watching a few videos I felt like I could fit the mental model of hit in my head. Using Material-UI which is a great timesaver and make sure I throw a few bucks their way every month via the open source collective.

Defaulted to Rails with PostgreSQL just because that's where my past strength as a dev had been. First prototype was in Go but was struggling a bit with the quality of libraries I needed so I went back to old faithful.

As soon as TypeScript was supported by default in Create React App I ported everything over. That combined with swagger code gen has given me really good type safety from the API boundary and above. I semi-regret the Go/Rails decision because I miss the type safety despite pain points with libraries.

I will probably look to flip back to Go gradually (probably via lambda) at a point where it makes sense for the business.

7 upvotes·8.5K views

Decision at Hecate about delayed_job, PostgreSQL, ngrok, Create React App, Rails, Docker Compose

Avatar of joho
Founder at Hecate ·

Docker Compose might have been a bit of overkill for a dev environment as a solo founder, but I'd found so much with past side projects (though this is no longer a side project) that I would frequently waste time every time I came back to work on the project getting my dev env sorted again.

Made the conscious choice to make a "prod-ish" docker-compose config up front to make sure that didn't bite me again.

Structured it so I have the following containers running

  • server - the Rails app in API style
  • client - the Create React App
  • ngrok - ngrok to receive webhooks in dev
  • db - PostgreSQL
  • queues - delayed_job worker
6 upvotes·1 comment·3.6K views

Decision at Hecate about Heroku

Avatar of joho
Founder at Hecate ·

I launched the MVP (and have so far kept it) on Heroku for two reasons

  • Easy to get the service up and keep it up
  • Great REPL support

Having easy access to a production rails console makes it really easy to do adhoc customer support work without having to do the upfront work of building an admin UI. I'm still primarily relying on prewritten code for safety and repeatability's sake, but use the CLI as my UI into those functions.

3 upvotes·480 views