Skip to content
View DareDev256's full-sized avatar

Block or report DareDev256

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
DareDev256/README.md

James Dare, AI Solutions Engineer, Toronto

James Dare

AI Solutions Engineer, Toronto. MCP servers, agents, retrieval systems.

Before this I directed music videos for a decade, 101 of them. One of them, Casper TNG's "Dope Boy", was certified Gold in 2022. The first thing I built here was an MCP server for Final Cut Pro.

jamesdare.com LinkedIn X


Featured

Stars Downloads CI

Grouped tools over FCPXML, so Claude can read a real timeline, health-check it, and write back non-destructive edits. On PyPI since 2026-07-25. defusedxml throughout, sandboxed writes, adversarial input tests, a private disclosure channel.

Two developers outside the project sent fixes and I merged them:

  • @mikegrant25 · #6: apply_template could write outside its sandbox
  • @jardelapp · #7: audio duration was stamped from the timeline span instead of probed
  • @jardelapp · #8: silence detection decoded the whole video stream, timing out on a 2.5GB camera file

coldopen · six artists, six live domains

Last commit

Five hand-built. The sixth was generated by the engine the other five produced. Each build starts by naming the world it lives in: K Money's is The Vault, so his catalogue hangs on the wall like work in one.

Site The world The artist
officialkmoney.com The Vault K Money · Instagram · YouTube · Spotify
100bandplan.com Mission File 100Bandplan · Instagram · YouTube · Spotify
savv4x.com Problem Child SAVV4X · Instagram · YouTube · Spotify
syreneffect.com SyrenEffect TV Syren Effect · Instagram · YouTube · TikTok
officialstreetbud.com The Streetlight Street Bud · Instagram · YouTube · Spotify
shortiieraw.com (generated) Carry-On Shortiie Raw · Instagram · YouTube · Spotify

Type, colour, motion and section names all derive from that one decision, and the build is refused if it drifts. Every renderable value is a Fact that will not construct without a sourceUrl and a verifiedAt, so an unsourced claim renders as a redaction bar instead of a number.

Blind A/B, 2026-08-21: a fresh judge shown five screenshots picked savv4x.com, which is hand-built, at 70% confidence, and ranked the generated site first of the five for looking hand-made. One judge, one round, one viewport. docs/GAUNTLET.md lists what that does not cover.

Public: the engine, its guards, its tests, and a _template. Client site code is not in the repo.

Last commit

A desktop OS that boots in a browser tab. Draggable windows, a Cmd+K palette, a magnifying dock, deep-linkable routes, a Three.js cyberspace view. No React, Vue or Svelte anywhere in the tree: the DOM is built by hand, and Three.js and DOMPurify come in as pinned CDN modules. One Vite config builds three surfaces from it, at /, /os and /coldopen.

Currently

Latest release Latest commit fcp-mcp-server CI
fcp-mcp-server v0.22.1
2026-09-03
portfolio-os 7e43e1d chore(fandom-flow): daily regenerate (2026-09-04 13:00 UTC)
2026-09-04
Tests: passing
2026-09-04

Generated 2026-09-04 from the GitHub API by build_readme.py.


Hackathons

Project Built
chain-recall · an AI memory layer for luxury hotel chains. They already pay for Oracle OPERA, so the pitch is to open the guest history they own at the moment that converts: arrival at the desk. Voice front end. Rosewood Hospitality 2030, Rosewood Sand Hill · 8 hours · May 2026 · with Joshua Dare · Next.js, Claude, ElevenLabs Stars Live →
second-opinion · an evidence-grounded appointment brief for adenomyosis patients, who get a short specialist window and lose most of it to recap. Every claim carries its citation. Anthropic Opus 4.7 Hackathon · repo private, demo open Live →

Open to

AI Solutions Engineer · Developer Relations · Solutions Architect · Founding Engineer · Toronto or remote

TypeScript · Python · Node · React · Next.js · MCP · SQLite · Playwright


Six AI literacy games, one engine

They ship from one shared Next.js engine: XP and leveling, FSRS-4.5 spaced repetition, Kumon-style mastery gates, adaptive difficulty, and a Web Audio sound engine with no audio files.

Engine and every game spec are public in passion-learning-suite (template · specs).

Game Concept
Red Team Arena Ethical prompt injection and jailbreaks, then defending against them Play →
Hallucination Hunter Spot factual errors in model output and verify the claim Play →
Token Prophet Next-token prediction, probability, context windows Play →
Bias Buster Detect and measure bias across demographics Play →
Prompt Craft Structure, constraints, iterative refinement Play →
Tool Match Match an intent to the right model or tool Play →
Other projects
Project What it is
Ultimate Image & Video Prompt Generator A prompt workbench for nine generation engines, stills and motion. Nine incompatible parameter grammars normalized into one wizard. Every suggestion is credited to the creator it came from. Live →
pulsemap Global disease surveillance dashboard on WHO data. Mapbox GL, Supabase, Next.js. Live →
rag-system-with-citations RAG pipeline that returns the chunk behind every answer, so retrieval can be checked.
llm-evaluation-harness Regression testing for LLM systems: rule-based, semantic, and LLM-as-judge scoring, wired for CI.
clickfix-defense-kit macOS anti-infostealer toolkit, written after a real ClickFix attack came at me. Blocks curl | sh paste attacks and audits what already ran.
music-time-machine One song tracked across Spotify, YouTube, Billboard, and Genius.
toronto-parking-viz 3D timelapse of Toronto parking tickets. deck.gl and Mapbox. Live →
hand-playground Seven exercises in spatial gesture UI. MediaPipe, React, Canvas 2D.
vector-vs-keyword-search Semantic vector search against BM25, side by side, on the same corpus.
jackpoint One command installs every AI coding CLI on a Mac, plus an optional offline model.
lockedin One-tap connection card that routes straight to an action: Follow All, vCard, DM, Book, Pay. Live →
whats-poppin Match-3 bubble game: swap adjacent bubbles, pop three or more, chain the cascades. Match 4 clears a line, match 5 drops a bomb, an L or T shape fires a colour nuke. Play →
tdotssolutionsz-portfolio Index of the music videos I directed. Live →
syreneffect-site (private) Next.js site for a Twitch streamer: stream embed, gallery, media kit, analytics admin. Live →
buildright Duolingo-style mobile learning for home building. React Native and Expo.
ThrowingTracker Fork of Waleee7/ThrowingTracker. Training log for throwing athletes, built by Waleee7.
Seven bugs, with receipts

