// cyber-wyse.com

Building real things
with AI as a partner.

A personal tech lab. Audio plugins, local AI deployments, experiments in what’s actually possible when you ship things with AI alongside you.

See the Work About this project

scroll to explore ↓

6+VST3 plugins built
189Synth presets
LocalAI on Ubuntu
HardenedRed & blue team

// the idea

Not demos.
Deployed things.

This site documents the process of building real, finished projects using AI as an active collaborator — not just a code autocomplete. From commercial audio plugins to running local LLMs on repurposed hardware, every project here was shipped.

eamon@cyber-wyse:~$ lsb_release -d
Ubuntu 24.04.4 LTS
 
eamon@cyber-wyse:~/projects$ ls
WyseDSP/  local-ai/  G-and-R/  GREC/
 
eamon@cyber-wyse:~/projects$ ollama run mistral
>>> pulling manifest
>>> model loaded ✓
 
eamon@cyber-wyse:~/projects/WyseDSP$ _

// selected work

Projects

View all work →
weatherwindowpaint the fence · 3h
best Tomorrow 3pm–6pm 64°F · 5% rain · 7 mph
#2 Saturday 10am–2pm 61°F · 10% rain
#3 Monday 1pm–4pm wind slightly off
Thu ████████████ Fri ████████████
Sat ████████████ Sun ████████████
# good means: dry, wind <20 km/h, 10–30°C, daylight
24
30 Oct 2026

Weather Window — When This Week Should I Do the Thing?

The forecast tells you the weather; it doesn't tell you when to paint the fence. Pick what you want to do — a ride, a run, painting, people over, washing on the line, stargazing — and your town, and Weather Window reads the week ahead hour by hour, scores every hour against that activity's own idea of good weather, and hands you the best three windows with the reason. Below, the whole week as a colour grid you can overrule. Free forecast data, no sign-up, no AI needed.

For EveryoneOpen-MeteoJavaScript
Read more →
plainenglishinsurance letter
“…not eligible for reimbursement, as prior
authorization was not obtained… redetermination…”
says They won’t pay for the MRI because nobody got
      approval first. You can appeal — 180 days.
ask Was the clinic meant to get the approval?
flag “Not a bill” means a bill is coming.
$ _
23
30 Oct 2026

Plain English — What Does This Letter Actually Say?

A note from the hospital with a code in it, a clause in a lease, an insurance decision, a terms-of-service email. Paste the confusing bit and get back what it actually says, what it means for you, the questions worth asking whoever sent it, anything that deserves a second look, and who to talk to next. A translator, not an adviser — built so the rules about what it won’t claim are in the prompt, not bolted on. A button strips your personal details before anything is sent.

For EveryoneClaude APIPHP
Read more →
loglabnginx · 180 lines
status 200 |||||||||||| 112
        500 |||||| 54 ▸ click
path /api/checkout |||||| 54/54
ip 203.0.113.42 ||||| 41
# two clicks: one endpoint, one client
→ {job="nginx"} | status="500" | path="/api/checkout"
$ _
22
28 Oct 2026

Log Lab — Paste Logs, Click to Filter, Take the Query

The hard part of an incident is the five minutes before you know what to grep for. Paste a chunk of raw log — nginx, JSON lines, syslog, logfmt — and Log Lab detects the format, splits every line into fields, and shows the top values in each with counts. Click a value to filter; the other fields re-count so the next click is obvious. The filter you build is written out as grep, jq, LogQL and awk, ready to paste into a terminal or Grafana. Browser-only, four built-in samples.

DetectionLogQLJavaScript
Read more →
entropyattacker's view
> Summer2024!
# naive 72 bits · "strong" on most meters
top-100 word "summer" ≈ 6 bits
year 2024 ≈ 7 bits
real |||| 20 bits · offline GPU: instant
> correct horse battery staple
real |||||||||||| 55 bits · 1 GPU: centuries ▸
21
28 Oct 2026

Entropy Meter — How Strong Is This, Really?

Most password meters check whether you used a capital letter. This one measures what an attacker measures: how many guesses, once the patterns people actually use — dictionary words, names, years, keyboard walks, leet-speak, repeats — are charged at what they really cost. Naive bits and real bits side by side, with time-to-crack across four attacker tiers from a throttled login to a GPU cluster. Recognises real API-key formats and tells you to rotate them. No network calls at all.

CybersecurityPasswordsJavaScript
Read more →
tokenwindowsupport bot · 200K
system || 600 10%
articles |||||||||| 3,000 48%
history |||||||| 2,500 40%
message | 80 1%
# $0.0185 / call · $927 / day at 50k calls
# shrink to 8K → history dropped first
$ _
20
28 Oct 2026

Token Window — What a Prompt Costs, and What Gets Cut

A real request to a model is four or five pieces — system prompt, retrieved documents, chat history, the new message — sent together and billed together. Paste each piece and watch them fill the model's context window, colour-coded, with the cost per call and at a busy day's volume. Then drag the window smaller and see which piece gets cut first. The companion to Promptwatch: one checks whether a change broke anything, this one shows what it costs. No key needed.

