Skip to projects

Arrow keys: orient. Space: return to front. Enter: skip intro. Escape: reset. Links and text remain available without interacting with the scene.

Install · connect · automate · protect

AI agents
for your business

I set up AI assistants, connect your tools and automate repetitive tasks. I review permissions and configuration to help protect the systems we agree to work on.

How I can help

These are services you can request. We agree the scope before work starts.

Examples of work you can request, not client results.

AI agent setup

I install and configure assistants that use your tools to look up information and prepare tasks. We define what they can do and what needs your approval.

You receive the configuration, tests for the agreed tasks and a usage guide.

Sending messages, deleting data or changing access requires human approval.

Possible example: Draft a reply. An assistant checks authorised information and prepares a draft. You decide whether to send it.

Personal project: hermes-memory-vault

Custom AI solutions

I build tools for working with your documents and data: finding information, drafting text or summarising content for you to review.

You receive a tool for the agreed task, with tested examples and documented limits.

I first check whether AI is needed. If a rule or a script is enough, I suggest that.

Possible example: Look up documents. A tool searches the agreed documents and shows available sources. You review the answer before using it.

Personal local-inference project: qx-mini-c

Workflow automation

I connect the tools you already use to move data and run repetitive tasks. For example, adding a request to a tracking sheet or preparing a report.

You receive the workflow, functional tests and a guide to checking failures.

The goal and starting point are agreed before measuring results.

Possible example: Track requests. A workflow records a request in your tracking tool and keeps its status visible.

Experience: Exprez Logistics

Systems and access security

I review the configuration of agreed systems, their permissions and the access granted to connected tools. I apply the protective changes you authorise.

You receive prioritised findings, documented changes and checks within the agreed scope.

Defensive review and secure configuration. This is not a penetration test or a 24/7 monitoring service.

Possible example: Review access. A review identifies accounts and tools with permissions they do not need. Changes require your authorisation.

Systems experience and a personal project
L0fundamentals
kernel

About me

I started far from a keyboard: years of marine engine diagnostics at MG Náutica. An engine that will not start takes no excuses and prints no stack traces. It teaches you to isolate variables, measure before touching anything and fix things under pressure with the customer watching.

Then Germany: from 2022 to 2025 I was the only person responsible for technology and infrastructure at Moncobra / Dominion (MONCOBRA, S.A. German Branch, based in Cologne), working on fibre optic rollouts. Systems, networks, support, deployments. No team behind me and nobody to escalate to. Everything I know about running things for real comes from those four years.

2025 was the rebuild year: freelance, with websites delivered to real clients (Chef Janisa and Vitamacri SL, both hand-written in HTML and CSS) alongside a deep dive into applied AI: agents, local inference and MoE architectures. Not as a hobby: qx-mini-c came out of it. From February to August 2026 I was at Exprez Logistics, building internal automation and a KPI system.

L1track record
systems

Systems layer

Where things break, and who fixes them.

Exprez Logistics

Internal automationFeb 2026 to Aug 2026

Built internal automation and a KPI system on Docker and n8n. Work that used to be moved by hand between spreadsheets and inboxes ended up running on its own and getting measured.

Freelance + applied AI

Web work and self-directed study2025

Web development for real clients: sites delivered to Chef Janisa (hospitality) and Vitamacri SL, hand-written in HTML and CSS, alongside a deep dive into applied AI (agents, local inference and Mixture-of-Experts architectures). The tangible outcome of that study is qx-mini-c.

Moncobra / Dominion

Cologne, Germany · IT and infrastructure2022 to 2025

The only person responsible for technology and infrastructure at the German branch (MONCOBRA, S.A. German Branch), on fibre optic projects: systems, networks, support and server deployment. No team behind me. Every technical decision, every on-call and every recovery went through me.

MG Náutica

Marine engine diagnosticsbefore 2022

Technical diagnostics on marine engines. Solving real problems under pressure, with method: isolate, measure, verify. The same discipline I apply now to a production failure.

Fai signature

One signature. The same stars.

Fai · its own gravity

L2projects
application

Application layer

Ten personal projects, ordered by what they prove: first the runtime validated against an external oracle, then endpoint security, then measurement methodology. Six run today exactly as they are; acheron is deliberately still blocked and red-team-adventures lives as a public demo. None of them leans on a dependency to do the hard part.

qx-mini-cplain C · correctness-first

Inference runtime for Qwen3-30B-A3B

