HACKER Q&A
📣 z9znz

Back enders, how do you build front ends?


Solo backend devs (who do not consider themselves "full stack"), how do you build frontends?

Since the earliest days of the web, I have found developing frontend UIs dreadfully tedious and slow. The modern Javascript-heavy frontends do not seem to have reduced the tedium (although they have immeasurably increased the complexity).

Do you use some no/low-code systems?

The speed at which I can build a server (even without Docker or any orchestration), build a Rails app with a real database, and get useful functionality built is remarkable. But inevitably I need to get information from the user (forms). This is when I find myself doing an obstacle course with rolling luggage. It's not much of a problem in making UX decisions, it's purely a matter of tedious and complex user interactions. This is probably the #1 reason I don't have a big collection of side projects; I hate this part.

Please share your tips and strategies! :) TIA.


  👤 drakonka Accepted Answer ✓
With great difficulty.

In seriousness, I've recently been doing a lot more front-end work in my position and have had to pick it up pretty quickly after years of desktop, core tech, and backend work.

TypeScript is my new best friend. So far I've not used frameworks like React because they seemed overkill for what I've been building, and I wanted to get a solid grasp on vanilla JS/TS before going that route. So right now my preference is TS transpiled and bundled with the help of Webpack deployed to something like Netlify or, if a server is involved, Render (although I'm looking for Render alternatives due to very slow initial page load when the app usage goes "cold")


👤 philomath_mn
For Python folks: we just started using Streamlit as a basic front-end for the data / algorithmic work we've been working on. Been a great option for demos / prototypes -- not a full replacement for a custom app but still a useful tool.

I've also been meaning to check out Retool for this same purpose.


👤 techdragon
Do server side forms and accept use bootstrap for styling until I need anything fancier. I’m tinkering with Blazor and using c# in the browser for a new project though as the front end backend reuse without needing JavaScript is a very attractive proposition.

There’s a few other things I’ve tried over the years but it really depends on the circumstances. You mentioned being proficient with rails generally but I couldn’t tell if you felt you understood it’s server side form capabilities well, so what sort of UI complexity were you stumbling with? Examples would help since you can push server side forms surprisingly far with some clever sometimes non-intuitive tricks.


👤 codegeek
For a side project, I am doing server side templates (Go) with AlpineJS and it is working fine for that project. I realized I didn't a full JS framework like React or Vue (I do use Vue for another bigger project).

👤 dysoco
I learnt VueJS (Vue2), Vuetify (It's an UI lib with tons of components that plays nice with Vue) and some CSS in the job; and I'd absolutely use it again if I have to. You get stuff done pretty quickly with that and after the first few days with VueJS everything becomes pretty intuitive to work with.

👤 caprock
Using a combination of tailwindui, htmx, and a little _hyperscript has gotten me over similar hurdles.

It's really brought the joy, simplicity, and dev speed back to web ui work. Plus it pairs with whatever backend you want.


👤 Mikeb85
Use Rails' Hotwire front end. It's pretty productive and easy for a solo dev.

👤 sebst
I use the Tailwind UI blocks and I've never felt more productive in frontend