Dillon Mulroy
Principal engineer at Cloudflare as of 2026, on agents and developer tooling. Streams TypeScript, OCaml and Neovim on Twitch, and wrote the better-result library after writing the same Result type about a hundred times.
Dillon Mulroy did not write this page. ppll compiled it from their own words, each linked to the source. Is this you? · Report a mistake
Latest GitHub
What they believe
-
People voting yes deeply misunderstand the power of network effects
everyone voting yes deeply misunderstands the power of network effects
x.comSaid 15 Oct 2026This on korrents
-
Changed their mind If you can use Effect for TypeScript, you should -- to the point of not starting a new project without it.
Before introducing better-result, my opinionated take on the rust result type for typescript after having written about 100 times npm i better-result *disclaimer*: if you can use effect-ts, you should use effect-ts
Now every time i’ve built something without effect over the past almost 3 years ive come to deeply regret it and wish i had just done it from the start
Said 1 Sept 2026This on korrents
The bold line is korrents’ wording; the quote is theirs. These one: what they wrote before what they said aloud, one per source, newest first.
Feed
As its own page →Hiding
16 October
15 October
-
Their words
everyone voting yes deeply misunderstands the power of network effects
14 October
13 October
12 October
11 October
9 October
7 October
5 October
4 October
1 October
30 September
14 September
9 September
6 September
-
Dislikedrcmnd.app
Samsung appliancesTheir words
i will never, ever, buy samsung appliances again
5 September
1 September
-
korrents.com
If you can use Effect for TypeScript, you should -- to the point of not starting a new project without it.Their words, before
introducing better-result, my opinionated take on the rust result type for typescript after having written about 100 times npm i better-result *disclaimer*: if you can use effect-ts, you should use effect-ts
Their words now
every time i’ve built something without effect over the past almost 3 years ive come to deeply regret it and wish i had just done it from the start
-
korrents.com
If you can use Effect for TypeScript, you should -- to the point of not starting a new project without it.Their words
every time i’ve built something without effect over the past almost 3 years ive come to deeply regret it and wish i had just done it from the start
-
korrents.com
Discipline does not scale across teams and engineering organizations, which is a huge reason to use Effect.Their words
my take has always been that "discipline doesn't scale" across teams and eng orgs and is a huge reason to use effect
24 August
23 August
16 August
13 August
Nothing matches.
Beliefs
Korrents What they believe 8 beliefs — each backed by an exact quote.
Each is a — compiled by korrents.com, not by them: the one-line wordings are korrents', the quotes are theirs.
Recent
People voting yes deeply misunderstand the power of network effects
everyone voting yes deeply misunderstands the power of network effects
@dillon_mulroy on X Said 15 Oct 2026
Discipline does not scale across teams and engineering organizations, which is a huge reason to use Effect.
my take has always been that "discipline doesn't scale" across teams and eng orgs and is a huge reason to use effect
@dillon_mulroy on X Said 1 Sept 2026
If you can use Effect for TypeScript, you should -- to the point of not starting a new project without it.
every time i’ve built something without effect over the past almost 3 years ive come to deeply regret it and wish i had just done it from the start
@dillon_mulroy on X Said 1 Sept 2026
Show 5 more
Errors as values lead to predictable, maintainable and scalable software.
durable workflows are scaling errors as values to your infrastructure. errors as values lead to predictable, maintainable, and scalable software.
@dillon_mulroy on X Said 23 Oct 2025
Treating errors generically is a mistake that leads to fragile software, poor observability and worse experiences.
This is what leads to slop JS/TS software. Treating errors generically like this is a mistake. It leads to fragile software, poor telemetry/observability/debugging, and as a result worse experiences
@dillon_mulroy on X Said 13 Feb 2025
Discriminated unions are the most important TypeScript feature, and everyone should be using them more.
the most important typescript feature is discriminated unions and everyone should be using them more
@dillon_mulroy on X Said 18 Dec 2024
JavaScript has the lowest bar of entry to being productive, but one of the highest bars of any stack to building high-quality, stable, reliable software.
My hot take is that JS has the lowest bar of entry to building and being productive (a good thing) but one of the highest bars of any language and stack to building high quality, stable, and reliable software. Very few devs have the expertise to pull off the latter
@dillon_mulroy on X Said 9 Jun 2024
React and TypeScript developers are infantilized by the ecosystem's thought leaders; anything beyond a simple CRUD app will need generics, mapped types and memoization.
One thing that drives me crazy about the React ecosystem, and more specifically "tech influencers" and "thought leaders" in the space, is the infantilization of the developers using and working in it. I’m tired of reading takes like TypeScript generics, mapped types, etc should only be needed and used by library authors for most use cases. Or today’s discourse; Don’t use `useCallback’, ‘useMemo’, and React.memo. If you’re building anything beyond a simple CRUD app or a an incredibly focused app with few features, you _will_ need these features.
@dillon_mulroy on X Said 6 Nov 2023
What is a korrent?
A korrent is a belief a person has stated in their own words: one sentence stating the claim, backed by a quote and a source, kept at korrents.com.
Under a name here, the quoted block is what they actually said. The korrent beneath it is the claim those words support, in korrents' wording — tap it to see the record, its source, and who else holds it.
Nobody here wrote their own korrents. They are compiled from public statements, and a person can change their mind, which is recorded too.
Recommends rcmnd
rcmnd What they recommend 3 things — each backed by an exact quote.
Compiled by rcmnd.app, not by them: the quotes are theirs, and each links to the post it was copied from.
Recent
Recommends Basin
we've been using basin for artifacts analytics, event history, and more. it's probably my favorite add to the workers platform this year - don't sleep on it
x.com 1 Oct 2026
Disliked Samsung appliances
i will never, ever, buy samsung appliances again
x.com 6 Sept 2026
Recommends Effect
i will never start another typescript application or project without @EffectTS_ it’s reached critical enough adoption, provides distinct tailwinds to agents, and has great cloudflare support
x.com 1 Sept 2026
Where they publish
Site dillonis.online Personal site — a name-plate, not a blog.
A single page carrying little more than their name. It is here so the accounts below have something to be checked against, not because new writing lands on it.
Link verified 2 Sept 2026.
x.com @dillon_mulroy Day-to-day: functional programming, TypeScript, Neovim and Formula 1.
The running commentary — TypeScript and functional programming, editor and tooling arguments, the Cloudflare work, and Formula 1. Where positions get stated before anything is written up.
Recent
- everyone voting yes deeply misunderstands the power of network effects 15 Oct 2026
- opus 5.5 is starting to build this trust, especially with code/services written in effect. 14 Oct 2026
- tail sampling that agents can write dynamic (code) rules for that also has the ability to fork/sink to a cf tunnel that sends sampled traces to the agents local device for consumption in real time 13 Oct 2026
Show 17 more
- “hey siri, set a timer for a minute and thirty five seconds” “you’ll need to continue from your phone for that” “siri, set a timer for a minute and thirty five seconds” “timer set for one hour and twenty eight minutes” 13 Oct 2026
- ask not what your agent can do for your codebase — ask what your codebase can do for your agent 12 Oct 2026
- one year ago today i married my best friend 11 Oct 2026
- this. its an unbelievably good feedback + dev cycle and so good for agents 9 Oct 2026
- my kingdom for an official @Flighty mcp server 7 Oct 2026
- required viewing. there's so much good stuff in this. - what actually _is_ durability, why it matters, and what makes it hard (hint - versions) - nuanced discussion on trade offs in software - armin actually likes effect.ts 5 Oct 2026
- still thinking about this 4 Oct 2026
- we've been using basin for artifacts analytics, event history, and more. it's probably my favorite add to the workers platform this year - don't sleep on it 1 Oct 2026
- artifacts is now in open beta and we're launching a competition to see who can build the best git platform on top of it. win $25k in prizes and VIP tickets to cloudflare connect! excited to see what y'all build! 1 Oct 2026 blog.cloudflare.com
- this demo of codemode + jev in pi beautifully demonstrate both the power of codemode and general classification models well done w/ this example @badlogicgames, @mitsuhiko, and the rest of your team 1 Oct 2026
- best jev content to date. also rip to my job 30 Sept 2026
- tomorrow 30 Sept 2026
- desperately want an ingress jev classifier in front of imessage 30 Sept 2026
- i’ve said it before and i’ll say it again - every government service should be required to have an mcp 29 Sept 2026
- friends at spacexai - why does this happen pretty often with @grok ? it seems to not know the active user 28 Sept 2026
- am i officially a thought leader, do i get invited to the secret cabals now. when should i expect my membership card 28 Sept 2026
- damn. new episode of the next token btw 28 Sept 2026
Link verified 2 Sept 2026. Recent items update automatically from the channel.
GitHub dmmulroy better-result, and the OCaml and Gleam work.
The work itself: better-result, TypeScript libraries, OCaml and Gleam experiments and the Neovim configuration. With no blog attached, the repositories are the primary publication here.
Recent
- homebrew-tap — Homebrew tap for dmmulroy's projects 16 Oct 2026
- .dotfiles 15 Oct 2026
- anti-slop — Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns 14 Oct 2026
Show 12 more
- New repocf-workflow-pool — A pre-started instance pool for Cloudflare Workflows (Effect + Alchemy). Results: https://cf-workflow-pool.mulroy.dev 9 Oct 2026
- jj-starship — Fast unified Starship prompt module for Git and Jujutsu repositories 1 Oct 2026
- cf-twitch — Twitch stream integration platform on Cloudflare Workers 14 Sept 2026
- overseer — wip 14 Sept 2026
- herdr-ts-sdk — Effect-native TypeScript SDK for Herdr's local protocol-21 socket API 9 Sept 2026
- jj-ryu — Stacked PRs for Jujutsu. Push bookmark stacks to GitHub and GitLab as chained pull requests. 5 Sept 2026
- alchemy-workerd-otlp-flush-repro — Minimal real-workerd reproduction for dropped Alchemy OTLP event batches 24 Aug 2026
- dmmulroy 24 Aug 2026
- better-result — Lightweight Result type for TypeScript with generator-based composition. 23 Aug 2026
- pi-mcp — Pi extension for OpenCode-style MCP client support 16 Aug 2026
- pi-web-tools — Public web fetch and search tools for Pi 13 Aug 2026
- mailto-generator 13 Aug 2026
Link verified 2 Sept 2026. Recent items update automatically from the channel.
Elsewhere twitch.tv/dillon Live streams of the actual work, at length.
Long live streams — TypeScript, OCaml, Gleam, Neovim — which is where most of the output that is not a repository ends up. Twitch publishes no feed, so this card links the channel rather than listing episodes.
Link verified 2 Sept 2026.
About the English under a post
Some people here publish in a language other than English. Where they do, this site shows a machine translation beneath the post, in this typeface — the site's own, not theirs.
The post itself is never changed, moved or hidden: what is set in the serif above is exactly what the person published, and it is what to quote them on. A translation can be wrong in ways that matter, especially about tone.
Only the post's own words are translated. A quoted post, a linked article and a belief on korrents.com are left in their original language.