Skip to content

Commit 9fc6622

Browse files
committed
Rebuild landing as personal site: AI engineering in production first, QRL second, numbers synced
1 parent aff2c14 commit 9fc6622

1 file changed

Lines changed: 128 additions & 21 deletions

File tree

‎index.html‎

Lines changed: 128 additions & 21 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="Entangled Code — home of QRL, a relations-first quantum programming language built from first principles of information theory and relational physics." />
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, a Claude-powered route planner, a self-hosted fine-tuned model, a local-first coding agent. Also home of QRL, a relations-first quantum programming language." />
88

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

@@ -16,13 +16,13 @@
1616

1717
<meta property="og:type" content="website"/>
1818
<meta property="og:url" content="https://entangledcode.dev"/>
19-
<meta property="og:title" content="Entangled Code — QRL"/>
20-
<meta property="og:description" content="QRL is a relations-first quantum programming language. Entanglement as a first-class citizen. Causal structure as a type-level primitive."/>
19+
<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."/>
2121
<meta property="og:image" content="https://entangledcode.dev/og-image.png"/>
2222

2323
<meta name="twitter:card" content="summary_large_image"/>
24-
<meta name="twitter:title" content="Entangled Code — QRL"/>
25-
<meta name="twitter:description" content="QRL is a relations-first quantum programming language. Entanglement as a first-class citizen. Causal structure as a type-level primitive."/>
24+
<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."/>
2626
<meta name="twitter:image" content="https://entangledcode.dev/og-image.png"/>
2727

2828
<style>
@@ -144,7 +144,7 @@
144144
}
145145

146146
.hero h1 {
147-
font-size: clamp(2.2rem, 6vw, 3.8rem);
147+
font-size: clamp(2rem, 6vw, 3.4rem);
148148
font-weight: 800;
149149
letter-spacing: -0.03em;
150150
line-height: 1.1;
@@ -227,6 +227,22 @@
227227
border-radius: 4px;
228228
}
229229

230+
/* ── Project cards ── */
231+
.cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.5rem; }
232+
.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; }
233+
.card h3 { font-size: 1rem; font-weight: 700; letter-spacing: -0.01em; }
234+
.card h3 small { display: block; font-size: 0.72rem; font-weight: 600; color: var(--accent); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 0.3rem; }
235+
.card p { font-size: 0.9rem; color: var(--muted2); line-height: 1.6; flex: 1; margin: 0; }
236+
.card-links { font-size: 0.8rem; display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; }
237+
.card-links a { color: var(--muted2); border-bottom: 1px solid var(--border); }
238+
.card-links a:hover { color: var(--text); border-color: var(--muted); }
239+
.posts { list-style: none; margin-top: 1.25rem; }
240+
.posts li { padding: 0.85rem 0; border-top: 1px solid var(--border); }
241+
.posts li:last-child { border-bottom: 1px solid var(--border); }
242+
.posts a { font-weight: 600; }
243+
.posts a:hover { color: var(--accent); }
244+
.posts span { display: block; font-size: 0.875rem; color: var(--muted2); margin-top: 0.2rem; }
245+
230246
/* ── Footer ── */
231247
footer {
232248
border-top: 1px solid var(--border);
@@ -243,6 +259,7 @@
243259
.nav-links .hide-mobile { display: none; }
244260
.hero { padding: 4rem 1.5rem 3rem; }
245261
.section { padding: 3rem 1.5rem; }
262+
.cards { grid-template-columns: 1fr; }
246263
}
247264
</style>
248265
</head>
@@ -254,55 +271,145 @@
254271
entangled code
255272
</div>
256273
<div class="nav-links">
257-
<a href="https://github.com/entangledcode/qrl" class="hide-mobile">QRL on GitHub</a>
274+
<a href="#ai" class="hide-mobile">AI engineering</a>
275+
<a href="#qrl" class="hide-mobile">QRL</a>
258276
<a href="https://dcoldeira.github.io" class="hide-mobile">Blog</a>
277+
<a href="https://github.com/dcoldeira" class="hide-mobile">GitHub</a>
259278
<a href="mailto:david@entangledcode.dev" class="btn btn-outline">Contact</a>
260279
</div>
261280
</nav>
262281