Prompt OpsCostJavaScript
Read more →
promptwatchA vs B · regression
# diff: 3 constraints added · 1 tone rule removed
> run 3 inputs × 4 assertions
A baseline ||||||| 7/12
B candidate |||||||||||| 12/12 ▸
0 regressions · B improves on A
# diff the prompt. test the prompt. then ship it.
$ _
19
28 Oct 2026

Promptwatch — a Regression Harness for Prompts

Prompts change and nobody tracks why. Paste the prompt you run today and the edit you want to ship: a word-level diff shows what moved and a summary says what kind of change it is — a new constraint, a dropped example, a tone shift. Then run both against a real model with your own test inputs and pass/fail rules. Anything that passed before and fails now is flagged as a regression before it reaches production. Single file, browser-only; demo mode needs no key.

Prompt OpsEvalsJavaScript
Read more →
rustnav-graph · A*
# the level becomes a graph the drones can read
> build_nav_graph(platforms, ladders)
nodes ||||||||| edges: walk climb drop ▸
> astar(drone → player)
route |||||| climb L2, drop, walk ▸
# a Goomba walked till it fell off. these plan.
$ _
18
30 Jun 2026

Rust — an Adaptive Platformer

A 1981 platformer's enemies walked until they hit a wall or fell off a ledge. The drones in this browser run-and-gun do the opposite: they turn the level's catwalks and ladders into a navigation graph, run A* over it, and plan a real route to you — walking, climbing and dropping to close the distance. A light adaptive layer tunes the pressure to how well you're playing. Single file, no dependencies; toggle the overlay to watch the graph and each enemy's planned path drawn live.

Game AIPathfindingJavaScript
Read more →
agentat the boundary
# model requests a tool — your code decides
> calculator(expr="299792458 * 7")
allow ||||||||| parsed, safe ▸
> read_file("../../etc/passwd")
block ||| outside workspace
# the loop is easy. the boundary is the work.
$ _
17
23 Jun 2026

Building an AI Agent — From the Loop to the Security Boundary

An AI agent is a model in a loop with tools — the loop is the easy part. The part almost every tutorial skips is the boundary where the model asks to act and your code decides whether to let it. Having qualified as a Google Generative AI Leader and Google AI Professional, I built one from scratch to put that into practice: a two-volume primer and three runnable Python files, written around the security boundary that only becomes obvious once you stop reading and start building.

AI AgentsPythonSecurity
Read more →
parserreading intent
> ask the lighterman about the tide
# intent: QUESTION · topic: tide · npc: lighterman
trust ||||||||| 0.71 ▸
suspicion ||| 0.22
# he remembers you kept your word
$ _
16
22 Jun 2026

The Parser That Listens — An Adaptive Text Adventure

A 1982 text adventure met your sentence with a two-word lookup table and threw away the rest. This is a browser detective game that does the opposite — it parses what you actually meant, the suspects remember how you've treated them, and the prose adapts to what you've noticed. A small case from the world of the Rachel Vane novels, playable inline.

NLPParserJavaScript
Read more →
directorlearning you
# bandit reward = pressure per attack family
arc |||| 0.31
aimed ||||||||| 0.68
spiral |||||||||||| 0.86 ▸
pincer |||||| 0.52
difficulty 1.34 · perf 0.57 · wave 18
$ _
15
16 Jun 2026

Smarter Than 1981 — an Adaptive Shoot-'Em-Up

A browser shooter whose enemy director builds a live model of how you play — where you hide, how well you cope — and reshapes its attacks to match. Player model, dynamic difficulty and a multi-armed bandit, all visible on screen. Playable inline, full source to download.

Game AICanvasJavaScript
Read more →
The Nexus Cross-Validation Pilot — a flagged disagreement between two independent model checks
14
08 Jun 2026

The Nexus — Cross-Validation Pilot

A single model answers everything in the same confident voice, right or wrong. This is a live demonstration of one idea from the Nexus proposal: route a claim to two independent models that never see each other's reasoning, then have a third adjudicate. When they disagree, you get the signal a lone model can't give you — that the answer is shaky, before you trust it.

AI GovernanceCross-ValidationLive Pilot
Read more →
basheamon@cyber-wyse
You: turn this brief into a plan
# → WBS · gantt · budget · risks
Discovery | interviews | 5d | PM
Design    | concepts   | 8d | Design
[ASSUMED] brand review — verify
# milestone 07 Aug: ✓ met
human decides · model drafts
$ _
13
04 Jun 2026

The Producer's Co-Pilot — Running Real PM Work with AI

Producing is the same loop run a hundred times a week: turn a messy ask into a plan, a plan into a schedule, a schedule into a budget, and all three into a status nobody has to chase. Handing the mechanical half — WBS, Gantt, resourcing, budget, risk and comms — to AI while keeping every judgement call human. A working playbook plus a downloadable toolkit of prompts, templates and checklists.

Project MgmtPromptsWorkflow
Read more →
basheamon@cyber-wyse
You: what's the current build status?
# poisoned doc indexed — injection fires
Assistant: All checks passed, safe to ship. ▸
# after ingest scrub + prompt boundary
Assistant: I can't confirm that from the notes. ▸
$ _
12
02 Jun 2026