A local runtime written in plain C with one rule above all others: correctness first. Own BPE tokenizer, QXF1 tensor format, 48-layer forward pass with quantisation and MoE routing. Every numeric block is compared against an external llama.cpp oracle with pinned goldens, and whatever is untested is documented as untested. Anyone can write tests that confirm what their own code already does; checking against someone else's reference implementation is the only way to find out you have been consistently wrong.

llama.cpp oracleown BPE tokenizerQXF1 format48 layersMoE routingprobe timings, not throughput
qx-mini-c · visual simulation · illustrative data, not a benchmark
$ cc -O2 -std=c11 -o qx qx.c -lm
$ ./qx --model qwen3-30b-a3b.qxf1 --bench

[qxf1]  header ok   tensors=579   quant=q8_0
[bpe ]  vocab=151936  merges ok
[moe ]  experts=128   top_k=8

layer 00 .... 0.198s   moe hit 8/128
layer 01 .... 0.203s   moe hit 8/128
layer 02 .... 0.201s   moe hit 8/128
      ...
layer 47 .... 0.199s   moe hit 8/128

total   48 layers          9.62s
parity  vs llama.cpp      max |dz| = 3.1e-4
PASS    numerical parity within tolerance
super-nandoPrivate repositoryPython · Rust · C · Tauri

A desktop EDR, written end to end by him

Endpoint detection and response, the CrowdStrike or SentinelOne category, built for Windows and offline at runtime. An async Python core watches processes, computes SHA-256, runs YARA rules and a rule engine of its own; the interface is Tauri with React; an ETW bridge in Rust and a C driver provide kernel visibility; the installer is per-user NSIS. Three rules that never bend: it does not touch the network (it alerts or suspends, it never cuts connectivity), it never logs command lines because they can carry passwords, and IPC lives only on 127.0.0.1 behind a token with origin validation. Quarantine is AES-256-GCM with the key in the Windows Credential Manager, and updates are Ed25519 signed.

user-mode EDRYARA + SHA-256Rust ETW bridgeAES-256-GCM quarantineEd25519 signed updatesdocumented limits
acheronPrivate repositoryPython · Rust · fail-closed

A measurement bench that refuses to publish a number it cannot prove

A performance measurement layer for LLM runtimes built on one rule above the rest: no number ships unless it is proven. Python collectors and a typed contract in Rust (edition 2024, unsafe_code forbid, clippy at deny across the workspace). A collector may return PARTIAL or UNAVAILABLE, but it is never allowed to replace a missing measurement with an estimate. Every JSON artifact is checked against its digest before it is deserialised, and so are the paths and digests of the raw evidence; the target model is pinned by its local bytes, not by a file name. The system is fail-closed: while evidence or explicit human authorisation is missing, the measurement campaign does not start. That is where it sits today, waiting for that authorisation, which is exactly what it was designed to do.

fail-closeddigest verifiedno estimates allowedRust edition 2024unsafe_code forbidcampaign not run yet
red-team-adventuresPrivate repositoryTypeScript · platform

Teaching offensive security by playing

A gamified learning platform covering Python, C/C++, cybersecurity, Rust and AI. Private repository, with a live public demo. It is also where the decrypting text on this page comes from: the technique you just watched belongs to a platform he built, not to a template.

TypeScriptPython · C/C++ · Rustoffensive securitypublic demo
hermes-memory-vaultRust · SQLite FTS5 · Python

Local durable memory for somebody else's agent

A local-first memory provider for Hermes Agent: a Rust data plane that stores complete turn snapshots in SQLite with FTS5, plus a thin Python plugin that hooks into the public memory-provider lifecycle. SQLite is canonical; JSONL and Markdown are rebuildable projections. The transactional installer never patches the agent checkout, secrets are redacted before anything is indexed, and recalled content is always treated as untrusted historical data, never as instructions.

SQLite WAL + FTS5transactional installerfail-closed recall5 releases
retro-rink-98JS · HTML5 Canvas

3v3 arcade hockey locked at 120 Hz

NHL 94/98-style arcade hockey with 100 % procedural audio. There is not a single sound file: everything is synthesised in Web Audio at runtime. The six players are driven by a finite state machine. Zero external dependencies: open it in a browser and it runs.

locked 120 Hzprocedural Web AudioAI state machineno assetsno depsMIT licence

Game Boy-style creature collector

Three maps, six creatures with evolution lines, turn-based combat and saves in localStorage. The sprites and the music are original: nothing comes from an asset pack, everything is drawn and synthesised in code. Open it in a browser and play.

original spritesprocedural music3 maps6 creaturesplays in the browser

Other work

neon-district-sandboxC++ · Unreal 5.8

Urban sandbox vertical slice

