Richard Churchman

I am Richard Churchman, a software architect from Paphos, Cyprus. Cyprus suits me — the timezone overlaps well with both the Middle East, Africa, Europe and South East Asia (5am starts be damned), where most of my work is concentrated. 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. It is as much a note to myself as it is to the outside world — a public record of how I work and what I value, which has a way of keeping both honest. Written May 2026.

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, advanced analytics, 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. My background in financial services includes periods at card scheme and processor level. I have previously taken software from inception through to acquisition by a US public company (make no mistake however, these days, my work constitutes a lifestyle business only.....far too old).

My preferences in software architecture

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 observability (i.e., Interlocked Increment Counters), verbose logging and pleasant, useful, documentation. I tend to hive off model recall (i.e, advanced analytics and machine learning) to microservices, although I am sensitive to microservice sprawl.

In the front end, I work with Vue.js and Daisy Tailwind CSS, as might be expected given the languages I declare myself to be comfortable with. For persistence, I typically use PostgreSQL (i.e, configuration and serialized transactions), Redis (or ValKey) for caching and idempotency, RabbitMQ for RPC messaging, or Kafka when replayable messaging is needed.

I enjoy working with R, though I generally use it only for advanced analytics and training portable models, rather than for general-purpose programming.

I'm a proponent of containerisation, and writing Dockerfiles and Compose setups is second nature. I favour Docker Swarm over Kubernetes — a position I appreciate requires defending. When you are personally responsible for the Total Cost of Ownership (TCO) of a production system, or have the thankless task of keeping something at five nines, you think very differently about operational complexity. Kubernetes is a remarkable piece of engineering that I have tremendous respect for, and would not hesitate to recommend where the organisational scale justifies it. For the kind of fully active, highly available architectures I tend to build — stretched across primary and disaster recovery zones, with etcd quorums, Patroni managed PostgreSQL clusters, Redis Sentinel failover, and HAProxy routing — Docker Swarm delivers everything that matters with a fraction of the cognitive and operational overhead. The right tool is the one you can defend at three in the morning when something has gone wrong.

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.

Being decent enough with Git is implicitly understood.

My preferences in Advanced Analytics

I am a strong advocate of R, particularly when paired with RStudio, for rapid and effective data exploration. My work in R typically involves base Linear and Logistic Regression, Neural Networks for supervised learning, Decision Trees (C5 or Random Forests) for supervised learning, Support Vector Machines for supervised learning, and Bayesian Networks for both supervised and unsupervised learning. I find stochastic techniques highly powerful and often stress-test my models using Monte Carlo simulations. In my view, the real "secret sauce" is feature engineering. To this end, I apply methodologies for building behaviorally rich datasets, offloading heavy computation to databases while letting R handle lighter operations such as joins and further aggregation where appropriate.

I like embedded software development a lot…

…although I'm admittedly not very good at it. Tinkering at that level does, however, give you a bare-metal appreciation of software engineering — you quickly learn your bits from your bytes, and that data moving across a pin or across a network are, at their core, just protocols. I tinker with ARM M4 microcontrollers and STM32 toolchains using C. You'd be surprised how little hardware and code you actually need for many IoT projects. The satisfaction of blinking your name in Morse code is unparalleled. Hear me now.

A note about AI

I have a practical background in advanced analytics and machine learning, and a significant portion of my time is now allocated to the arrangement and fine-tuning of Large Language Models (LLMs), Visual LLMs, and Embedding Models inside AI/Data Pipelines. My view is that good AI architecture is no less dependent on data preparation and feature engineering than traditional machine learning — it is just less widely appreciated. My pipelines typically combine tokenised context (structured data and traditional feature engineering), document and image extraction, Visual LLM analysis, LLM inference, and LLM-as-a-judge techniques. I favour small, targeted pipelines with narrow context, and prefer the smallest capable model available — something like Phi 4 Mini — with strong reasoning and fine-tuning support. RAG is often unavoidable, but it is a compromise. I am acutely sensitive to inference and pipeline costs, and have structured some creative client infrastructure to ensure AI value propositions remain profitable.

On a personal level, I use AI — Claude, specifically — as a force multiplier in my own development work. I want to be clear-eyed about this: nothing I have observed leads me to conclude that these tools can be used effectively without genuine competence. In the hands of someone who doesn't know what they're doing, they can really stitch you up. But as a research tool and a synthesis of received wisdom, the productivity gains are real — I'd estimate a fourfold increase in my own output. It has also developed me in areas where I was historically weak; my front-end skills previously conformed to the mission statement "deal with it", and that is no longer quite so true (or at least it won't be when Jube Version 1 hits in at the end of 2026).

