Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
A Retrospective: Lessons from Early Technical Design Flaws at Unisala
Prashant Basnet
Dec 18, 2024
59 views
For the longest time, Unisala operated without proper project management tools like jira. This was not only area where we faltered. It was just one of many spinning plates that dropped due to lack of accountability and experience.
Unfortunately, the problem wasn't isolated to project management. Immature processes and lack of oversight seeped into almost every corner of our work, leaving us vulnerable to mistakes and inefficiencies.
In this blog, i want to dissect some key areas where these issues manifested, focusing on two pivotal aspects of technical designs:
As a project lead, i take full responsibility for these amateur approaches. This serves as a stark reminder of the importance of high level planning and proper documentation, lessons that are shaping how we move forward.
The Database: A Messy Web of Models
There was never a proper high level database design like Entity Relationship Diagram(ERD). Every feature was developed based on a specific developer's thought process with brute force being the preferred approach to get the things working somehow. This approach worked temporarily but created long-term chaos.
As more features were added:
Today, the app has over 35 database models, and almost half of them are no longer used.
This is a fundamental system design flaw. It's not just inefficient but also unsustainable.
The Api Decision Tree: A Black Box
We never established a proper decision tree for our API functionalities.
An Api decision tree outlines:
An API decision tree is more than just a technical diagram. It's a blueprint for clarity, maintainability and optimisation. It plays critical role in ensuring your system remains efficient and resilient to change.
Why an API Decision Tree?
Moving Forward
At Unisala, we’re now prioritising ERD, API decision trees as a core part of our technical documentation. By clearly mapping dependencies and flows, we aim to:
#systemDesign #ERD #decisionTree #API #design #softwareDevelopement