Skip to content

Commit 7e77ec3

Browse files
committed
Rebuild landing: lead with QRL/Bell/Froe as one connected system, day-job work as supporting evidence
1 parent 7243bfd commit 7e77ec3

1 file changed

Lines changed: 118 additions & 73 deletions

File tree

‎index.html‎

Lines changed: 118 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="UTF-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
66
<title>Entangled Code — David Coldeira</title>
7-
<meta name="description" content="David Coldeira — full-stack Python engineer building production systems with LLMs in them: an agentic assistant over a live laboratory database, an LLM-powered route planner, a self-hosted fine-tuned model, a local-first coding agent built for data residency. Also home of QRL, a relations-first quantum programming language." />
7+
<meta name="description" content="David Coldeira — a quantum programming language (QRL), a fine-tuned assistant that runs it live (Bell), and the local-first coding agent used to build both (Froe). Also production AI engineering: an agentic assistant over a live laboratory database, an LLM-powered route planner." />
88

99
<link rel="canonical" href="https://entangledcode.dev/"/>
1010

@@ -17,12 +17,12 @@
1717
<meta property="og:type" content="website"/>
1818
<meta property="og:url" content="https://entangledcode.dev"/>
1919
<meta property="og:title" content="Entangled Code — David Coldeira"/>
20-
<meta property="og:description" content="Production AI engineering with physics-grade rigour. LLM systems that run in production, and QRL, a relations-first quantum programming language."/>
20+
<meta property="og:description" content="A quantum language, a fine-tuned assistant that runs it live, and the coding agent used to build both. Plus production AI engineering with physics-grade rigour."/>
2121
<meta property="og:image" content="https://entangledcode.dev/og-image.png"/>
2222

2323
<meta name="twitter:card" content="summary_large_image"/>
2424
<meta name="twitter:title" content="Entangled Code — David Coldeira"/>
25-
<meta name="twitter:description" content="Production AI engineering with physics-grade rigour. LLM systems that run in production, and QRL, a relations-first quantum programming language."/>
25+
<meta name="twitter:description" content="A quantum language, a fine-tuned assistant that runs it live, and the coding agent used to build both. Plus production AI engineering with physics-grade rigour."/>
2626
<meta name="twitter:image" content="https://entangledcode.dev/og-image.png"/>
2727

2828
<style>
@@ -227,6 +227,41 @@
227227
border-radius: 4px;
228228
}
229229

230+
/* ── Connected system flow ── */
231+
.flow { display: flex; align-items: stretch; gap: 0.5rem; margin-top: 1.75rem; }
232+
.flow-step {
233+
flex: 1;
234+
background: var(--surface);
235+
border: 1px solid var(--border);
236+
border-radius: var(--radius-lg);
237+
padding: 1.35rem 1.35rem 1.25rem;
238+
display: flex;
239+
flex-direction: column;
240+
gap: 0.4rem;
241+
position: relative;
242+
}
243+
.flow-num {
244+
width: 22px; height: 22px;
245+
border-radius: 50%;
246+
background: var(--primary-glow);
247+
color: var(--accent);
248+
font-size: 0.75rem;
249+
font-weight: 700;
250+
display: flex; align-items: center; justify-content: center;
251+
margin-bottom: 0.15rem;
252+
}
253+
.flow-step h3 { font-size: 1.05rem; font-weight: 700; letter-spacing: -0.01em; }
254+
.flow-tag { font-size: 0.7rem; font-weight: 600; color: var(--accent); letter-spacing: 0.04em; text-transform: uppercase; }
255+
.flow-step p { font-size: 0.875rem; color: var(--muted2); line-height: 1.6; flex: 1; margin: 0.2rem 0 0; }
256+
.flow-arrow {
257+
display: flex; align-items: center; justify-content: center;
258+
color: var(--muted); font-size: 1.1rem; flex: 0 0 auto; width: 1.5rem;
259+
}
260+
@media (max-width: 720px) {
261+
.flow { flex-direction: column; }
262+
.flow-arrow { transform: rotate(90deg); width: auto; padding: 0.15rem 0; }
263+
}
264+
230265
/* ── Project cards ── */
231266
.cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.5rem; }
232267
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.25rem 1.35rem; display: flex; flex-direction: column; gap: 0.5rem; }
@@ -271,8 +306,8 @@
271306
entangled code
272307
</div>
273308
<div class="nav-links">
274-
<a href="#ai" class="hide-mobile">AI engineering</a>
275-
<a href="#qrl" class="hide-mobile">QRL</a>
309+
<a href="#system" class="hide-mobile">QRL · Bell · Froe</a>
310+
<a href="#work" class="hide-mobile">AI engineering</a>
276311
<a href="https://dcoldeira.github.io" class="hide-mobile">Blog</a>
277312
<a href="https://github.com/dcoldeira" class="hide-mobile">GitHub</a>
278313
<a href="mailto:david@entangledcode.dev" class="btn btn-outline">Contact</a>
@@ -282,26 +317,92 @@
282317
<!-- Hero -->
283318
<section class="hero">
284319
<div class="hero-label">David Coldeira · Bristol, UK</div>
285-
<h1>Production AI engineering.<br><span>Physics-grade rigour.</span></h1>
320+
<h1>A quantum language.<br><span>An assistant that runs it live.</span></h1>
286321
<p>
287-
I am a full-stack Python engineer who builds and runs production systems end to end,
288-
and I put language models inside them only where their output can be verified.
289-
Ten years in software, a physics degree, and a quantum programming language on the side.
322+
QRL is a relations-first quantum programming language with a type-level soundness result no
323+
existing quantum language can state. Bell puts it in front of anyone — plain English in, real
324+
QRL code executed, real numbers out, running live today. Froe is the coding agent I built and
325+
use to develop both. Ten years in production software and a physics degree underneath all of it.
290326
</p>
291327
<div class="hero-actions">
292-
<a href="#ai" class="btn btn-primary">What I have shipped</a>
293-
<a href="https://www.linkedin.com/in/dcoldeira" class="btn btn-outline">LinkedIn</a>
328+
<a href="#system" class="btn btn-primary">See how it fits together</a>
329+
<a href="https://bell.entangledcode.dev" class="btn btn-outline">Try Bell</a>
294330
<a href="mailto:david@entangledcode.dev" class="btn btn-outline">Email</a>
295331
</div>
296332
</section>
297333

