A private, searchable media archive
Personal project · Web and iPhoneSave media, search its contents, and jump to the exact moment you need. Built for my family, running on a spare Mac.


I’m a technical generalist building AI systems and operating managed hosting. I work across product, interfaces, backend systems and infrastructure, using AI throughout research, implementation, testing and delivery. My strength is deciding what to build, judging trade-offs and taking an idea through to a working product.
Open to founder or founding engineer roles, early-stage startup opportunities, and paid product engineering projects.
Building domain-specific AI systems that turn user goals into executable, inspectable workflows.
Dec 2021 - Feb 2026
Joined Lit Protocol as team member #5, including the CEO and CTO, and helped build its developer platform across SDKs, authentication, applications and infrastructure. Working remotely for the San Francisco startup and leading the SDK team, I helped turn distributed signing and encryption into usable developer workflows, including wallet authentication, operational tooling and agent permissions.
The core repository is now private. The case study documents my contribution and links to the public evidence that remains.
Architecture: The SDK was an Nx and pnpm monorepo of published @lit-protocol/* packages. @lit-protocol/lit-client acted as the public facade, while @lit-protocol/networks supplied Naga and Datil network modules, RPC and chain context, request builders, response handlers, and state managers.
Network modules: Each Naga environment was modeled as a swappable module export. Environment files owned RPC URLs, chain config, endpoints, ABI signatures, services, threshold, and attestation policy, while a shared factory supplied common API, state, pricing, and contract-management behavior.
Request flow: The client fetched fresh node state, live threshold, and required attestation data before trusting a node set. Requests fanned out across nodes and resolved after enough successful responses, then normalized signatures, decrypted payloads, Lit Action results, PKP state, pricing, auth, and key-set context into public APIs.
Crypto boundary: Final threshold math was delegated to @lit-protocol/wasm. The TypeScript layer owned quorum collection, retries, shape conversion, and clean return objects across ECDSA, FROST, Schnorr, BLS encryption, and decryption paths.
My work: I kept network constants and contract exports aligned with live Datil and Naga environments, carried API compatibility through network migrations, maintained auth, payment, wrapped-key, and key-management integrations, and tightened end-to-end coverage for production, test, staging, dev, and local workflows.
Built and maintained a scaffolding and testing tool for Lit Actions: decentralised JavaScript functions executed inside trusted execution environments through Lit's V8 and Deno runtime. It simplified writing action logic, packaging it correctly, and testing execution before deployment.
Architecture: create-la-app packaged a Lit Action project as a scaffolded workspace with action source, reusable utilities, a local runner, generated credentials, and build output.
Runtime bridge: Lit Actions were authored as TypeScript but executed as JavaScript strings inside Lit's decentralised runtime. The build bundled action source into an IIFE and exported it as a string ready for LitNodeClient.executeJs.
Setup flow: The CLI handled PKP creation, capacity delegation, session signatures, PKP listing, and compiled action uploads to IPFS, providing a repeatable path from an empty folder to an executable Lit Action.
Test loop: Watch mode rebuilt changed code and ran the local app, printing the returned response and node logs so remote trusted execution felt like a local edit, run, and debug cycle.
My work: I turned an easy-to-misuse JavaScript-string workflow into a practical tool with TypeScript ergonomics, a scaffolded layout, setup automation, hot reload, deployable output, and transaction examples.
Save media, search its contents, and jump to the exact moment you need. Built for my family, running on a spare Mac.


I built a dashboard and agent setup flow around self-hosted email, with separate inboxes, scoped permissions and MCP access. I tested teardown, installation and a real email round trip, then published the results and remaining setup bottlenecks.
What I changed at Lit ProtocolMy Lit Protocol contributions: PKP wallet authentication with Google, Discord and passkeys, developer tooling for Lit Actions, SDKs, backend services and agent permissions.
Setting up my own email system, part 2: HermesakiHermesaki is a self-hosted AgentMail alternative and Resend alternative for personal and AI agent inboxes, with setup guided by your agent.
One product operation, every interfaceExtracting Product Spine from Ailised: shared operations for web, native clients, CLI, and agents, with explicit checks and an unfinished reference app.Career research & matching
Research jobs, match candidates, and provide AI coaching through the Ailised / Meepo engine.
In development
A career app with candidate and employer workspaces, powered by Ailised’s Meepo engine for research, matching, and inference. Recurring search scheduling in the TryMeepo app remains unconfigured.
AI product operating layer
Schedule AI research, coordinate Codex workers, and power products such as TryMeepo.
In development
Ailised includes Meepo, the scheduler and research engine behind TryMeepo. It dispatches scheduled research to Codex workers, tracks run progress, recovers queued work, and refreshes data products on schedules or collection updates. Shared chat, model configuration, and product operations are available through dashboard, HTTP, CLI, and MCP interfaces.
Bookmarks & personal library
Save, organise, and rediscover bookmarks, notes, images, and ideas.
Web & iPhone
A personal library with an encrypted vault per account, labels, saved views, search, and a native iPhone companion.
AI illustration studio
Create reusable characters and visual styles in a hosted illustration studio.
Web app
The hosted counterpart to the Mac app, with account sign-in, saved presets, character and style conversations, image generation, and credit management.
Personal knowledge engine
Turn documents, audio and online videos into searchable evidence and RAG answers.
Private engine
Built the ingestion and retrieval engine behind private web and iPhone clients: Whisper transcription, OCR, EmbeddingGemma semantic search, and SigLIP 2 and DINOv3 visual search. RAG retrieves source evidence for answers; video results link to matching timestamps. Integrated cookie sync for signed-in YouTube, X and TikTok downloads, including the Bukkumaku processing workflow.
Email for people & agents
Email for people and agents, with a browser inbox and scoped API access.
In development
Stalwart handles mail storage and delivery, Roundcube provides webmail, and Hermesaki adds a scoped API, MCP, durable sends, webhooks, and an operator view.
Advertising marketplace
Explore buying and selling advertising space on objects through interactive campaigns.
Local demo
A local marketplace demo for creating campaigns, selecting advertising spots, and reviewing demo orders. Production authentication and paid checkout are not connected.

Customisable agent orchestrator
Configure your agent team, delegate work through chat, and follow their progress.
In development
A highly customisable agent orchestration workspace with agent group chats, lead-agent delegation, shared files, a task-flow view, recovery tools, and sandbox-provider adapters. Headless Codex supplies the worker runtime; Linux Docker workers are implemented. Other machine types remain future work.
Community platform builder
Let hobby clubs describe, preview, and publish features for their own communities.
Local prototype
A local prototype with operator, community-admin, and member interfaces, plus a simulator for examining member journeys. Production authentication and external integrations remain open. The thumbnail is an illustrative community design concept.
Market research & valuation
Build a market evidence base to understand value, liquidity, and buying decisions.
In development
Collect market observations, compare listings, and review evidence for sourcing, valuation, and pricing decisions. The thumbnail illustrates comparing listings across different markets.

AI screenshot studio
Turn screenshots into thumbnails and social images using your own Codex account. Open source for macOS.
Open-source macOS app
Turn screenshots into thumbnails and social images using your own Codex account. Open source for macOS.
Managed community hosting
Managed Buzz relay hosting for private communities.
Buzz hosting
Managed Buzz relay hosting for private communities. YapHaus runs the relay, PostgreSQL, Redis, media storage, TLS, backups, updates, and monitoring while communities keep their Buzz clients and AI agents on their own machines.
A local macOS illustration studio for creating characters and visual styles through conversation, comparing reference scenes, and exporting reusable illustration skills. A signed and notarized Apple silicon app is available; generation uses your own Codex account.
An experimental, copyable product walkthrough studio with actor-based journeys, branching maps, playback, and capture/replay. Apps supply their own adapters and permissions. Includes a runnable reference demo.
Source you can copy and adapt: Codex account connection and a chat workspace with a result panel. Local macOS examples run real inference; the hosted gallery contains interactive mock demos.
A local macOS CLI and management app that stores environment variables in Keychain and supplies them to child processes. Git worktrees share their repository’s vault. Initial installation requires a local signed build.
A live terminal process table and scriptable CLI for inspecting local TCP listeners, their working directories, and resource usage on macOS and Linux. Available to install from source.
A local documentation server with file navigation, rendered and raw Markdown, syntax highlighting, heading links, and local assets. Available to install from source.
An isolated Rust proof of concept that verifies OIDC identity tokens, binds them to a user-controlled Nostr key, and exercises NIP-42 authentication. A runnable experiment, not a production SSO service.
Self-hosted Brave browsers for AI agents, controlled through MCP or REST. Keep logins and browser state in encrypted identities while replacing the workers that run them. Watch live, take over when needed, and set which domains each browser can reach.
Sandboxed Codex Desktop in a Docker container. Exposes its native browser, computer use, persistent threads, and OpenAI upgrades through one HTTP API, while pairing with Shimex for alternative inference providers.
Local OpenAI-compatible provider gateway for Codex Desktop. Routes Anthropic, DeepSeek, Ollama, LM Studio, Cloudflare Workers AI, ClinePass, and other providers through a managed Shimex.app while leaving the original Codex install untouched.
Markdown-first planning system for humans and coding agents. Turns plan files into a visible follow-up DAG, with CLI releases, web views, REST, MCP, and a resolution center for conflicting planning threads.
Open to founder or founding engineer roles, early-stage startup opportunities, and paid product engineering projects.
Tell me about the team, the role or project, and what you need help building.
Based in Hampshire. Muay Thai enthusiast—up for a little spar? Occasionally stealth camping across the UK. Lately into all kinds of racket sports.