Where we grow together and work towards better future

Message from the CEO

Pavel Cholakov

Theoremus was created to help improve quality of life in congested and polluted cities around the world with the help of technology and AI. Since the company was founded in 2018, our focus has been to study the smart urban mobility and digital waste management domains and to develop prototypes and scalable solutions that address some of the major challenges cities and business organizations face in these two areas.

From this straightforward goal, we have evolved into an organization that views cities as complex systems that function based on archetypical relationships between many groups of urban dwellers and on many different levels. Undiscovered problems, or broken systematic links in these relationships, abound to be identified and resolved in a way that improves urban living in terms of enviornment, economy and society and culture. Part of the solution to these problems - protoypes on one hand, and scalable software and data science implementations on the other - could well determine how successfully we will overcome sustainability challenges as a civilization in the upcoming decades.

To navigate the constant flux between reality and our responding notions and actions, and to address the need as a profit-oriented company to constantly adapt to this dynamic setting, we have chosen to be a people-first company. We have discovered that tackling complex, unfamiliar problems while fostering innovation in high-impact projects that affect many people’s daily lives has called on us to be open to dialogue and shared learning on all levels of our organization. Technology alone doesn’t drive us forward and solutions to future probelms don’t roll off the conveyor belt. Instead, we strive towards learning and adapting, both as individual team players and through our business, data and advanced analytics solutions so that we can connect with each other and find the solutions that will bring us a step closer to our vision.

We also invest in data science and technology expertise that helps us build event-driven big data systems that capture, stream and structure massive flows of data. Our business solutions are wrapped around this core approach because it helps us to discover and analyze future problems, build prototypes and scale the solutions that cities and businesses need to be able to provide sustainable urban services to millions of people.

We are excited to be a part of the digital transformation age and we accept and rise to the challenge of making some wrong assumptions, learning openly from dead-ends and bringing about the positive change in our communities and cities through technology and AI.

Vision and mission

What is important to us?

We envision cities that are clean, quiet, easy to get around and full of green places and areas for social activities. We can start building this reality by better investing our resources in things that matter to all of us, including managing waste and developing shared mobility infrastructure in a smart and sustainable way.

Our mission is to become the global leader in changing the way we think - as communities - about waste management and moving from place to place in densely populated areas. We aim to transform the modern urban landscapes into smart and sustainable cities by using cutting-edge data-driven technologies to harness urban mobility and waste management processes.


Technological, organizational and domain

Services over monoliths

We prefer developing evolutionary architectures, based on services, which are independent of each other (as much as possible), and which represent concrete and easily-identifiable business logic. Services can differ in terms of technologies as well as in terms of data models. We do not design a program as it will be from the get go and then develop it, based on the blueprint.

Flexible service design and development

We prefer to develop a service as fast as possible and then modify it over time, as a function of our improved knowledge of the domain. We do not like to set the design in stone before the development of the service, as this will put too much overhead on our fast iterations. We do not believe that we are perfect.

Prototyping before development

We prefer to prototype a service, either in a notebook or as a separate dashboard, before starting the actual development process. This allows us to make better design decisions (as we have "touched" the data) and to start the selling process before the actual delivery of the service.

Architecture templates over platforms

We do not believe that we can design a platform that can solve all possible problems in a specific domain. The domains we are working in are vast. Thus, we create architecture templates, which help us solve various technological problems, such as stream and batch processing, interactive service communication, or machine learning modeling in production, regardless of the actual business issue.

Combination of domain knowledge, context understanding and rapid prototyping in the design process

We believe that solving urban problems cannot be done with intuition only. Furthermore, it cannot be done based on data-intensive techniques alone. This "wicked" domain requires the combination of qualitative and quantitative approaches of context understanding, which informs the technological solution and vice versa.

Combination of domain knowledge, context understanding and rapid prototyping in the design process

To make a design decision, we prefer to iterate between our domain knowledge, context knowledge, and various rapid prototypes. Thus, we are not basing the design solely on expertise, or solely on experience, we are combining both. The design is constantly evolving, even in the later stages of the development process.

Trust over processes

We are not a process-driven company. We prefer trusting individual contributors and we do not impose severe processes over them. We have a single kanban board and minimize the number of meetings as much as possible.

Technological domain ownership of individual contributors

Individual contributors own their respective technological domain. One team member does optimizations, while another team member develops the pipelines. Individual members have freedom to make technological decisions. Thus, we impose a type of division of labor, which allows us to achieve more with less.

Passion for the domain over bare technological excellence

We prefer people who understand the importance of the problems they are working on.

Science over technology

We believe that technological solutions in the public domain cannot be achieved without deep scientific understanding of both the engineering, behavioral and social sciences. Thus, we prefer to understand the science and to implicitly apply the scientific method rather than to improve the technology. We constantly draw inspiration from the scientific literature.

People-centric solutions over profit optimization

We believe that cost reductions should not be the most important component of urban development and urban policy. We think that people-centric solutions should take a priority. We should first improve the experience for people and increase their quality of life. Everything else will come naturally after that.

Championing sustainability

We believe that making urban life more sustainable is an inevitable mega-trend. Therefore, we aim to solve future problems of sustainability over current problems of cost reduction.

Problem discovery over exclusive problem solving

We think that the public domain has many undiscovered problems. Policy makers know some of them, but many more exist. Thus, we aim not only to serve already existing problems with our approach, but also to discover new ones, make them public, and propose a solution.

Open positions

Learn how you can become one of us