16 projects  ·  7 plugins

Projects

A working list of things I have built. Some are open source, some are client work, some are research code. They are grouped by what they are for rather than by what they are written in.

01Agent harnesses

The layer between a language model and software that already exists. My view: most teams give the model the wrong surface, raw tables and generated specs, and then blame the model when it guesses.

  1. Reins

    Python

    A lightweight harness you bolt onto an existing app so an LLM can operate it. Point it at functions you already have, or at your SQLAlchemy or Django models, and hand it a goal in plain language. It works out which operations to call and in what order, runs them through your own code rather than raw SQL, and returns the result.

    • ask() is read-only and cannot write; writes are opt-in and gated by policy, approval and audit. That boundary is enforced in code, not in a prompt the model can talk its way around.
    • Agent.from_orm(...) introspects models into intent-named verbs such as find_orders and get_user_by_email, preferring unique natural keys over internal identifiers.
    • Anthropic, OpenAI, Gemini, Groq, Z.ai, Ollama and vLLM in the box; agent.explain() shows every call it made and why.
  2. Veldra

    Python · Vue 3

    A self-hostable, local-first agent-harness platform. The load-bearing idea: an agent is data, not code, a versioned AgentSpec row in Postgres. "Build me an agent" compiles natural language into a validated spec; "change it" is a JSON-Patch you approve; the runtime is a pure interpreter of the current version.

    • Natural-language agent and team construction, with a coordinator plus specialists and depth-capped delegation.
    • MCP connectors alongside built-in tools; side-effecting connector tools require explicit approval.
    • Editable knowledge bases with per-KB retrieval mode, embedding model, reranker and vector store; citations carry page, section and character span.
    • A visual workflow builder, and agents that accumulate lessons from feedback and from their own failed tool calls.
  3. Actor-model multi-agent swarm engine: goroutine-per-agent routing, swarm handoff with depth-limited chains, an extensible skill system, provider fallback, and Telegram and Discord integration. Single binary, roughly 50 MB of RAM.

  4. Production-shaped multi-agent system on LangGraph Platform: specialised agents, multi-provider LLM support, LangGraph Studio compatibility.

02Machine learning for biology

  1. Anti-inflammatory peptide prediction

    Python · ongoing

    A two-stage stacking ensemble combining roughly 2,282 hand-crafted sequence descriptors with 1,280-dimensional ESM-2 protein language model embeddings. The real contribution is not the architecture. It is the dataset: earlier methods drew negatives from random UniProt proteins, which quietly reduces the task to "short peptide versus long protein" and inflates accuracy. Experimentally validated negatives from the same IEDB T-cell assays as the positives give the harder numbers that follow.

  2. An end-to-end virtual-screening pipeline: integrate per-virus bioactivity data with full provenance, standardise and harmonise units to nM, split by Bemis–Murcko scaffold clusters with zero overlap, train virus-specific ChemProp ensembles and classical models, screen the COCONUT library of 400k+ natural products, filter PAINS and toxicophores, enforce scaffold diversity, dock survivors against ligand-informed structures, and prioritise by consensus. Strict per-virus isolation throughout: HIV-1 protease, HCV NS3/4A, SARS-CoV-2 Mpro, Dengue and Zika NS2B-NS3.

03Sports science and biomechanics

  1. Athlete Intelligence

    Go · Next.js 16 · Python · AlgolyzerLab

    Multi-tenant athlete performance management for elite sport, built on an IOC-aligned clinical domain: athlete registry, injury and illness register, screening, fitness testing, workload, return-to-play and dashboard analytics, with strict tenant isolation and a soft-delete-first data model so medical history is never destroyed. A separate GPU service runs RTMPose (Halpe-26) over ordinary video and turns it into clinical movement metrics using 2-D geometry and multi-view triangulation.

  2. Cricket Bowling Analyzer

    Python · Go · AlgolyzerLab

    Biomechanical analysis of a bowling action from a webcam, a video, or a single image. MediaPipe gives 33 landmarks; twelve of them and some plain trigonometry give front-knee angle, elbow extension, trunk side-bend and shoulder rotation, all checked against injury-risk ranges and the ICC 15° elbow-extension rule. The Go version tracks 18 parameters at 30+ FPS, holds player profiles by bowler type, and generates PDF reports.

