After 3 months of intensive refactoring I’m finally launching updated https://cryptojobslist.com UI 🎉
What-Why-How Thread 👇
First and foremost, what's in it for users?
- Faster job discovery
- Faster job pages
- Faster, simpler job application
Benefit for companies?
- Happy job applicants => happy companies => more efficient hiring
Many people asked me, why did I move to React?
Let me explain with some history and background 👇
When CJL first launched, I’ve built it with simple server side rendering that was available out of the box in Sails.js
I did not want to set up a complex React base and maintain it, just to validate the idea, so I just went with built it templating of Sails.
For the first year it was perfectly fine — fast to build and ship, reliable for SEO. Works. Good old server-generated HTML.
But as I wanted to add more features, more dynamic elements, issues with server rendered HTML are instantly noticeable. Mainly:
- Hard to reuse UI components, which leads to slow development
- Slow server response
- Hard to do dynamic UI without some frontend framework
So I gradually started transferring pieces of @CryptoJobsList to React.
I’ve build the job submission form over 6 months ago and it is worked well.
Hower moving job pages and job list itself, been took me much longer.
Not because it’s technically hard to do — but because it is *demoralising* to rewrite features that you’ve already built and that are already working.
So in the past month, I’ve managed to find willpower, focus and finally complete the transition! 🎉 🍻
Some of the lessons here:
- Made right decision not to over-optimise day one
- Transitioning to a new stack does not have to be all-or-nothing — current UI is proxied via backend and some pages are still SSRed
- SEO implications are uncertain, but there is @Netlify to prerender
Not everything is fully polished, so if you see areas for improvement, comment below 👇
You can follow @ksaitor.