[Updated 20th December 2023]
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.
GitHub and its built-in CI/CD tool, GitHub Actions, 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
Data is processed and managed with a healthy mix of in-house implementation, SAAS and open source tools.
Extraction and load:
- Wedata – Internally developed using Python/SQL
- Alembic – Database versioning
- Internal Sources – Postgres, Mysql, Google Sheets
- External Sources – Zendesk, Funnel.io, external API’s, Google Analytics
Transformation and Governance :
- DBT – Data Transformation/ Data Govenance
Datawarehouse:
- BigQuery – Secure and easy movement of data across platforms.
Pipeline Orchestration:
- Airflow – Scheduling and monitoring data pipelines
Presentation :
- Tableau – Build dashboards to serve stakeholder insights that can support decision-making processes in the business.
- Redash – Easy access, transform and share data from a controlled list of datasets to end users who can leverage data insights
- Metabase – Charts/Dashboards
AI Assistance:
- GPT-4 – Generative assistance for Data Documentation
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