04Agriculture AI

  1. Agri Remedy

    FastAPI · React 19 · TypeScript

    Farmers upload a drone flyover; the app finds diseased patches and explains, in plain English or বাংলা, what the problem is and what to buy for it.

    • DINOv2-Small as a frozen feature extractor with staff-trained linear-probe heads. The backbone supplies general visual understanding for any crop, and the crop-specific knowledge comes from labelled photos.
    • Three-tier fallback so every crop works on day one: trained linear probe, then a k-NN centroid gallery, then a zero-shot colour and texture heuristic with confidence capped well below a trained model.
    • Canopy and lesion segmentation drives severity as affected canopy area, the snapshot crop, and the anomaly mask; ISO-6709 GPS tags read from video metadata via ffprobe pin findings on a representative aerial frame.
    • A staff console for the disease library, the product catalogue and the per-crop models: label boxes on real photos, train, and read a genuine cross-validated accuracy.

05Healthcare software

  1. ChemberIQ

    Go · Vue 3 · Flutter · AlgolyzerLab

    A medical case-management platform for doctors and clinics: public doctor portfolio, secure clinical CRM, AI chatbot, real-time doctor-to-patient WebSocket chat, and an offline-first Flutter app. The doctor types their clinic website, the app discovers the backend, downloads the dataset, and works fully offline, behind a big-text, big-button UI designed for older doctors. Search is a purpose-built in-memory engine that replaced a Meilisearch dependency entirely.

06Systems and developer tools

  1. Zero-dependency library for SSIM and MS-SSIM guided perceptual image compression: quality targeting, batch worker pools, auto format selection, Lanczos-3 resize, EXIF auto-orientation, a target-file-size engine, and context-aware cancellation. 60 to 90% size reduction at SSIM ≥ 0.94.

  2. Terminal system monitor with per-core CPU, cross-platform GPU support (NVIDIA via nvidia-smi, AMD via ROCm, Intel via sysfs, Apple Silicon via powermetrics), disk I/O, network throughput, battery, and top-process tracking.

  3. RAG-Scout

    Python

    Benchmarks sparse, dense, hybrid, late-interaction and reranked retrieval stacks on any question-and-answer dataset, then tells you which one to actually build on.

  4. Laptop-friendly lexical substitution: prompted generation via 4-bit causal LLMs, POS and morphological filtering (spaCy and pymorphy3), log-prob and cosine ranking, research-grade metrics (P@1, Recall@k, GAP, ProF1), and a YAML registry for swapping models without code.

  5. Web app over Microsoft VibeVoice text-to-speech: train a voice from uploaded or recorded audio, multi-speaker synthesis up to four speakers, cloning, real-time audio visualisation, and a voice library.

  6. PlugBot

    Next.js · FastAPI

    Dashboard for running many Dify apps and Telegram bots at once: streaming replies, health checks, encrypted secrets, one-command Docker deploy.

07Dify plugins

Published for the open-source Dify community.

  • GigaChat model provider

    Sber GigaChat chat, vision, function calling and embeddings with configurable scopes and SSL handling.

  • PDF to image converter

    Page rasterisation with DPI and quality options, file URLs, batch processing.

  • Nmap network scanner

    Port, OS, service and vulnerability scans with safe-mode defaults and JSON or XML output.

  • Together AI image

    Text-to-image generation with the FLUX.1 family.

  • FLUX Fill Pro

    Professional inpainting and outpainting.

  • Telegram

    Full Telegram Bot API integration.

  • Slack

    A class-based Slack bot for any Dify-compatible application.

The full list, including the experiments that did not work out, lives on GitHub.