
Continuation of the story about hellolawyer — a legal job board. In this post, I'll talk about the technical decisions (bad ones)
The first idea was to make a Telegram bot that would post vacancies personally based on selected interests and filters: location, position, format, areas of law.
It was decided to make two repositories: one for the bot, another for the backend logic.
Boy oh boy, it was a mistake.
1. Problematic deployment — we had to implement deployment for two repositories.
2. Network calls and contracts — we had to set up network connectivity between the two containers. Yes, just docker network, but it had to be done.
3. Duplicate data models.
I'll separately highlight the attempt to use a new cool tool for working with the database — edgedb (now it's www.geldata.com under Vercel's acquisition) — back then it was still in beta. In the end, we rewrote it to asyncpg 😎
4. Refactorings. How dissatisfied I was with the code I wrote. But it worked and fulfilled its role: users appeared. But the engineer didn't die and wanted to rewrite everything. Over three years of existence, even a v2 API appeared 😰
Then we decided to make a web client...
Once again, after watching too many hype videos on YouTube, I picked Next.js. And of course, all these requests had to be proxied again to the backend. Thankfully, by that time I knew about OpenAPI a.k.a. Swagger. At least writing requests to this backend could be reduced.
Then a new era began. The era of working on the UI, specifically on vacancy cards. How we wanted to fit everything in there and make them shiny and beautiful. And of course, there were again attempts to refactor views and components 💪
To be continued ☕️
The picture was kindly generated by ChatGPT
Comments
0No comments yet.
Sign in to join the discussion.