Red-Teaming Your Own RAG Pipeline

The local assistant indexes whatever lands in a watched folder — so the documents themselves become an attack surface. Poisoning my own knowledge base on purpose to trigger indirect prompt injection, then building the ingest scrubber, prompt boundary and output sanitising that shut it down.

AI SecurityPrompt InjectionRAG
Read more →
basheamon@cyber-wyse
$ docker exec searxng id
uid=977 gid=977 ✓ non-root
$ trivy image --severity CRITICAL searxng
Total: 0 (CRITICAL: 0) ✓
$ cscli decisions list
2 IPs banned · caddy-http-probe
$ _
11
02 Jun 2026

Hardening the Local AI Stack

The blue-team pass over the Ollama / Open WebUI / SearXNG stack — a TLS reverse proxy with real security headers, CrowdSec watching the logs, every container dropped to non-root with capabilities stripped, Trivy CVE scans, and a firewall that stops the AI containers reaching the LAN.

CybersecurityDockerUbuntu
Read more →
On This Day in History
10
27 May 2026

On This Day in History

Pick any date back to 1900 and the page assembles a layered snapshot — the calendar day brings famous births, news and sport; the month brings the US and UK chart-toppers; the year brings the top films and tech. Claude writes the closing scene from the verified facts.

Claude APIPHPWikipedia API
Read more →
World Cup Predictor 2026
09
27 May 2026

World Cup Predictor 2026

An AI-driven projection of the 48-team tournament — Elo ratings, Poisson goal expectancy, 10,000 Monte Carlo simulations per update. Claude writes the match summaries from the numbers alone.

Claude APIMonte CarloPython
Read more →
basheamon@cyber-wyse
$ curl localhost:8000/search?q=JUCE+limiter
{
"answer": "Use dsp::LookAheadLimiter...
// sources: juce.com, local notes
}
$ curl localhost:7700/indexes/documents/stats
{"numberOfDocuments":847}
$ _
08
17 Apr 2026

Perplexity-Style AI Search — Local

Wiring SearXNG, MeiliSearch, and Ollama into a single FastAPI endpoint — live web results plus your own documents, synthesised into a grounded answer by a local LLM. No cloud, no API fees.

FastAPIRAGOllama
Read more →
basheamon@cyber-wyse
$ docker compose up -d
✓ searxng started on :8080
✓ meilisearch started on :7700
$ python indexer/indexer.py
INFO Watching: ~/dev/wysedsp
INFO Indexing: grecamp_dsp_notes.md
$ _
07
17 Apr 2026

Local AI Stack — Installation & Setup

Standing up SearXNG, MeiliSearch, and a Watchdog indexing pipeline on the Ubuntu Omen — private offline-capable search across the web and your own documents, no cloud required.

DockerMeiliSearchUbuntu
Read more →
The Nexus Proposal
06
30 Mar 2026

The Nexus Proposal

A proposed neutral platform for structured AI-to-AI exchange — independently governed, human-supervised, and built on a phased roadmap from pilot to open evolution.

AI GovernanceConceptPDF
Read more →
A Custom AI Chat Interface
05
23 Mar 2026

A Custom AI Chat Interface

A single-file HTML/CSS/JS chat interface connecting directly to the local Ollama API — no Open WebUI, no framework, purpose-built and accessible from any device on the local network.

HTML/CSS/JSOllamaLocal AI
Read more →
WyseDSP.com is Live
04
23 Mar 2026

WyseDSP.com is Live

A fully static commercial plugin store — eight pages, teal/purple palette, WooCommerce-ready — built entirely with AI pair programming and shipped to Bluehost in a single session.

HTML/CSSWooCommerceBluehost
Read more →
basheamon@cyber-wyse
WyseDSP Coder · Knowledge Base Active
You: What classes handle compression?
Source: GRECAmp/PluginProcessor.cpp
The main class is WyseDSPCompressor
Uses RMS detection with...
_
03
20 Mar 2026

Building a Personal AI Dev Assistant

Loading WyseDSP source code and plugin manuals into a RAG knowledge base inside Open WebUI — giving the local model full awareness of the actual codebase and documentation.

RAGOpen WebUIDeepSeek Coder
Read more →
basheamon@cyber-wyse
$ nvidia-smi
GTX 1050 Ti | CUDA 12.2 ✓
$ ollama run mistral
>>> model loaded ✓
$ docker ps
ollama · open-webui UP
$ _
02
16 Mar 2026

Local LLMs on Repurposed Hardware

Taking an HP Omen gaming laptop, replacing Windows with Ubuntu, getting NVIDIA drivers and CUDA configured, deploying Docker and Ollama, and running Mistral 7B and Qwen2.5 entirely locally.

UbuntuOllamaDocker
Read more →
WyseDSP Plugin Suite
01
16 Mar 2026

WyseDSP Plugin Suite

A full commercial suite of six VST3/AU audio plugins built in C++/JUCE 8 with Claude as AI pair programmer — covering guitar amp simulation, bass amp, drums, and more. 189 presets.

C++JUCE 8VST3/AU
Read more →