Look back at the project I started last summer
About 9 months ago, I wrote about the new project (UI web components library) that I started. I wasn’t sure where I wanted to go or whether I would be able to take it to some kind of conclusion. Well, 2-3 months ago, I decided to stop working on it because I realized it would not work out. So, after about 6 months of quite dedicated work, I decided to stop and call it a failure.
The reason that I decided to quit is that I based the whole project on one particular way of styling the web components, when in reality, it turned out that it was a very bad way to architecture the whole thing. I didn’t reach the technical limits, but by trying to find solutions to them, I realized that this architecture of styling goes through every core aspect of the project, from internal implementation to the interface API how users would be using these components.
Sometimes, some things can be abstracted away and don’t impact the project in any meaningful way, but this styling logic of components was kind of like a backbone of the whole system and impacted everything. Initially, when I started, I thought this was a great system and idea, but slowly, as I was progressing, I understood that in reality, it was a very bad idea that it was not going to work out.
That is why applying theory to practice is such an important thing to do: to not waste time on unproductive theorizing. Because in your head, it feels like it all makes so much sense and how it is going to work, but what practice does it show all the hidden aspects of reality you didn’t think about.
Although the design choices for how to build a project turned out to be wrong. The reasons and need for the project for me still stays strong. Maybe even more now. After trying to use the components myself in a play project, I found it quite useful, disregarding the bad parts arising from the styling architecture.
I think this is still something useful if done right, and now, after making the mistakes, I think I know a better way how to do it. But I’m not sure If I want to invest my time in doing it. I already spent 6 months working on it almost daily plus weekends and I’m kind of burned out from it. Well, maybe in the future, if I think there is a burning need for it, I may decide to redo the whole project from zero again with lessons learned.
But it was a great learning experience, as I suspected because I learned so much about web components and took my TypeScript skills to the next level. Unfortunately, there is nothing public to share with the world because all of the components are half-backed, and the coding style is quite bad. I wouldn’t be too comfortable sharing the code with anybody with the goal impress them with my skills.
And that is a shame because I hoped to use this project as a portfolio of my work to help with my hiring prospects in the future. But to take this project’s code base to some kind of presentable state would probably take months of work, which I’m not too excited about and have no willpower to do.
One positive part that came out of this project is my current project that I’m working now it is called tailsections.com, which is a tailwind sections library with a UI drag and drop editor similar to something like Webflow or Framer except for tailwind templates.
This project started as a way to dogfood the failed UI web components library, and I kind of feel there is some business potential to the idea, so currently, I’m working on to take it to some useful beta state and see if people would use it.