Technologies
Our technologies
Everything we actually use to design, connect, deploy and protect your systems, together with the criteria that make us pick one option over another.
Full inventory
Grouped by purpose
Grouped by what they are for, to place each tool in the chain. Hover a logo to see it in colour.
Building the product
What the interfaces and the business rules are written with.
Languages
- TypeScript
- JavaScript
- Python
- PHP
- Java
- Kotlin
- Swift
- Dart
- SQL
- C embarqué
Front end
- Next.js
- React
- Angular
- Vue.js
- Nuxt
- Svelte
- Tailwind CSS
- Bootstrap
- Sass
Back end
- Node.js
- NestJS
- Express
- Laravel
- Symfony
- Spring Boot
- GraphQL
- OpenAPI
- Odoo
Mobile
- React Native
- Expo
- Flutter
- Android
- iOS
- Firebase
Real time
- Socket.io
- WebSocket
- WebRTC
- RabbitMQ
- Apache Kafka
Storing and using data
The relational model first; analysis comes after, never the other way round.
Databases
- PostgreSQL
- MySQL
- MongoDB
- Redis
- TimescaleDB
- InfluxDB
- Elasticsearch
- Prisma
- TypeORM
Data and analytics
- Python
- Pandas
- Metabase
- Apache Superset
- SQL
Instrumenting the field
Open, documented protocols, to stay interoperable with your equipment.
IoT and industrial
- MQTT
- Mosquitto
- Node-RED
- Modbus
- OPC-UA
- LoRaWAN
- NB-IoT
- LTE-M
- Zigbee
- ESP32
- Arduino
- Raspberry Pi
Deploying and running
What keeps the system up in production, and what warns you when it is not.
Infrastructure
- Docker
- Kubernetes
- Nginx
- Linux
- Ubuntu
- PM2
Cloud and hosting
- AWS
- OVHcloud
- Google Cloud
- Cloudflare
- Let's Encrypt
Continuous integration
- Git
- GitHub
- GitHub Actions
- GitLab CI
- Jenkins
Observability
- Sentry
- Prometheus
- Grafana
Protecting and verifying
Access control, encryption and testing are not end-of-project options.
Security
- JWT
- OpenSSL
- TLS / mTLS
- X.509
- OAuth 2.0
- Argon2
- OWASP ASVS
- OWASP Top 10
Quality
- Vitest
- Jest
- ESLint
- Postman
- Figma
- WCAG 2.2
Connecting to the outside
Mobile payment, mapping, messaging: the services your users already use.
Payment
- Mobile Money
- PawaPay
- MTN MoMo
- Airtel Money
- Stripe
Third-party services
- Google Maps
- WhatsApp Business API
Our criteria
The technical choice comes after the need
We never start with the technology. Two projects in the same sector can justify different choices depending on volume, network coverage, your teams' skills and the running budget.
Proven technology, well mastered
PostgreSQL, Docker, TypeScript: documented choices that are easy to hire for and to hand over. Technical originality is paid for in maintenance.
The database before the framework
A well-modelled relational schema outlives several changes of framework. It is also the part that costs most to fix afterwards.
As few dependencies as possible
Every library added is an attack surface and an update debt. We add one only when the gain is real.
Open standards for industry
Modbus, OPC-UA, MQTT: documented, non-proprietary protocols that guarantee interoperability with your existing equipment.
Payment adapts to your usage
Mobile money through an aggregator such as PawaPay, card, bank transfer: we integrate the method your customers already use. No card data is stored on your side.
Hosting you can trust, in your name
AWS, OVHcloud or Google Cloud depending on your cost, latency and data-location constraints. Accounts are opened in your organisation's name.
Services
Which technologies for which need
Each service page lists the building blocks it actually uses.
Africa Tech Services
A particular technical constraint?
Existing hardware, a mandated protocol, constrained hosting: tell us what has to be worked with.