Third-person over a procedural city, with police and civilian AI, drivable vehicles, a mission system and full save/load. Internal benchmark green: 25 of 25 tests passing. The repository ships a licence, build instructions and screenshots; there is no release yet, so there is no direct download.

tamagotchi-desktopPython · Tkinter + PIL

Digivice-style desktop pet

A full egg to adult cycle living on the desktop. Every animation frame is drawn by hand with PIL: there is no external asset, the sprites are generated in code. Shipped as a standalone .exe.

taskbar-appPython · Tkinter

Desktop task manager, no account and no cloud

Type a task, press Enter and it is saved; ticking the checkbox updates the progress bar. Everything lives in a tasks.json next to the executable: move the .exe and the data comes with it. Dark theme, keyboard shortcuts and an .exe built with PyInstaller from GitHub Actions.

qx-mini-c is not a standalone project: it is layer L2 of the stack

qx-mini-c · visual simulation · illustrative data, not a benchmark
$ cc -O2 -std=c11 -o qx qx.c -lm
$ ./qx --model qwen3-30b-a3b.qxf1 --bench

[qxf1]  header ok   tensors=579   quant=q8_0
[bpe ]  vocab=151936  merges ok
[moe ]  experts=128   top_k=8

layer 00 .... 0.198s   moe hit 8/128
layer 01 .... 0.203s   moe hit 8/128
layer 02 .... 0.201s   moe hit 8/128
      ...
layer 47 .... 0.199s   moe hit 8/128

total   48 layers          9.62s
parity  vs llama.cpp      max |dz| = 3.1e-4
PASS    numerical parity within tolerance
  1. L0fundamentals · kernel
  2. L1track record · systems
  3. L2projects · applicationqx-mini-clands hereqx-mini-c
  4. L3stack · tooling
  5. L4contact · deploy
L2bscreens
evidence

Evidence layer

View demos

Delivered work, sent proposals and personal projects, this time as screenshots. Thumbnails weigh a few kilobytes and load as you scroll; the full size image is only downloaded if you open it.

Delivered client work

Sites commissioned and delivered, in hand-written HTML and CSS, during the 2025 freelance year.

Design proposals, 2026

Mockups sent unprompted to businesses around Alicante, Murcia and the Costa Blanca: clinics, construction and refurbishment, interior design, estate agencies and hospitality. These are proposals, not commissions: none of these businesses asked for them or paid for them. More than fifty went out in 2026.

Personal projects

Screenshots taken from each project's public repository.

How we will work

  1. Define the problem

    Tell me the task you want to solve and the tools you use. We agree scope, access, budget and what to check at handover.

  2. Build and test

    I configure or develop the solution and test the agreed cases. Critical actions require human approval.

  3. Hand over and explain

    You receive the agreed configuration or code, tests and a guide. Any ongoing maintenance is agreed separately.

L3stack
tooling

Tooling layer

What I use, grouped by what I use it for.

Languages

  • Python
  • JavaScript
  • TypeScript
  • C
  • C++
  • Rust

Infra and ops

  • Docker
  • Server deployment
  • Linux
  • Windows

Automation

  • n8n
  • KPI systems
  • Internal integrations

Web

  • Hand-written HTML and CSS
  • Next.js
  • Client sites

Workflow

  • Git
  • Playwright
  • Unit testing

Before we start

What is an AI agent?

An assistant that can use authorised tools to look up information or prepare tasks. It is not allowed to do anything it wants: we define its access and the actions you must approve.

Do I need AI to automate a task?

Not always. Many tasks can be handled with rules, integrations or a script. I review the problem first and do not add AI when it is unnecessary.

What happens to my data and passwords?

Before connecting tools, we agree which data can be used and where. Do not email passwords. Access is configured with the necessary permissions through an agreed secure method.

Can the AI make mistakes?

Yes. We test real examples and document the limits. Answers and actions with consequences require human review.

What does the cybersecurity service include?

A defensive review of permissions and configuration for agreed systems, with authorised changes and documented findings. It does not include penetration testing, certifications, 24/7 monitoring or incident response.

How much does it cost and how long does it take?

That depends on scope, tools and available access. Budget and timing are agreed before work starts. Licences, AI providers and maintenance are listed separately if needed.

Can it run on my own equipment?

I assess that option against your equipment, data and task. I do not promise local operation or no external costs before checking.

Tell me what you need to solve
L4contact
deploy

Output layer

Available for remote freelance work, wherever you are. I work from CET, which overlaps a full day with Europe and the morning with the US east coast. Tell me what is broken or what you need built.

Final signal