Technologies

Technologies We Use

A stack list proves nothing — anyone can write one. So every page here also says plainly when we would not use that technology, and what we would recommend instead.

AngularReact & Next.jsPython DjangoFlutterPostgreSQL & MS SQLDocker & KubernetesAzure

17

Technologies we actually run

Every page

Says when NOT to use it

Both sides

Postgres and SQL Server

In production

Not a capability slide

Every agency publishes a technology page and they all look the same: a grid of logos implying equal mastery of everything. It tells a buyer nothing, because the list is free to write and impossible to verify.

So we have written these pages differently. Each one covers what we build with that technology, the specific problems we find when we inherit a codebase using it, the engineering decisions that separate a good implementation from a bad one — and a section stating plainly when we would not use it and what we would recommend instead. That section is the useful part. A partner who cannot tell you the limits of their own stack has not hit them yet.

The through-line is that we choose per problem rather than per habit. Angular for large enterprise applications and Next.js for anything that must rank. PostgreSQL for new systems and MS SQL Server where the estate already runs on it. Kubernetes where the complexity is justified and a single container where it is not.

5 Technologies

Platform & Infrastructure

Shipping changes safely, absorbing load, and enforcing policy at the edge.

Docker & Kubernetes

Containerisation and orchestration done for the reason that actually matters: deploying changes safely, repeatedly and without taking the business offline mid-shift.

  • Zero-downtime rolling deployments
  • Identical environments, no “works on my machine”
  • Autoscaling for predictable peaks
Explore

RabbitMQ

Message queuing so slow work, unreliable third parties and traffic spikes never reach the user's request — the difference between one feature degrading and the whole system stalling.

  • Heavy work out of the request path
  • Retries, backoff and dead-letter queues
  • Service decoupling for microservices
Explore

Kong API Gateway

One controlled front door for every API — authentication, rate limiting, routing and logging enforced once at the edge instead of reimplemented inconsistently in each service.

  • Auth and rate limiting enforced once
  • Safe routing during microservices migration
  • Per-consumer quotas for partner APIs
Explore

Microsoft Azure

Deploying and running business applications on Azure — containers, Blob Storage, Queues and Service Bus — with the cost and configuration discipline that decides whether cloud is cheaper or just different.

  • Container-based application hosting
  • Blob Storage, Queues & Service Bus
  • Secrets and configuration done properly
Explore

Microservices Architecture

Splitting a system into services that can be deployed and scaled independently — gateway, message bus, per-service databases, reporting services — and being straight about when a monolith is the better answer.

  • Gateway → services → message bus → own databases
  • Strangler-pattern migration, one endpoint at a time
  • Separate reporting services
Explore
How We Choose

Why This Stack, and How We Pick Within It

The frontend choice is a question about the application, not the framework

We use three frontend technologies deliberately. Next.js for anything public-facing that has to rank and load fast, because static-first delivery means content arrives as HTML rather than as instructions for producing HTML. Angular for large enterprise applications where opinionated structure keeps a 300-screen codebase consistent across a changing team. React for interactive product interfaces where flexibility is worth more than imposed structure.

Using one of these for the others’ job is a common and expensive mistake. Angular on a marketing site loses the search performance the site exists for. React without server rendering on a content site ships an empty shell to crawlers. Next.js on a huge authenticated application gives up structure it would benefit from.

The backend and data layer is where correctness is decided

Django is our default backend because it makes the unglamorous things correct by default — transactions, migrations, permissions and security — so our effort goes into your business rules rather than into rebuilding infrastructure. PostgreSQL is the default database because exact decimal arithmetic and real constraints are what make reconciliation possible instead of aspirational.

We work with Microsoft SQL Server just as seriously, because a great deal of enterprise and manufacturing data already lives there behind systems nobody has a business case to replace. Knowing both is what lets us give genuinely neutral migration advice — which is frequently that you should not migrate.

Infrastructure is judged by whether you can deploy on a Tuesday afternoon

Docker and Kubernetes are not the objective. Being able to ship a change while a factory runs a shift, with health-checked rolling updates and rollback in seconds, is the objective. RabbitMQ keeps slow work and unreliable third parties out of the user’s request. Kong makes authentication and rate limiting one policy instead of several slightly different ones.

SonarQube and automated end-to-end testing gate every change, so structural decay is caught in review rather than discovered a year later. And we use current AI tooling — Claude, ChatGPT, Gemini — for scaffolding, tests, refactoring and documentation, which genuinely reduces cost on the mechanical parts. Architecture, security and anything touching money or personal data are engineered and reviewed by a person, and everything passes the same gates regardless of how it was produced.

  • Zero-downtime deployment as a baseline requirement
  • Heavy work queued, never in the request path
  • SonarQube quality gates and automated testing in CI
  • AI used for speed; humans accountable for what ships

Not Sure Which Of These You Need?

You should not have to be. Tell us what the software has to do, who uses it and what it has to guarantee — choosing the stack is our job, and we will explain the reasoning rather than just the conclusion.

Serving startups, factories and enterprises across India, the US, UK, Australia & Europe.