263282
<!-- Hero -->
264283
<section class="hero">
265-
<div class="hero-label">Quantum Relational Language</div>
266-
<h1>Relations first.<br><span>Entanglement built in.</span></h1>
284+
<div class="hero-label">David Coldeira · Bristol, UK</div>
285+
<h1>Production AI engineering.<br><span>Physics-grade rigour.</span></h1>
267286
<p>
268-
QRL is a quantum programming language built from first principles of information theory and relational physics.
269-
Describe correlations, derive predictions — causal structure as a type-level primitive.
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.
270290
</p>
271291
<div class="hero-actions">
272-
<a href="https://github.com/entangledcode/qrl" class="btn btn-primary">View on GitHub</a>
273-
<a href="https://doi.org/10.5281/zenodo.18292199" class="btn btn-outline">Zenodo preprint</a>
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>
294+
<a href="mailto:david@entangledcode.dev" class="btn btn-outline">Email</a>
295+
</div>
296+
</section>
297+
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>
302+
<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
305+
permissions are enforced by the system rather than by the prompt.
306+
</p>
307+
308+
<div class="cards">
309+
<div class="card">
310+
<h3><small>Day job · Geoquip Marine</small>Gio, an assistant over a live laboratory database</h3>
311+
<p>
312+
Claude API tool-use inside GQMLab, the LIMS I built for a UKAS-accredited geotechnical laboratory.
313+
Natural-language SQL, charts and live report-schema introspection, on a read-only database user
314+
with query validation and role-gated access. In production for the lab's engineers.
315+
</p>
316+
<div class="card-links">
317+
<a href="https://dcoldeira.github.io/posts/2026-09-16-llm-production-database/">How the read-only layers work</a>
318+
<a href="https://gqmlab.geoquip-marine.com">GQMLab</a>
319+
</div>
320+
</div>
321+
322+
<div class="card">
323+
<h3><small>Forza7 · SailGenius</small>Marco, a Claude-powered passage planner</h3>
324+
<p>
325+
Reasons over live weather, tide and boat-performance data to propose offshore routes.
326+
Every AI-generated waypoint is validated against real water and depth data before the
327+
sailor sees it. Part of a Flutter sailing suite with a FastAPI/PostgreSQL backend.
328+
</p>
329+
<div class="card-links">
330+
<a href="https://dcoldeira.github.io/posts/2026-09-16-llm-verified-execution/">Why the model does not do the physics</a>
331+
<a href="https://forza7.dev">forza7.dev</a>
332+
</div>
333+
</div>
334+
335+
<div class="card">
336+
<h3><small>Independent · 2025</small>Bell, a self-hosted fine-tuned physics assistant</h3>
337+
<p>
338+
Qwen3-8B with a LoRA adapter trained on 815 instruction pairs, as a provider-swappable
339+
alternative to the Claude API. Sandboxed Python execution, Docker/Caddy deployment,
340+
GDPR-compliant. Ran live at bell.entangledcode.dev; now offline, code and training data kept.
341+
</p>
342+
<div class="card-links">
343+
<a href="mailto:david@entangledcode.dev?subject=Bell%20code">Code on request</a>
344+
</div>
345+
</div>
346+
347+
<div class="card">
348+
<h3><small>Independent · 2026</small>Froe, a local-first coding agent in Go</h3>
349+
<p>
350+
A single static binary for the terminal and Neovim that runs on a 4 GB laptop with no source
351+
code leaving the machine. Measured before designed: the autonomous loop lost on a real
352+
multi-site edit, so it became small bounded commands with deterministic verification of
353+
the model's answer, taking <code>locate</code> from 0/3 to 3/3.
354+
</p>
355+
<div class="card-links">
356+
<a href="mailto:david@entangledcode.dev?subject=Froe%20code">Code on request</a>
357+
</div>
358+
</div>
359+
</div>
360+
</section>
361+
362+
<!-- Writing -->
363+
<section class="section" id="writing">
364+
<div class="section-label">Writing</div>
365+
<h2>Notes from running these in production</h2>
366+
<ul class="posts">
367+
<li>
368+
<a href="https://dcoldeira.github.io/posts/2026-09-16-llm-production-database/">Putting an LLM on a Production Database, Read-Only by Construction</a>
369+
<span>Four independent layers, only one of which actually matters, and why the prompt is the layer you should trust least.</span>
370+
</li>
371+
<li>
372+
<a href="https://dcoldeira.github.io/posts/2026-09-16-llm-verified-execution/">Don't Let the Model Do the Physics</a>
373+
<span>Keep the model to reasoning and let deterministic code own every number that reaches a user.</span>
374+
</li>
375+
</ul>
376+
<div class="links-row">
377+
<a href="https://dcoldeira.github.io" class="btn btn-outline">All posts</a>
274378
</div>
275379
</section>
276380

