Technologies
The best technology is invisible. And invisible technology comes from having an eye on the experience it aims to build. Intent dictates the scale, depth and scope of technology and never the other way around. We use technology not just as a tool, but a way of life.
Serverless Applications
Lambda | Kubernetes
Serverless applications are the natural progeny of gigantic, pay-per-use cloud infrastructure. We build serverless applications in Go and Java, on the AWS Lambda framework. These applications use SQS for message queues and a range of relational and non-SQL databases for data stores, apart from the obvious AWS S3 for simpler objects. We also deploy relatively larger code chunks as containers, using AWS Elastic Container Service and RedHat OpenShift. It is faster to move legacy applications to containers than to re-write them for Lambda.
Front-end user interfaces
Angular | React | Flutter | Electron
A while ago, we switched from Dojo and server-rendered pages. Since then, front-end layers for our applications have been getting built in Angular. We have also developed application front-ends in React and, more recently, in Flutter, which is a change from the earlier two. For some applications, we have built on ready-made themes, and for most others, we built from Figma graphics. For desktop applications, we use the Electron framework.
Ionic Mobile Apps
We are strong on hybrid mobile apps; we rarely do native apps. We built our first Cordova app in 2015 to run on iPads, and have been on Ionic ever since. We also use React and Flutter for apps, but less often. We have begun using Capacitor as the lower layer for our Ionic apps. Needless to say, we have never encountered any hybrid-app limitation we could not solve, including device and hardware integrations, offline operation, batch-mode data sync, integration with GPS, camera and other apps.
Enterprise DB
We are empanelled partners with EnterpriseDB. We have been building applications on Postgres for more than a decade, and have used EnterpriseDB for some mission-critical projects. The unparalleled support and additional tools for enterprise-class (no pun intended) features like near-real-time high availability make large financial institutions hungry for more.
Golang
The bulk of the business applications written for the financial services sector are in dotNet and Java, with a sprinkling of PHP. This sector is slow to change. Since 2021, we have started coding server-side daemons in Go, and a year later, we branched into web service calls using the Gin framework. If we have a favourite programming language, this is it.
Hyperscale Databases
CouchDB | PlanetScale | CockroachDB
We have been using CouchDB for several years. This is in a project where we replaced a lot of web service calls with data replication between mobile app and server. Vitess is the rock star of the new breed of hyper-scale databases. CocroachDB is an interesting alternative. We are exploring PlanetScale as a scalable database for a few projects.
Architecture
What is the difference between a college student creation and an enterprise class application? Architecture. Dev teams believe scalability starts and ends with spinning up new EC2 instances for their application servers. We (also) work with very large applications which shared-data stores, multi-tier databases, distributed containers, logging and observability. When the design is more complex, architecture is sometimes reflected in the code too.