Every broadcast frame rate was arithmetic on the wrong timebase. TimeValue built its denominators with int(fps). int(23.976) is 23, so 3604 seconds was stored as 86410/23s and read back as 3756.957s, a 152 second error on a number that is exact on the page. It hit 23.976, 29.97 and 59.94. Rates are exact rationals and are carried as such end to end now, through a new rational.py. fcp-mcp-server #17

A tool moved nothing and reported success. snap_to_beats built its work list from spine children only. A music video hangs every visual off an audio bed as a connected clip, so on the video I was cutting the spine held one <gap>: 0 of 129 clips considered, and the tool reported success. It walks connected clips lane by lane now and names every cut in its report as considered, moved, already on a beat, out of reach, or skipped for a collision. fcp-mcp-server #16

A 200 came from the wrong file. A page hung on its boot screen in production. Its script tag used a relative ./app.js. At a path with no trailing slash that resolves to /app.js, hits the SPA rewrite, and returns index.html with a 200. It passed local testing because the local URL carried the trailing slash the deployed link does not. The tag is absolute now. portfolio-os CHANGELOG 4.14.1

A banned-colour list is defeated by nudging one channel. coldopen refuses to ship a cream ground. The first version was a hex denylist, which #F7F1E7 fails and #F9F3E9 passes, and those are the same colour. Replaced with a test on hue, saturation, and lightness, which catches the neighbourhood around a sample, plus a brandExemption a caller has to justify in the call. The same audit fails a build whose lexicon contains a generic label like "Contact". coldopen/docs/DECISIONS.md

Duplicate clip names silently lost their markers. Markers were placed through a name-indexed clip dictionary, so duplicate names were last-one-wins, and interval markers landing on an earlier clip were swallowed by an except ValueError: pass. The fix removed the index from that path entirely, so the writer walks spine elements directly. The regression test runs against the four same-named Interview_A clips in the sample timeline. fcpxml/writer.py

The zero guard was the bug. TimeValue.to_seconds() carried if denominator == 0: return 0.0. A malformed 0/0 frame duration became a plausible zero and travelled through every downstream comparison as data. The fix deleted the fallback and rejected the value at construction, so corruption raises at the point it enters the model. fcpxml/models.py

A counter froze on a wrong number and stayed there. requestAnimationFrame is suspended in a background tab, so a page opened with "open link in new tab" stalled a count-up partway and left the intermediate value on screen permanently. Observed live: a streak counter read 1 while its own data-count said 2. Counters now snap to the true value on a timer, with or without the animation. portfolio-os CHANGELOG 4.14.2

What I would build differently

I unit-tested a parser and shipped integration bugs. fcp-mcp-server has a deep unit suite. Issues #16 and #17 both walked past all of it, because a synthetic timeline cannot show you that a real music video puts every visual on a connected clip. One was caught by an end-to-end stdio smoke test, the other by dogfooding the server on one of my own music video projects. Real files in examples/ should have been the first test target.

Numbers typed into a page drift. Two plates on the portfolio-os homepage carried hardcoded wiki edit and screenshot counts, correct the day they were written and wrong by the end of that week. They are regenerated from source now.

"No dependencies" was a claim the manifest did not make. portfolio-os ships no frontend framework and Vite is its only build step, which is the interesting part. package.json still lists two runtime dependencies: @vercel/analytics in the browser bundle and @anthropic-ai/sdk in the two serverless routes under api/.

passion-learning-suite's README enumerates every test group in the suite inside a single 581-word bullet.


Pinned Loading

  1. fcp-mcp-server fcp-mcp-server Public

    MCP server for Final Cut Pro XML. Lets Claude read, edit and generate real timelines: cut detection, markers, roles, transcript-based editing. Published on PyPI as fcp-mcp-server.

    Python 99 19

  2. Ultimate-Image-Video-Prompt-Generator Ultimate-Image-Video-Prompt-Generator Public

    Prompt builder for image and video models. Nine engines, a guided wizard, a credited prompt corpus, and a scorer that grades a shot before you render it.

    TypeScript 10 3

  3. pulsemap pulsemap Public

    Next.js map of WHO Disease Outbreak News: ingest, geocode, dedupe, severity-score, then render as a heat map with spread arcs. The public demo serves a cached snapshot.

    TypeScript 2

  4. music-time-machine music-time-machine Public

    One search returns a song's Spotify, YouTube, Billboard and Genius footprint in a single Next.js dashboard. Runs with no API keys on a 17-song curated catalog.

    TypeScript 3

  5. tdotssolutionsz-portfolio tdotssolutionsz-portfolio Public

    Source for tdotssolutionsz.com: TdotsSolutionsz music video studio site. Cinematic hub, WebGL catalogue, per-video pages. React, Three.js, Vite, Vercel.

    JavaScript 1