277381
<!-- QRL -->
278-
<section class="section">
279-
<div class="section-label">The Language</div>
382+
<section class="section" id="qrl">
383+
<div class="section-label">Research</div>
280384
<h2>QRL — Quantum Relational Language</h2>
281385
<p>
282-
A relations-first approach to quantum computing where entanglement is a first-class citizen, not a derived concept.
386+
A relations-first quantum programming language where entanglement is a first-class citizen, not a derived concept.
283387
The key formal contribution: <strong>causal structure as a type-level primitive</strong>.
284-
A program that type-checks as <code>Switch(d)</code> is provably causally nonseparable — a result no existing quantum programming language can state.
388+
A program that type-checks as <code>Switch(d)</code> is provably causally nonseparable, a result no existing quantum programming language can state.
285389
</p>
286390
<p>
287391
Implements five foundational papers: process matrices (Oreshkov 2012), causal nonseparability witnesses (Araújo 2015),
288-
quantum causal models (Allen 2017), loophole-free Bell tests (Hensen 2015), and categorical quantum mechanics (Coecke & Kissinger 2017).
392+
quantum causal models (Allen 2017), loophole-free Bell tests (Hensen 2015), and categorical quantum mechanics (Coecke &amp; Kissinger 2017).
393+
Full compiler pipeline from relations to MBQC measurement patterns, with four backends (Perceval, PennyLane, graphix, Qiskit).
289394
Hardware-verified on Quandela's qpu:belenos photonic QPU (S = 2.61 ± 0.08).
290395
</p>
291396
<div class="meta-row">
292397
<span>~13,600 lines</span>
293398
<span>896 tests passing</span>
294-
<span>24 modules</span>
295-
<span>Paper in preparation — QPL 2027</span>
399+
<span>31 modules</span>
400+
<span>Preprint on Zenodo</span>
296401
</div>
297402
<div class="links-row">
298403
<a href="https://github.com/entangledcode/qrl" class="btn btn-primary">GitHub</a>
299404
<a href="https://doi.org/10.5281/zenodo.18292199" class="btn btn-outline">Zenodo DOI</a>
300-
<a href="https://dcoldeira.github.io" class="btn btn-outline">Blog</a>
405+
<a href="https://github.com/dcoldeira/qrl-book" class="btn btn-outline">QRL Book</a>
301406
</div>
302407
</section>
303408

304409
<footer>
305410
<p>
411+
<a href="https://github.com/dcoldeira">github.com/dcoldeira</a> &nbsp;·&nbsp;
412+
<a href="https://www.linkedin.com/in/dcoldeira">linkedin.com/in/dcoldeira</a> &nbsp;·&nbsp;
306413
<a href="https://github.com/entangledcode/qrl">entangledcode/qrl</a> &nbsp;·&nbsp;
307414
<a href="https://doi.org/10.5281/zenodo.18292199">Zenodo</a> &nbsp;·&nbsp;
308415
<a href="privacy.html">Privacy</a>

0 commit comments

Comments
 (0)