HACKER Q&A
📣 throwaway45349

Best tech stack for solo dev'd app?


Context:

I've been using a lot of GCP services (App Engine, Firebase Auth, Cloud Firestore, etc..) for a website I'm working on, but lately I've been seriously considering the switch back to bog standard Linux (cron, bash, POSIX, systemd) instead of building upon a proprietary platform.

A lot of things are unnecessarily complex with my current setup. e.g., for batch jobs, I have a webserver which is pinged by a managed service, whereas a small binary + cron job could be easier to manage. Using a NoSQL database may be cheap with such tiny usage, but I'm missing the power of SQL, namely, integration with everything under the sun.


  👤 leon_sbt Accepted Answer ✓
If you already know Ruby on Rails, do that.

If you already know Python well, do Django or Django REST.

If you don't have any prior language affinities, go Javascript/Typescript on the whole stack. Language switching is a real problem for me.

I'd stick with App Engine/Heroku for prod. I like Postgres alot, especially with JSONB. Since it functions as a MongoDB-like database if needed.

If App Engine fails you, you should be able to switch to another provider very easily, or a standard VM without a code rewrite only a CI/CD rewrite

With that being said,I run a monorepo. /api folder has Feathers JS with Postgres /admin folder has react admin website /website folder has public facing react website.

Everything can run local during dev. Everything is CI/CD piped 12 factor styled One git push and merge to master, deploys everything. I love it.

If a single provider fails me, I can switch pretty easily.


👤 dmlittle
The best tech stack is highly dependent on who's asking the question. Use the one that you're most familiar/comfortable with. Don't feel compelled to use the "latest flashy trend" just because people are talking about it. For example, using HTML with vanilla JS is still a perfectly valid approach over React/Vue/Angular/etc..

👤 _448
Depends on what language you are comfortable with.

If you want barebones minimalist stack and are comfortable with C++, then you can try Wt[0]. Wt is not a framework, it is a toolkit and actually works like Qt but for web development. And the team developing that are super helpful even though they are a small team.

If you want dynamic programming with virtual machine, then try Elixir or straight way go to Erlang.

For front-end I will prefer jQuery+Bootstrap, KnockoutJs or Svelte and use Unpoly[1] if doing server-side rendering. (These I am recommending because I am not a front-end developer, others may have better suggestion)

For mobile development, I would recommend Flutter for front-end and Dart and/or Kotlin and/or C++ for mobile middleware.

For DB, it is either PostgeSQL or CouchDB for me.

[0] https://www.webtoolkit.eu

[1] https://www.unpoly.com


👤 hershvar
If you want speed of development, look into frameworks that provide a high level of abstraction (RoR, laravel, django, etc). Lots of batteries included and tons of documentation.

If you want to learn new tech, anything that catches your interest.


👤 atomashpolskiy
I vouch for JVM, specifically:

* Bootique (better Spring Boot),

* Vert.x (reactive framework and libraries for unmatched performance),

* Akka (for distributed coordination, if necessary; though depending on the use case, it might be simpler to just use external services, like Zookeeper or Consul -- Bootique has integration with those)

Honorable mention goes to Netty, which is great for high performance networking, but going so far is rarely needed in most servers.


👤 minerjoe
Solo? How about streatching your wings and learing something mind/programming expanding. Choose one ecosystem of Common Lisp, or Smalltalk, or Forth, or Haskell, or Ocaml. The list goes on. If you haven't deep doven into one of them, and your faced with an opportunity to learn and fail and get your self up again and learn and...

👤 xupybd
I'm looking into the safe stack for F#. I'm no functional nut but like the error checking and concise code you get. F# is well integrated with the .net world.

I've not made the move but it's the most promising stack I've looked into.