Work

Selected systems in machine reasoning, model evaluation, retrieval, native media, and applied research.

  1. Aug '26

    Rkive AI · camera effects engine

    • Cross-platform face effects pipeline

      A 23-control camera-effects stack spanning skin, makeup, and geometric reshaping. Ten bipolar reshape controls preserve exact identity at zero; pointwise color operations fuse into one Core Image kernel, while all reshapes execute in a single warp pass. Smoothing uses local variance to suppress texture selectively without softening true edges, and reshape magnitudes are defined in a roll-invariant face basis.

    • Frame-consistent capture across preview and encode

      iOS segmentation, effects, and compositing run once off the main thread into a shared buffer consumed by both preview and encoder. A latest-frame-wins slot drops stale frames rather than queueing them. Recording resolution is selected from a fitted latency model and only steps down when the smaller target restores projected 30 fps.

  2. Jun '26

    Rkive AI · Media compositing

    • A Canvas2D twin of the FFmpeg render

      The browser preview reimplements the server render in Canvas2D: colour operations, crop, zoom, overlays and measured text placement share one draw path with WebCodecs export. The hard part is semantic parity, matching FFmpeg's geometry and colour behaviour closely enough that an edit does not change when it leaves preview.

    • Dual-decoder compositing on iOS

      iOS compositing uses fixed decoder slots rather than treating a decoder as an interchangeable source. The incoming clip is prepared ahead of each cut, and the compositor adapts its lead time from observed decoder readiness. That turns transition timing into a measured scheduling problem rather than a pile of device-specific delays.

    • Android compositing and the local FFmpeg tier

      Android shares the Skia compositor with iOS while using a platform-specific local encoding tier beneath it. Preview media is re-encoded through the audio mix to preserve timestamps, and compatible filter stages are fused to avoid repeated decode and encode cycles. Shared composition logic sits above native differences instead of denying them.

    • Routing between composition, device and cloud

      Composition, local encoding and cloud rendering form three quality and latency tiers chosen from an explicit capability snapshot. The server only offers work to devices that can satisfy the render plan, while a parity harness compares their output against the reference renderer before a path is trusted.

  3. Jun '26

    albertoluengomartin.com · this site

    • A DOM-to-particle ASCII layer

      With motion enabled, a persistent canvas is the only thing that visibly renders text — the DOM stays at color: transparent, holding layout and the accessibility tree, while each [data-ascii-zone] element is resampled into particles per navigation and re-anchored to its live rect every frame. Internal link clicks are caught in the capture phase and router.push deferred, so the next page's text and images condense out of the previous page's characters.

  4. Jun '26

    Rkive AI · voice mode

    • Turn-taking without a duplex session

      The client's speech recogniser feeds the same text agent used by chat, and speech synthesis returns the answer, avoiding a separate realtime-agent stack. End-of-turn combines the recogniser's final result with silence detection under a single latch. Interruption fuses audio level and partial-transcript evidence, adapting to browsers that do not expose microphone amplitude.

  5. Jun '26

    Rkive AI · unified agent system

    • Graph-constrained retrieval across private data and the web

      One retrieval path spans a user's authorised workspace and the web. A memory-informed intent rewrite resolves private vocabulary, a typed relationship graph narrows the candidate set, and semantic, lexical and structural signals rank what remains. Results cite the supporting passage rather than merely naming the file that contains it.

    • An auditable memory layer

      Memories move through an explicit lifecycle — pending, active, superseded and retracted — rather than disappearing when the system changes its mind. Retractions remain auditable but cannot re-enter a prompt. Distilled beliefs require human approval and retain both confidence and source-run provenance; runs marked as mistakes are excluded from future distillation.

    • Approval-gated proactive agent

      Proactive suggestions are opt-in, rate-bounded and held for human approval before any tool can run. Every proposal carries a plain-language reason and provenance back to the events that produced it, alongside a typed action payload when relevant. A single elected worker owns execution, preventing competing orchestrators from acting twice.

    • Conversation routing and context compression

      Compression is a priority ladder rather than a single summary pass: retrieved evidence survives verbatim, peripheral context is condensed, and the least useful material leaves first as the context window fills. Conversation routing combines semantic fit with recency and exposes a suggested destination only when one candidate is clearly ahead, learning from repeated dismissal rather than nagging indefinitely.

    • A unified attachment model

      Media and documents enter through one content-addressed attachment model while retaining the conversations they belong to. Visual media receives a reusable description; documents are extracted, segmented and indexed for retrieval. Prompt guards distinguish files attached to the current turn from material recalled from earlier conversations and say explicitly when a file could not be read.

  6. May '26

    ARC Prize · ARC-AGI-3

    • One oracle contract, three backends

      One method — query(state, memory) returning reasoning plus actions — behind a scripted teacher, a live API model, and a local LoRA distilled from its traces. Parity is the hard part: one state serializer with a leak-clean mode, one GBNF grammar shared by a vLLM guided-decoding config and an Earley prefix recognizer masking HF logits, one system prompt byte-identical at harvest and eval. A prompt mismatch dropped recognition 85.7% to 40%. The current system ranks 175th of 3,915 competitors on Kaggle as of October 2026.

    • A fitted steering layer over graph search

      Dimensions 0-5 of a 32-dimensional understanding vector are a 6-way archetype softmax over 16 observation features — fitted by gradient descent on soft labels from 25 games, 88% top-1 in-sample. Per-archetype sub-networks write clamped deltas, scaled by archetype probability and confidence, into a 27-field directive. The layer never touches traversal order: three attempts to bias systematic exploration regressed it (spatial novelty alone: sk48 solved to unsolved, m0r0 0.081 to 0.002).

    • Masking what moves on its own

      In keyboard-only games, counts per color how often its segments displace; after eight or more transitions, any color displacing in at least 20% of them, other than player or background, drops out of the MD5 state hash. Finding one re-hashes the entire graph retroactively — merging collided nodes, remapping edge targets, demoting self-loops. The threshold was empirical: 30% missed tu93's patrols. ls20 went 1,931 unique states to 1,454, and solved.

    • An evidence-weighted random-walk fallback

      The safest place for learned signal — biasing systematic exploration order kept breaking already-solved games. Once every edge is tested and no frontier is reachable, edges are sampled by a product of about nine evidence terms — inverse visit count, depth, spatial novelty, per-action change and novelty rates, action bigrams, a no-op penalty — with action-evidence terms bounded to ~3.2x combined. On g50t: 2,354 resets to 21, 442 unique states to 1,824.

  7. May '26

    Rkive AI · Atlas

    • A 3D embedding atlas with an honesty rule

      Each entry keeps its high-dimensional embedding separate from the three-dimensional view. Nearest-neighbour, substitute, between and steer operations rank in the source geometry, never by what happens to look close on screen. Every projection carries a neighbourhood-preservation score, making visible how much structure the attractive picture has actually retained.

    • Request-scoped atlas generation over personal data

      Generated on demand from permission-scoped workspace sources, reusing embeddings the underlying records already carry. Source failures are isolated so one unavailable category does not erase the whole view, and the result is not written back as a second copy of personal data. A seeded sparse projection keeps the layout stable for a stable input set.

    • Schema-constrained atlas synthesis

      A structured model call proposes the vocabulary of an atlas — axes, entity types and sparse scores — while deterministic application code owns the geometry. Axis directions are distributed over the sphere and positions use the same star-coordinate projection as hand-built atlases. Thin, duplicate or malformed proposals are rejected rather than dressed up as a meaningful map.

  8. May '26

    Independent research · perfumery

    • A typed perfumery ontology

      Perfumery represented as a typed graph connecting materials, molecules, accords, descriptors and uses rather than as a flat list of notes. Semantic embeddings support similarity while an explicit sensory vocabulary preserves interpretable relationships. Descriptor profiles can then be projected through star coordinates without confusing the visual map with the underlying evidence.

    • A material-level odor dataset

      Perfumery materials, their constituent molecules and culinary ingredients in one geometry — 86,065 nodes, ~1.31M typed edges. Unification merges on InChIKey first (88% coverage, backfilled from SMILES with RDKit), then CID, CAS and a canonical name; materials are mixtures with no chemical identity at all, and merge on a qualifier-stripping name canonicalizer. The consumer note layer is cited, not redistributed — a cost of 3,216 material nodes.

    • Leakage-controlled odor representation

      Five 300-D lenses over the same odor graph; three are leakage-free — usage, chemistry, molecular structure — scored on InChIKey-split held-out descriptor prediction, each against its own prevalence prior. Of those, only structure clears it (micro-AUROC 0.887 against 0.790); usage does not (0.725 against 0.748), and a three-arm, five-seed ablation finds fusing them no better. In-agent, the embedding tool degrades a grounded agent across three frontier models.