I am extremely sensitive to AI \ Data Pipeline and Inference costs, and have enacted some highly creative client infrastructure - with no reduction in outcome - to ensure that AI value propositions can be profitable.

It is sufficient to say, I don't just sling ChatGPT wrappers.

My Services

These days I spend almost all of my time on Jube — an Open-Source Anti-Money Laundering (AML) and Fraud Detection Transaction Monitoring platform which I wrote and maintain. Jube is deployed in production at regulated financial institutions globally — the paradox being that my most eyebrow raising technology projects come from emerging markets, characterised by massive volumes and oftentimes remarkable talent density. Jube is cloned at a rate that continues to surprise me — more so that commercial referrals arrive from organisations I had no idea had even sat up and taken notice. Commercial services — training, implementation, and enterprise support — are delivered through Jube Operations Limited under published terms. In keeping with Jube's focus, I maintain Anti-Money Laundering (AML) Monitoring Guidance to ensure the platform keeps pace with regulatory obligations.

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.

Now and again, although less given Jube commitments, and subject to my interest being piqued, I get engaged on critical technology projects in need of seniority to get them "over the hump", often implying the development of bespoke software under IP assignment. Commercially, my projects are structured similarly: hourly billing, task-based work, and milestone rollups by agreement. I am, however, extremely selective. I engage only by trusted introduction, and rarely commit to longer-term relationships without a meaningful evaluation period. In practice, fit is the deciding factor — and fit, more often than not, comes down to incumbent staffing: whether those in established positions are genuinely open to doing things better, or simply protecting their patch. It usually can't be fixed without mandate.

I mostly work remotely, though I occasionally travel on-site where remote delivery is less effective. I actively dislike travel and fortunately this overlaps well with my personal ethos of being a prudent custodian of client resources and trust — remote delivery is cheaper and more efficient for everyone, though I'll grudgingly admit the occasional on-site visit accelerates a relationship in ways that are hard to replicate.

I resolutely stick with Fedora Linux and prefer JetBrains IDEs, particularly Rider, WebStorm and CLion. For advanced analytics and rapid data exploration, I use RStudio. I use the Microsoft ecosystem for productivity in the browser, and Obsidian for notes and filing (which is the source of almost all truth). I use Xero Projects, Quotes and Invoicing to give my clients unparalleled transparency. Most of my business communications are via WhatsApp Business or Microsoft Teams, with email reserved as a consolation prize at the end of the day. I use almost nothing else, and relish the hygiene.

You won't find me on LinkedIn, because I am not a 12-year-old grappling with questions of identity. I often get asked for a profile picture to show my commitment to being a good corporate gurner. I hereby present a picture of a bedraggled cat, which is the best I will do:

My name is Jeff.

I am fat and old so no point in pretending that fifteen year headshot of me in a tie is my actual life being lived. As someone who freely admits that most of the people I work with are half my age and twice as smart, I say: More power to you, you probably only need me to stop you doing the daftest of things that might not be obvious, and a cynic might say were there to trap you.

A Little About Me

Outside of work, I have a keen interest in international relations and political writing. My personal ideology sits at an unlikely intersection: Judea Pearl's work on causality, Matté Gabel's work on societal trauma, and Thomas Paine's political clarion calls. I am a consequentialist pacifist — I loathe all things war (with reluctant defensive doctrine carve-out) and surveillance — and can readily acknowledge strengths and weaknesses across most political systems, holding the considered view that they are only ever as good as the people and institutions behind them (most of the world's problems I truly believe can be solved by an introspection of the two, and where you find dysfunction, I will show you corruption). Although I don't like to travel much these days, through my historic work I have been privileged to conclude, with unshakable conviction, that there is fundamentally nothing different between people of any creed or culture — most departures are more likely than not down to problems of governance and cognitive dissonance (which is only stubborn through lack of alternative). For all the hyperbole humanity has to endure, one would conclude that the Taif Accord (instructive, in part for the wrong reasons) and Good Friday Agreement never happened, and I probably think what most people think about the state of the world right now.

I quite enjoy writing — notwithstanding that my spelling and grammar are stubbornly wanting — and I aim to publish a monthly whitepaper via Jube, leaning into my experience above (and the occasional indulgence).

My greatest pleasure in life is my family. My two boys — aged seven and eleven — are a daily reminder that I am not about to get any smarter. It is, frankly, all downhill from here. Depressing, yet glorious, to be regularly outsmarted by someone who still needs help with their shoelaces. In fairness, shoelaces are somewhat a nemesis of mine too.

I quite like trains — not so much the trains themselves, but the infrastructure.

Contact

If you'd like to discuss a project, explore a collaboration, or just connect, feel free to reach out directly at Jube:

💬 WhatsApp, SMS or Call +357 97517137