Skip to main content

Technology Stack

Our SAAS platform for Third Party Risk Management (TPRM) and Public Data Due Diligence leverages a range of technologies to deliver robust, scalable, and high-performing services. This document provides an overview of the key components of our technology stack.

Backend

The backend of the platform is primarily powered by Python, a powerful and flexible language well-suited for data-intensive applications.

  • Python: We utilize Python due to its rich ecosystem of libraries and tools, as well as its proven performance in data-intensive applications.
  • Django and Django Rest Framework: For building robust APIs, we use Django along with Django Rest Framework. Django provides a high-level web framework that encourages rapid development and clean, pragmatic design.

Microservices

Our application leverages microservice architecture for modularity and scalability.

  • Nameko: This is a Python microservices framework which we use for creating and managing our microservices.

Frontend

React JS powers our frontend, offering a responsive and dynamic user experience.

  • React JS: A popular JavaScript library for building user interfaces, particularly single-page applications.
  • Material-UI: This is a popular React UI framework that provides a collection of reusable, well-tested components.

Data Management

For data storage and management, we use PostgreSQL and SQLAlchemy, with Redis for caching.

  • PostgreSQL: An open-source relational database that provides advanced features and performance optimizations.
  • SQLAlchemy: The Python SQL toolkit and Object-Relational Mapping (ORM) that gives application developers the full power and flexibility of SQL.
  • Redis: An open-source, in-memory data structure store, used as a database, cache, and message broker.

Web Scraping and Data Collection

We use Scrapy, Selenium, and Python requests for web scraping and data collection.

  • Scrapy: An open-source web-crawling framework for Python.
  • Selenium: A suite of tools for browser automation, often used for testing but also handy for scraping dynamic web pages.
  • Python requests: A simple, yet elegant HTTP library, enabling us to send HTTP/1.1 requests extremely easily.

Deployment and Infrastructure

Our application is deployed on AWS using Docker for containerization and managed with various other tools.

  • AWS: Amazon Web Services provide reliable, scalable, and inexpensive cloud computing services. We use various AWS services like S3, EC2, RDS, and more.
  • Docker: An open-source platform that automates the deployment, scaling, and management of applications as portable, self-sufficient containers.
  • Supervisord: A process control system that allows its users to monitor and control a number of processes on UNIX-like operating systems.
  • Poetry: A tool for dependency management and packaging in Python, allowing us to manage our libraries and dependencies in an isolated and deterministic way.

Continuous Integration and Deployment

For CI/CD, we use GitLab.

  • GitLab CI/CD: This is a powerful tool built into GitLab that allows for scriptable deployment and testing pipelines.

Machine Learning

We utilize PyTorch for training our machine learning models.

  • PyTorch: An open-source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing.

Testing

We use Pytest for backend testing and Storybook for testing the frontend.

  • Pytest: A testing framework for Python that allows you to easily create small, simple tests, yet scales to support complex functional testing.
  • Storybook: An open-source tool for developing UI components in isolation for React, Vue, and Angular.

This stack has been carefully chosen to ensure robustness, scalability, and maintainability of our TPRM and Public Data Due Diligence SAAS Platform. We consistently evaluate our choices and make updates to this stack as the technology landscape evolves.