298-
<!-- AI engineering -->
299-
<section class="section" id="ai">
300-
<div class="section-label">AI engineering in production</div>
301-
<h2>Language models with a verifier around them</h2>
334+
<!-- The connected system: QRL, Bell, Froe -->
335+
<section class="section" id="system">
336+
<div class="section-label">The connected work</div>
337+
<h2>A language, an assistant for it, and the tool that builds both</h2>
302338
<p>
303-
The pattern in everything below is the same: the model does the concentrated reasoning,
304-
deterministic code checks the result before it reaches a user or a database, and
339+
Three pieces, one practice: describe the physics precisely, make it usable by someone who isn't
340+
its author, and build it all with a tool that respects where the code and the data are allowed
341+
to live.
342+
</p>
343+
344+
<div class="flow">
345+
<div class="flow-step">
346+
<div class="flow-num">1</div>
347+
<h3>QRL</h3>
348+
<div class="flow-tag">Relations-first quantum language</div>
349+
<p>
350+
Causal structure as a type-level primitive. A program that type-checks as <code>Switch(d)</code>
351+
is provably causally nonseparable — a result no existing quantum programming language can state.
352+
</p>
353+
<div class="card-links"><a href="https://github.com/entangledcode/qrl">GitHub</a></div>
354+
</div>
355+
<div class="flow-arrow" aria-hidden="true">→</div>
356+
<div class="flow-step">
357+
<div class="flow-num">2</div>
358+
<h3>Bell</h3>
359+
<div class="flow-tag">Fine-tuned assistant, live now</div>
360+
<p>
361+
Plain English in, real QRL code executed, real numbers out — not the model guessing a number.
362+
Provider-swappable: running on Mistral (EU-hosted) today, a self-hosted fine-tune in standby.
363+
</p>
364+
<div class="card-links"><a href="https://bell.entangledcode.dev">Try it — bell.entangledcode.dev</a></div>
365+
</div>
366+
<div class="flow-arrow" aria-hidden="true">→</div>
367+
<div class="flow-step">
368+
<div class="flow-num">3</div>
369+
<h3>Froe</h3>
370+
<div class="flow-tag">The tool that builds both</div>
371+
<p>
372+
A local-first coding agent in Go. Source never has to leave the machine, the LAN, or the EU.
373+
A single static binary for the terminal and Neovim, dogfooded daily on QRL and Bell themselves.
374+
</p>
375+
<div class="card-links"><a href="mailto:david@entangledcode.dev?subject=Froe%20code">Code on request</a></div>
376+
</div>
377+
</div>
378+
379+
<p style="margin-top:2rem">
380+
QRL implements five foundational papers — process matrices (Oreshkov 2012), causal nonseparability
381+
witnesses (Araújo 2015), quantum causal models (Allen 2017), loophole-free Bell tests (Hensen 2015),
382+
and categorical quantum mechanics (Coecke &amp; Kissinger 2017) — with a full compiler pipeline from
383+
relations to MBQC measurement patterns across four backends (Perceval, PennyLane, graphix, Qiskit),
384+
hardware-verified on Quandela's qpu:belenos photonic QPU (S = 2.61 ± 0.08).
385+
</p>
386+
<div class="meta-row">
387+
<span>~13,600 lines</span>
388+
<span>896 tests passing</span>
389+
<span>31 modules</span>
390+
<span>Preprint on Zenodo</span>
391+
</div>
392+
<div class="links-row">
393+
<a href="https://github.com/entangledcode/qrl" class="btn btn-primary">QRL on GitHub</a>
394+
<a href="https://doi.org/10.5281/zenodo.18292199" class="btn btn-outline">Zenodo DOI</a>
395+
<a href="https://github.com/dcoldeira/qrl-book" class="btn btn-outline">QRL Book</a>
396+
</div>
397+
</section>
398+
399+
<!-- Production AI engineering elsewhere -->
400+
<section class="section" id="work">
401+
<div class="section-label">Production AI engineering</div>
402+
<h2>Language models with a verifier around them, for other people's systems</h2>
403+
<p>
404+
Same pattern as above, applied at a day job and a side project: the model does the concentrated
405+
reasoning, deterministic code checks the result before it reaches a user or a database, and
305406
permissions are enforced by the system rather than by the prompt.
306407
</p>
307408

