So Richard Dalton’s talk was stand out, absolutely hit the nail on the head.Covered points i’d not even considered.Well done.
I build things and write about programming.
Freelance developer and trainer with a passion for programming, language design, and software craftsmanship. Founder of devjoy. Because if you're not enjoying software development, you're not doing it right.
Cryptographic audit logging for regulated industries
Every record is sequentially chained and anchored to a published Merkle root. Any modification, insertion, or deletion is independently detectable — without trusting the server.
Tamper-evident chain
Each entry's hash incorporates the previous, so modifying any record breaks every hash that follows.
Merkle-anchored snapshots
Periodic snapshot roots are published externally. Any inclusion can be proven in O(log n) without re-reading the full log.
Independent verification
Auditors verify proofs using only the public snapshot root — no server access, no trust required.
Framework-agnostic multi-step flow engine
A headless, framework-agnostic path engine for multi-step flows. Define your steps, guards, and validation as pure TypeScript. Render them in React, Vue, Angular, Svelte, SolidJS, or React Native.
Pure TypeScript logic
Define steps, guards, and validation as plain TypeScript — no DSL, no framework coupling.
Render anywhere
Works with React, Vue, Angular, Svelte, SolidJS, and React Native using the same engine.
Headless by design
Flow logic is completely decoupled from UI. Swap renderers without touching your business rules.
Zero-dependency TypeScript authorization
A zero-dependency TypeScript authorization library. Define policies as plain TypeScript objects and evaluate them anywhere. Runs in Node, edge, or browser.
Zero dependencies
No bloat, no lockfile surprises. Pure TypeScript you can audit in minutes.
Runs anywhere
Evaluate policies in Node, edge runtimes, or the browser — identical behaviour across all targets.
Plain object policies
Authorization rules are ordinary TypeScript objects. No DSL, no magic, no runtime surprises.
Composable business rules for TypeScript
A composable business rules library for TypeScript, inspired by the Specification Pattern. Define rules once, combine them freely, and evaluate and explain their outcomes anywhere in your application.
Specification Pattern
Compose fine-grained rules into complex conditions using and, or, and not combinators.
Define once, use everywhere
Write a rule once and combine it freely across your entire application without duplication.
Self-explaining outcomes
Rules describe why they passed or failed — useful for debugging and generating user-facing messages.
Active Patterns are one of the killer features of F#. They can be a little confusing at first. This series of posts will help you to master them.
I wrote these posts while first learning about functional programming. The posts are simple to follow because I didn't know enough to make them complicated.
Experienced Software Developer, Trainer and Mentor including three years as a bootcamp instructor. Responsible for content creation, delivering online and in-person training, bespoke software development and consulting.
A software development background that led naturally into bookkeeping and finance. Manages all of Devjoy’s finances and operations, and specialises in identifying and automating manual processes in finance. She brings a developer’s eye to a domain that still runs on too many spreadsheets.
So Richard Dalton’s talk was stand out, absolutely hit the nail on the head.Covered points i’d not even considered.Well done.
Attendee, DDD North
I’ll never look at code in quite the same way again
Attendee, DDD South West
Best talk I went to lately. Very poignant, great storytelling skills!
Attendee, DDD North
SUPERB talk on Burnout by Richard Dalton – someone should get a video made for HR departments to see.
Software Architect
Copyright (c) 2018-2026, Devjoy Ltd.