I am Richard Churchman, a software architect from Paphos, Cyprus.
Welcome to my – unapologetically basic – contact page. Here, you will find a brief foreword from me, along with some contact information, and not much more.
I architect, develop and implement horizontally scalable, high-throughput software for real-time transaction and event monitoring. My work tends to overlap software development, data engineering, machine learning (supervised and unsupervised classification), and increasingly AI (to the extent it is different from machine learning, integration, embedding and inference).
I have, over the years, been lucky to work with hundreds of clients across the world, including in banks, pharmaceutical logistics, airlines and startups, although I have tended to spend most of my time working on risk problems.
In the back end, I work with C#
and TypeScript
, which would imply .NET
and Node
, respectively. Irrespective of language and runtime, I implement straightforward patterns; my code has a Controller, Service Layer, Data Layer, Repository Layer, always an ORM, sometimes quasi-CQRS, and of course migrations – but nothing ever more complex than that, concentrated with verbose logging and pleasant, useful, documentation.
In the front end, I work with Blazor
and Angular
, as might be expected given the languages I declare myself to be comfortable with. For persistence, I typically use PostgreSQL
, Redis
(or ValKey
) for caching, RabbitMQ
for RPC messaging, or Kafka
when replayable messaging is needed.
I enjoy using Python
and R
, but am disinclined to use them for anything other than data analysis or training portable ML models.
I’m a proponent of containerisation, and writing Dockerfiles and Compose setups is second nature. Being decent with Git is implicitly understood.
While I don’t hold myself out as a cloud infrastructure expert, my work makes it largely unavoidable. I use AWS, Azure, and Digital Ocean, and am comfortable with compute options (VMs, FaaS, containers), managed databases, cache, storage types (block/blob), virtual networks, floating IPs, and load balancers.
I spend most of my time working with clients on the training, support, and implementation of Jube – an Open-Source Anti-Money Laundering (AML) Transaction Monitoring software which I wrote and maintain. In keeping with Jube's focus, I stay up-to-date with Anti-Money Laundering regulations and maintain Anti-Money Laundering (AML) Monitoring Compliance Guidance to ensure general compliance.
Under the umbrella of Jube also - and being work I find enormously enjoyable - I deliver Advanced Analytics with R Training and maintain Advanced Analytics with R Guidance in support of the same.
I also develop bespoke software under IP assignment. Commercially, my projects are structured similarly: hourly billing, ticket-based work, and milestone rollups by agreement.
I mostly work remotely, though I occasionally travel for on-site training where remote delivery is less effective.
I resolutely stick with Fedora Linux and prefer JetBrains IDEs (Rider, WebStorm, DataSpell, PyCharm). When needed, I use RStudio, JIRA, Confluence, Jitsu, Proton (email/calendar), Matrix (chat) – and little else.
If you'd like to discuss a project, explore a collaboration, or just connect, feel free to reach out directly: