Philosophy

Throughout our careers as engineers we encounter numerous similar tasks disguised in different forms, maybe having slight differences. Every time we encounter the same task, we think it through based on our previous accomplishment of the task and figure out a better way to do it according to our gained experience. In the field of science, this is the natural progression of the learning experience - trial and error. Nevertheless, many have tried before us and have passed best practices that we [as a community] adopted as principles and guidelines to become an organic extension of our workflow, intrinsically applying them with little thinking effort.

Lucid isn’t any different, it is an accumulation of experiences in building scalable products to serve various industries by interchangeable teams. Based on the many mistakes we’ve made and the suffering we dealt with every time we revisit a “legacy” project, or during the onboarding process of someone new to the team, where the training process cannot keep up with the variety of opinions that’s been implemented in different projects, regardless of whether they’re right or wrong, they are many and have no single basis, a foundation, or a single architecture.

We wanted something simple [KISS] yet effective at scale. Enjoyable to work with by all levels of engineers alike. And elevates the level of understanding abstraction throughout its steep learning process. Simply put:

  Lucid is a set of principles that depend on our discipline to preserve  

Name

“Expressed clearly; easy to understand” marks the ultimate objective that the architecture intends to achieve in code.

Lucid Name Definition