@@ -331,34 +432,6 @@ <h3><small>Forza7 · SailGenius</small>Marco, an LLM-powered passage planner</h3
331432
<a href="https://forza7.dev">forza7.dev</a>
332433
</div>
333434
</div>
334-
335-
<div class="card">
336-
<h3><small>Independent · 2025–26</small>Bell, a quantum physics reasoning assistant</h3>
337-
<p>
338-
Plain English in, real numbers out — questions about entanglement and causal structure
339-
answered by generating and executing real QRL code, not by the model guessing a number.
340-
Provider-swappable by design: running on Mistral (EU-hosted) today, a self-hosted
341-
fine-tuned Qwen3-8B (815 training pairs) in standby. Sandboxed execution, Podman/Caddy
342-
deployment on Hetzner.
343-
</p>
344-
<div class="card-links">
345-
<a href="https://bell.entangledcode.dev">Try it — bell.entangledcode.dev</a>
346-
<a href="mailto:david@entangledcode.dev?subject=Bell%20code">Code on request</a>
347-
</div>
348-
</div>
349-
350-
<div class="card">
351-
<h3><small>Independent · 2026</small>Froe, a local-first coding agent in Go</h3>
352-
<p>
353-
A coding agent built for data governance: source code never has to leave the machine, the LAN
354-
or the EU. Local open-weight models are the default path, hosted providers are optional
355-
adapters, and nothing about a model is compiled in, so the tool survives model churn.
356-
A single static Go binary for the terminal and Neovim that runs on a 4 GB laptop.
357-
</p>
358-
<div class="card-links">
359-
<a href="mailto:david@entangledcode.dev?subject=Froe%20code">Code on request</a>
360-
</div>
361-
</div>
362435
</div>
363436
</section>
364437

@@ -381,34 +454,6 @@ <h2>Notes from running these in production</h2>
381454
</div>
382455
</section>
383456

384-
<!-- QRL -->
385-
<section class="section" id="qrl">
386-
<div class="section-label">Research</div>
387-
<h2>QRL — Quantum Relational Language</h2>
388-
<p>
389-
A relations-first quantum programming language where entanglement is a first-class citizen, not a derived concept.
390-
The key formal contribution: <strong>causal structure as a type-level primitive</strong>.
391-
A program that type-checks as <code>Switch(d)</code> is provably causally nonseparable, a result no existing quantum programming language can state.
392-
</p>
393-
<p>
394-
Implements five foundational papers: process matrices (Oreshkov 2012), causal nonseparability witnesses (Araújo 2015),
395-
quantum causal models (Allen 2017), loophole-free Bell tests (Hensen 2015), and categorical quantum mechanics (Coecke &amp; Kissinger 2017).
396-
Full compiler pipeline from relations to MBQC measurement patterns, with four backends (Perceval, PennyLane, graphix, Qiskit).
397-
Hardware-verified on Quandela's qpu:belenos photonic QPU (S = 2.61 ± 0.08).
398-
</p>
399-
<div class="meta-row">
400-
<span>~13,600 lines</span>
401-
<span>896 tests passing</span>
402-
<span>31 modules</span>
403-
<span>Preprint on Zenodo</span>
404-
</div>
405-
<div class="links-row">
406-
<a href="https://github.com/entangledcode/qrl" class="btn btn-primary">GitHub</a>
407-
<a href="https://doi.org/10.5281/zenodo.18292199" class="btn btn-outline">Zenodo DOI</a>
408-
<a href="https://github.com/dcoldeira/qrl-book" class="btn btn-outline">QRL Book</a>
409-
</div>
410-
</section>
411-
412457
<footer>
413458
<p>
414459
<a href="https://github.com/dcoldeira">github.com/dcoldeira</a> &nbsp;·&nbsp;

0 commit comments

Comments
 (0)