This page is assembled from the portfolio rather than written. A technology can only appear here if one of the systems we describe actually names it, and each entry links to the page about that system. A hand-written technology page becomes a wish list within a year; this one cannot claim something we do not run.
It is deliberately not a complete list of things we are willing to work with. It is the list of things we operate ourselves, which is a much stronger claim and a much shorter one.
77 technologies, and where we run each one
- AlertmanagerKnowing something is wrong before a customer tells us
- Android SDKA mobile application, in the stores
- AsteriskOur own telephone network
- cert-managerThe cluster we run our own company on
- Collabora OnlineDocuments, signatures and the paperwork layer
- containerdThe cluster we run our own company on
- Content Security PolicyThis website
- Coqui TTSInference we run ourselves
- coturnOur own video conferencing
- CouchDBOur own telephone network
- DKIMOur own mail servers
- DMARCOur own mail servers
- Docker registryThe cluster we run our own company on
- DovecotOur own mail servers
- FreePBXOur own telephone network
- FreeSWITCHOur own telephone network
- GoOur own telephone network
- GrafanaKnowing something is wrong before a customer tells us
- HibernateA distributed data layer, chosen deliberately
- hreflangTwenty-two languages, done correctly
- ICEOur own video conferencing
- IMAPOur own mail servers
- JavaInference we run ourselvesOur own mail serversDocuments, signatures and the paperwork layerThe attribution pipeline we wrote
- JicofoOur own video conferencing
- Jitsi VideobridgeOur own video conferencing
- KamailioOur own telephone network
- KotlinA mobile application, in the stores
- kube-state-metricsKnowing something is wrong before a customer tells us
- Kubernetes (RKE2)The cluster we run our own company on
- KubeVirtThe cluster we run our own company on
- LibreTranslateInference we run ourselves
- LokiKnowing something is wrong before a customer tells us
- LonghornThe cluster we run our own company on
- MediaMTXOur own video conferencing
- MinIOA distributed data layer, chosen deliberatelyDocuments, signatures and the paperwork layer
- NATS JetStreamThe attribution pipeline we wrote
- next-intlThis websiteTwenty-two languages, done correctly
- Next.jsThis website
- Next.js App RouterTwenty-two languages, done correctly
- Next.js middlewareThe attribution pipeline we wrote
- OllamaInference we run ourselves
- PDFDocuments, signatures and the paperwork layer
- PostfixOur own mail servers
- PostgreSQL wire protocolA distributed data layer, chosen deliberately
- PrometheusKnowing something is wrong before a customer tells us
- ProsodyOur own video conferencing
- push notificationsA mobile application, in the stores
- PythonInference we run ourselvesDocuments, signatures and the paperwork layer
- QdrantA distributed data layer, chosen deliberatelyInference we run ourselves
- RabbitMQOur own telephone network
- ReactThis website
- React NativeA mobile application, in the stores
- RedisA distributed data layer, chosen deliberately
- RspamdOur own mail servers
- RTPOur own telephone network
- ScyllaDBA distributed data layer, chosen deliberately
- self-hosted machine translationTwenty-two languages, done correctly
- SIPOur own telephone network
- SPFOur own mail servers
- Spring BootInference we run ourselvesOur own mail serversDocuments, signatures and the paperwork layerThe attribution pipeline we wrote
- SRTPOur own video conferencing
- Tailwind CSSThis website
- TempoKnowing something is wrong before a customer tells us
- Tesseract-class OCRDocuments, signatures and the paperwork layer
- TraefikThe cluster we run our own company on
- Trusted TypesThis website
- TypeScriptThis websiteA mobile application, in the stores
- UbuntuThe cluster we run our own company on
- UmamiThe attribution pipeline we wrote
- ValkeyA distributed data layer, chosen deliberately
- WebRTCOur own video conferencing
- WebSocketA mobile application, in the stores
- WhisperInference we run ourselves
- WOPIDocuments, signatures and the paperwork layer
- XML sitemapsTwenty-two languages, done correctly
- XMPPOur own video conferencing
- YugabyteDBA distributed data layer, chosen deliberatelyThe attribution pipeline we wrote
How we choose
Boringly, and with a bias against novelty. The question is never which technology is best but which one your team, or ours, can still operate in three years when something breaks at an inconvenient hour. We will use something unfamiliar when the problem genuinely demands it, and we will say plainly when a project needs something outside what we run rather than learning it at your expense.
Tell us what you are trying to do
A short conversation is usually enough to tell whether we are the right people. If we are not, we will say so and point you somewhere better.