We like to “Use the right tools for the job”. At different stages of growth, we will change and adapt our toolkit,
but for now, this is what we are using to get the job done.
Product Development Tech Stack
We use PHP 8.2 and Laravel 10 to build APIs on the consumer-facing part of the stack.
We like keeping up to date with the most recent stable release.
Redis is used to heavily cache all the calls to avoid redundant and repetitive calls on the database.
In front of the APIs, we use NGINX as a reverse proxy (Caddy in R&D to replace it) and we use the “amqp” extension along with ReactPHP to serve and process Async RabbitMQ messages.
For some of our internal applications, we fell in love with Node (Typescript) and chose Nest.js as the best framework we could use to build things with it, while Tailwind CSS and Nuxt.js allow us to provide a strong and visually coherent frontend for our online applications.
Nuxt.js 2.15 is used for Server-Side Rendering (SSR) to guarantee quicker page loads and enhanced SEO.
We created an internal design system that consists of a variety of components, guidelines, and assets that help us create a seamless and pleasurable user experience for our users to make sure that our applications are not only functional but also user-friendly, aesthetically pleasing, and consistent with our corporate style.
Infrastructure Stack
Overall, our tech infrastructure is a crucial part of our business operations. We’re constantly evaluating new technologies and solutions to stay at the forefront of innovation, and we’re committed to providing the best possible service to our clients. Here is what we use today:
We chose Google Cloud Platform (GCP) as our cloud service provider because Google has a strong track record of shipping open-source technologies that are reliable and easy to use. GCP offers a wide range of tools and services that help us build and manage our applications more efficiently, including Kubernetes, which was originally developed by Google.
Kubernetes (GKE) is the container orchestration platform that helps us manage and scale our applications with ease. It’s an important part of our tech infrastructure that keeps our services running smoothly. We leveraged its namespace feature to create isolated QA environments, which allow us to thoroughly test our applications before deploying them to production.
GitLab‘s built-in CI/CD tool, GitLab CI, is an important part of our tech infrastructure. It helps us automate the build, test, and deployment of our applications, and ensures that we can quickly identify and resolve any issues.
We can define and provision our infrastructure in a consistent and predictable way via Terraform. It provides a clear and repeatable method for configuring infrastructure, which helps us manage our resources more efficiently and reduces the risk of errors. We have also integrated Terraform with our continuous integration/continuous delivery (CI/CD) pipeline to automate the deployment of infrastructure changes.
RabbitMQ helps us efficiently handle messages and communication between our applications so that we can deliver a better service to our clients.
Cloudflare (CDN) helps us provide enhanced security, performance, and reliability for our applications.
Data Stack
Our Datawarehouse hosted in BigQuery and Postgres. BigQuery lets us connect seamlessly with sources and visualizing tools.
Our internal data sources reside in Postgres, Mysql, google spreadsheets and external sources come from Zendesk, Google Analytics, Funnel.io, external API’s etc. The extract transform load process is developed in-house using Python/SQL. We perform both incremental and batch updates. Alembic is used to version our Datawarehouse.
The complete process is orchestrated using Airflow. Also we have data driven processes implemented in Python and running regularly on Airflow. All the stakeholders have the analytics and data updated at different intervals during the day.
Tableau makes it easy for us to build dashboards to give stakeholders insights that can support decision-making processes in the business.
Redash lets everyone access, transform and share data from a controlled list of datasets, so it’s easy to discover new insights.
UX and Product
We use ClickUp for all our documentation and project management needs, we like this “do it all” app, which allows us to keep everything in one place.
Figma is used to create the UX and UI for our platform applications. We use it to create prototypes for stakeholders and user testing
Developers can see all the implementation’s details straight from Figma. The file contains an in-depth examination of pertinent iterations, problem definitions, study links, and general documentation.
We use Illustrator to design graphic elements and Photoshop for image processing