~*~ Portfolio

# Projects

The portfolio is grouped by kind of work rather than by rank: applied systems, research projects, and interactive explainers or earlier experiments that still matter for lineage.

Applied Systems

Product-shaped systems and workbenches built around real workflows, explicit evaluation, and operational constraints.

Applied SystemsDocument Intelligence + Insurance AI · 2026

# Aegis

Research Prototype

Underwriting teams receive messy, multi-format claim packs. The goal is to convert those artifacts into an auditable, typed case summary with linked evidence so reviewers can reason faster and more consistently.

Problem

Scanned PDFs, photos, and dashboard screenshots resist search and comparison, and rarely map cleanly to policy clauses. This creates manual re-keying, fragmented provenance, and variability in how similar cases are assessed.

Approach

A modular intake pipeline that chains OCR (DeepSeek), visual reasoning (Qwen3-VL), local retrieval over uploaded artifacts, and a typed report generator. The Next.js app exposes both mock and live paths so the end-to-end flow is reproducible in demos and safe without external credentials.

Impact

  • * Produces a structured, citation-rich memo with links back to the original artifacts for auditability.
  • * Reduces copy-paste by normalizing extracted facts into a typed schema that downstream tools can consume.
  • * Pairs naturally with ParaEval: Aegis extracts and justifies evidence; ParaEval adjudicates formal trigger decisions.
DeepSeek OCRQwen3-VLRAGOpenRouterUnderwritingNext.js
Applied SystemsHR Tech + NLP · 2026

# Job Intelligence Engine

Production System

A production job-architecture mapping system behind a compensation benchmarking platform. Maps client job titles to standardized occupation codes with explicit confidence signalling so coverage is never confused with accuracy.

Problem

HR teams struggle with inconsistent job titles across companies and regions. Manual slotting is subjective; automated systems fail on abbreviations, noisy titles, and cross-cultural variations without systematic taxonomy alignment.

Approach

A deterministic, explainable mapping engine built on a unified occupation spine synthesized from multiple public taxonomies. Retrieval and calibrated similarity match client titles to occupation codes, with separate auto-accept, human-review, and abstain signals so the system always returns a valid code while staying honest about confidence. Proprietary work — implementation details available on request.

Impact

  • * Owns the core mapping engine behind a live compensation benchmarking platform.
  • * Always returns a valid occupation code while separately emitting confidence signals, so coverage is never confused with accuracy.
  • * Built on a unified occupation spine aggregating multiple public occupation taxonomies with pay-calibrated grade bands.
  • * Full-stack delivery: FastAPI backend, Next.js dashboard, PostgreSQL, Redis, and AWS deployment across dev/staging/production.
Job ArchitectureOccupation TaxonomyEmbeddingsPay BenchmarkingFastAPINext.jsAWS
Applied SystemsLLM Narrative Framework · 2026

# NarrativeWorlds

M.Phil. Thesis · HKUST

An architectural framework for authorial control and game-state consistency in LLM-driven interactive digital narratives. Four components: typed authoring, social orchestration, operational state estimation, and consequence governance.

Problem

LLMs broaden player input in interactive narratives, but their social reasoning remains hidden and dialogue can diverge from recorded game state. Authors need enforceable authority over construction, change, review, and reversal — not just perceived control.

Approach

Four bounded propositions implemented as separate systems: (1) Narrative Anvil converts conversational requests into typed, validated, reversible world edits. (2) NarrativeHive records Perception, Stance, and Opinion before reply generation in a multi-agent pipeline. (3) NarrativeSignals predicts a 29-field NPC social state from synthetic-teacher supervision across 15 trained models. (4) NarrativeTown governs provenance-linked session updates with deterministic social resolution and NLI-grounded review policies.

Impact

  • * Narrative Anvil: typed validation contains malformed proposals; matched comparison measures containment rather than semantic quality.
  • * NarrativeHive: 33-participant within-subjects study; positive paired differences on two composites passed within-composite correction.
  • * NarrativeSignals: 15 models trained (dense GPT, PrefixGPT, MoE, Mamba-like, DistilBERT, LoRA/QLoRA, Qwen3-4B with 29 classification heads); basic router reached test F1 = 0.686.
  • * NarrativeTown: accepted updates remained schema-valid, added no structural contradictions, and preserved projection agreement on tested paths.
LLM SystemsMulti-AgentSocial-State ModellingCanon GovernanceAuthoring ToolsEvaluation
Applied SystemsGenerative Narrative Systems · 2026

# Orchid v2

Operational Prototype

A narrative authoring runtime that turns Orchid from a research concept into an operational tool: card decks, stage boards, prompt inspection, and admin controls in one coherent workspace.

Problem

Narrative AI tools often stop at playful generation. They rarely give authors a real production surface for structuring worlds, inspecting prompt/runtime behavior, and managing story state as a system.

Approach

Evolve the original Orchid card-and-graph idea into a multi-surface workbench with deck creation, stage orchestration, LLM/runtime inspection, JSON import-export, and admin settings for deployment defaults.

Impact

  • * Repositions Orchid as a credible product system rather than only a paper prototype.
  • * Makes the authoring pipeline legible: writers can move from world ingredients to stage logic to prompt/runtime debugging in one place.
  • * Creates a stronger portfolio bridge from earlier interactive narrative research to current operational AI product work.
Narrative RuntimeAuthoring ToolsLLM SystemsPrompt OpsReactSystem Design
Applied SystemsBackup & Recovery + Windows Systems · 2026

# SqlVault

Deployed Product

A Windows client-side backup agent that backs up SQL Server databases into a single vendor-owned Google Drive account, organized per customer. Customers never touch Google credentials; storage belongs to the vendor.

Problem

Small businesses running SQL Server Express have no SQL Server Agent for scheduled backups, and managed backup services add a cloud intermediary that owns customer data. Vendors need a way to run scheduled, verified, encrypted backups into their own storage without exposing customer credentials.

Approach

Single Windows Service hosts a Quartz scheduler, backup orchestrator, localhost API, and Blazor Server dashboard. The validation pipeline gates every run: preflight (ACL, disk, DB allowlist, SQL connection) -> BACKUP DATABASE -> RESTORE VERIFYONLY -> deep restore to a temp DB -> AES-256-GCM encryption -> ZIP v3 packaging -> Google Drive resumable upload -> cleanup. DPAPI secures credentials; RSA-signed time-limited support tokens unlock on-site setup. GFS retention, scheduled revalidation, and point-in-time restore chains round out the operational model.

Impact

  • * Ships as an MSI installer with a Setup.exe bootstrapper; release-gate E2E tests run against a real SQL Server 2022 instance before tagging.
  • * Validation pipeline proves restorability end-to-end: VERIFYONLY plus a deep restore to a scratch database with a health probe before upload.
  • * Vendor-owned storage model keeps customer data in one Google Drive account, organized by auto-created customer folders, with no customer Google credentials involved.
  • * Background intelligence handles GFS retention, 7/30-day revalidation, missed-backup recovery, and dual-audience email notifications (admin detail vs. customer summary).
SQL ServerBackupAES-256-GCMGoogle DriveBlazor Server.NET 10Windows ServiceQuartz.NET
Applied SystemsBackup & Recovery + Rust Systems · 2026

# SqlVault2

Production Pilot

A recoverability-first rewrite of SqlVault in Rust. Encrypts SQL Server databases with AES-256-GCM, uploads artifacts to Google Drive or local storage, and exposes a loopback-only web UI for administration. The north star is verified restoreability, including recovery after the original host and local SQLite metadata are unavailable.

Problem

The .NET version proved the product, but recoverability is the real contract. A backup system that cannot restore after host loss, metadata loss, or key loss is a liability. The rewrite makes restoreability the primary acceptance criterion and hardens every layer around it.

Approach

Spec-driven Rust workspace split into core, security, artifact, data, integrations, engine, host, and testkit crates. Streaming AES-256-GCM encryption with resumable uploads, automatic restore drills on every full backup, a clean-host restore CLI subcommand, KEK ring with passphrase-protected recovery key export/import, and an HMAC-chained audit log that fails closed without a key. Loopback-only binding, CSRF, Origin checks, CSP, and rate limiting secure the web surface.

Impact

  • * Every successful full backup is queued for a background restore drill: restored to a scratch database, DBCC CHECKDB-verified, dropped, and certified.
  • * Clean-host restore subcommand recovers a database on a machine with no prior SQLite catalog, using only the cloud artifact and a documented recovery key.
  • * File backup (ENG-028) adds FastCDC content-defined chunking with per-chunk AES-256-GCM, SHA-256 deduplication, glob exclusions, and delta sync manifests.
  • * Release gate requires a lost-host restore drill: produce an encrypted artifact, remove the host and SQLite catalog, then restore using only the cloud artifact, recovery key, and released binaries.
RustSQL ServerBackupAES-256-GCMGoogle DriveRecoverabilityFastCDCSpec-Driven
Applied SystemsAgentic AI + Algorithmic Trading · 2026

# TraderBro

Operational Prototype

A 24/7 self-improving agentic AI trader on Deriv and cTrader. A deterministic engine of ~30 indicators, market-structure signals, volume profile, and multi-timeframe checks gates every trade; an LLM council sits around it as a tie-breaker and risk-only veto. Learns from every outcome via a persistent SQLite journal, calibration, and backtested strategy promotion.

Problem

Retail trading bots either hand all decisions to an LLM (uncontrollable, hallucinates prices) or freeze a single strategy (no adaptation). Neither survives contact with live markets. The task was to build a system where the AI can reason but can never invent data, loosen risk, or place a trade the deterministic gates did not approve.

Approach

Two brains, one loop. A fast deterministic pipeline scores every candidate through quality, expected-value, and hard risk gates; an LLM breaks ties inside the loop and can only veto or shrink size after the gates. A slower council (analysts → bull/bear debate → risk manager → portfolio manager) runs on a cadence with read-only data tools — no execution tool exists. Strategies are data (StrategySpec), not code; challengers replace champions only on out-of-sample data. Demo-first with a two-lock promotion gate before any real money.

Impact

  • * Brokers: Deriv (WebSocket + REST) and cTrader (Open API + MCP), behind a neutral BrokerAdapter so core modules never branch on broker.
  • * Risk guardrails enforced in code: per-trade stake, exposure caps, daily-loss stop, drawdown kill-switch, loss-streak cooldown — all customer-editable with plain-language hints; the LLM can only tighten them.
  • * Persistent memory: decision journal, outcome reconciliation, calibration (predicted vs realized), and lessons fed back into future reasoning.
  • * Ships as standalone binaries (macOS/Windows via Nuitka/PyInstaller) and a React 19 + Vite dashboard with an interactive agent-council graph and strategy builder.
Agentic AIAlgorithmic TradingDerivcTraderLLM CouncilRisk GuardrailsPythonReact 19Vite
Applied SystemsDocument Intelligence + Computer Vision · 2026

# Vine Suite

Operational Prototype

A unified wine analysis API that verifies bottle identities through OCR and Vision Language Models. Combines web image search, multi-engine OCR, and VLM verification into a scored ranking pipeline.

Problem

Wine e-commerce and inventory systems struggle to verify that product photos match claimed SKUs. Manual checks do not scale; naive image search returns noisy results without semantic verification.

Approach

Orchestrate OpenSerp search with parallel OCR (EasyOCR, Tesseract, PaddleOCR) and VLM verification (Gemini, Mistral, Qwen, PaddleVLM). Aggregate signals into a scored ranking with configurable strictness levels.

Impact

  • * Multi-provider VLM support enables fallback and comparison across model capabilities.
  • * Batch processing API supports high-throughput verification workflows.
  • * Docker Compose orchestration deploys the full stack (nginx, Next.js frontend, FastAPI backend, OCR microservice) behind a single reverse proxy.
VLMOCRFastAPINext.jsDockerComputer Vision
Applied SystemsAI Workflows + Brand Strategy · 2025

# BrandStack Studio

Operational Prototype

A specialized AI workspace for brand strategists. A full-stack platform with a multi-provider model router, LangGraph workflow orchestration, tiered context retrieval, and 10 agent personas — workflow-first, chat-second.

Problem

Generic AI chatbots do not fit brand strategy work. Strategists need structured workflows, project-specific templates, tiered context with token budgets, and export to real deliverables — not a blank chat box.

Approach

FastAPI backend and Next.js frontend with per-user encrypted API keys for NVIDIA, OpenRouter, DeepSeek, OpenAI, Anthropic, and Qwen. A multi-provider model router with fallback chain and LangGraph workflow orchestration with streaming SSE. Tiered context retrieval with token budgets, 10 agent personas (brand strategist, hospitality specialist, naming director, and more), a 16-step hotel branding workflow with project type-specific templates, and a project dashboard with workflow-aware AI chat, multimodal attachments, brainstorm mode, and saved outputs with versioning.

Impact

  • * Workflow-first, chat-second: the product feels like a calm brand strategy studio rather than a generic AI chatbot.
  • * Multi-provider model router with fallback chain across six LLM providers, keys encrypted per-user.
  • * Export to Markdown, DOCX, Deck JSON, InDesign .idjs, IDML, and PPTX — real deliverables, not just text.
  • * Red-team and internal critique modes built into the workflow for self-review before client delivery.
FastAPINext.jsLangGraphMulti-Provider LLMBrand StrategyWorkflow OrchestrationSSE
Applied SystemsParametric Insurance + AI Evaluation · 2025

# ParaEval

Research Prototype

A workbench to adjudicate parametric trigger decisions against multi-source evidence. It makes the decision path explicit and expandable so reviewers can trace Situation -> Task -> Action -> Result for each case.

Problem

Policies trigger on index values (gauges, satellite, APIs) rather than on verified loss. Near-threshold disagreements across sources create ambiguity and hidden basis risk without a shared reasoning frame.

Approach

Normalize heterogeneous sources, apply a deterministic decision algorithm, surface disagreement as first-class basis risk, and regression-test the engine against golden cases. The contract layer (Zod) mirrors future Pydantic models for a clean TS<->Python bridge.

Impact

  • * Transparent rule-trace and narrative output suitable for review memos and audits.
  • * Explicit basis-risk classification highlights why sources diverge and how that affects confidence.
  • * 31 unit tests cover algorithm branches to prevent silent regressions as cases and rules evolve.
Parametric InsuranceZodSQLiteLLM ExtractionEvaluationNext.js
Applied SystemsML Systems + Rust · 2025

# Rustral

Active Development

A 24-crate Rust neural network framework for auditable, backend-agnostic NLP research. Designed around three commitments unusual in the deep learning framework landscape: no hidden global state, backend-independent model definitions, and reproducibility by construction.

Problem

Mainstream deep learning frameworks hide global state (silent train/eval toggles, global tensor registries), couple model definitions to specific backends, and make reproducibility an afterthought. This makes NLP research audits painful and cross-framework benchmarking unreliable.

Approach

Every forward pass receives an explicit ForwardCtx carrying backend, training/inference mode, run ID, shape policy, and optional profiler — no silent model.train()/model.eval() toggle or global tensor registry. Layers written against Backend and TensorOps traits run unchanged on a reference CPU backend (ndarray + SIMD), an optimized Candle backend (CUDA/Metal), and an experimental WGPU backend with native WGSL compute shaders. Every benchmark, training run, and inference run emits a schema-validated JSON manifest recording machine metadata, git SHA, dataset checksums, hyperparameters, and raw timing distributions with 95% confidence intervals, validated in CI.

Impact

  • * 24-crate workspace with 700+ tests enforcing the no-hidden-state and reproducibility contracts.
  • * Three interchangeable backends (ndarray/SIMD CPU, Candle CUDA/Metal, WGPU) running the same model definitions unchanged.
  • * Schema-validated JSON manifests with machine metadata, git SHA, dataset checksums, and timing distributions make every run independently reproducible.
  • * Cross-framework operator benchmarking and a proposed Cross-Backend Consistency Regularization technique.
RustNeural NetworksML FrameworkGPUReproducibilityBenchmarkingCUDAMetalWGPU
Applied SystemsRenewable Energy + Time Series Forecasting · 2025

# Windenergy

Deployed Installation

Wind power forecasting system that predicts turbine power output with uncertainty intervals. Combines SCADA observations with weather covariates to answer: what power should operators expect, and how uncertain is that forecast?

Problem

Wind farm operators need reliable power forecasts for grid integration, maintenance scheduling, and trading. Naive predictions lack uncertainty quantification, making it hard to plan for variability and assess operational risk.

Approach

Fuse SCADA data with weather context using PatchTST transformers and gradient boosting models. Apply conformal prediction for calibrated P10/P50/P90 intervals. Deploy via FastAPI (port 8765) and Streamlit dashboard (port 8766) with Docker containerization.

Impact

  • * Deployed on VPS with Docker Compose, accessible at skumyol.com/wind/.
  • * Clean Architecture separates domain, application, infrastructure, and interface layers.
  • * Chronological train/val/test splits prevent temporal data leakage.
  • * API provides /forecast, /risk/ramps, /risk/assess endpoints with structured JSON responses.
Wind PowerTime SeriesForecastingConformal PredictionStreamlitFastAPIPython

Research Projects

User-facing research prototypes and installations that informed the later system work.

Research ProjectsOperating Systems + AI · 2025

# Tolun OS

Active Development

An adaptive Linux operating system that places AI as a first-class system component rather than a mere application. A fully declarative, immutable NixOS Flake distribution with a natural-language intent translator, a custom Tolun-LLM core, and Rust daemons speaking over D-Bus. Contributor project.

Problem

Desktop Linux treats AI as an application layer bolted on after the fact. System configuration, automation, and user intent still require deep technical knowledge, and there is no shared architecture for routing natural-language intent safely into OS-level operations.

Approach

A translator layer takes user intent in natural language and safely routes it to the system. A custom Tolun-LLM core plus optional external LLM proxy and Rust daemons speaking over D-Bus form the architecture. V1 is a single-developer dogfooding phase with three personas (Life, Atelier, Child), multiarch x86_64 and aarch64, AI via candle and llama.cpp with no Python runtime dependency, built on KDE Plasma 6. Security includes AppArmor and bwrap sandboxing, sops-nix and agenix encrypted keys, a BLAKE3 audit chain, security witness collection, and intent-token MAC with monotonic attenuation.

Impact

  • * Declarative, immutable NixOS Flake base with multiarch x86_64 and aarch64 support.
  • * AI runs via candle and llama.cpp with no Python runtime dependency — a first-class system component, not an app.
  • * Security-first: AppArmor, bwrap sandboxing, encrypted keys, BLAKE3 audit chain, and intent-token mandatory access control with monotonic attenuation.
  • * Three personas (Life, Atelier, Child) for single-developer dogfooding.
NixOSLinuxAIRustD-Buscandlellama.cppAppArmorDeclarative
Research ProjectsGenerative AI + Wellbeing · 2024

# SeaSense

Deployed Installation

Public spaces rarely invite slow, shared reflection. The task was to turn ordinary text about feelings into a collective, ambient visualization people could contribute to on the spot.

Problem

Emotion tech often collapses nuance into fixed labels, discouraging participation and limiting personal resonance in public settings.

Approach

Use an LLM to interpret free-text emotions and drive a 3D flower generation pipeline in Unity. Add gentle guardrails for privacy/moderation and a phone-friendly input flow for walk-up participation.

Impact

  • * Week-long deployment with 300+ contributions created a continuously evolving garden.
  • * Follow-up interviews indicated increased curiosity and deeper reflective engagement.
  • * Operational playbook for on-site setup, moderation, and teardown is now repeatable.
GenAIEmotion AI3D PipelineUnityHuman-Computer Interaction
Research ProjectsHealthcare AI + Speech · 2023

# AlzDetect (HK-GenSpeech)

Research Prototype

Early cognitive screening works better when it feels conversational and culturally local. The task was to open the doorway: keep rigor while inviting richer speech.

Problem

One-size prompts constrain expression, create fatigue, and miss culturally specific cues that matter for clinical interpretation.

Approach

Generate localized image prompts and model speech with Wav2Vec2 to derive cognitive indicators. Collect a new Cantonese dataset and compare reliability/error against conventional baselines.

Impact

  • * 423 descriptions from 141 Cantonese speakers (55-94) established a local evidence base.
  • * AI-generated prompts matched baseline reliability while mixed stimuli reduced prediction error.
  • * Pointed to next steps: longitudinal tracking and fairness checks across demographics.
Speech AIWav2Vec2Clinical NLPEvaluationGenAI

Explainers And Earlier Work

Interactive explainers and earlier systems that still matter as part of the broader technical arc.

Explainers And Earlier WorkBayesian NLP Education · 2026

# MorphoSeg CRP/HDP Explorer

Interactive Explainer

Students and practitioners struggle to build intuition for CRP/HDP morphology. The task is to make the abstract process tangible and testable so people can connect symbols to outcomes.

Problem

Without an interactive mental model, reuse vs. novelty, concentration parameters, and segmentation quality feel like disconnected equations rather than one system.

Approach

Animate the CRP/HDP generative story (reuse vs. novelty) and pair it with runnable train/test experiments on English, Finnish, and Turkish datasets so users can tune priors and observe effects.

Impact

  • * Moves from metaphor to measurable results in one place (no context-switching).
  • * Reduces ramp-up time by letting users observe how priors change segmentation quality.
  • * Bridges paper-level theory and reproducible interaction in the same learning flow.
Dirichlet ProcessHDPMorphological SegmentationEvaluationInteractive
Explainers And Earlier WorkNLP Visualization · 2026

# Word Embedding Explorer

Interactive Explainer

An interactive 3D explorable that turns embedding math into spatial intuition. Visitors can fly through clusters and watch familiar analogies line up in space.

Problem

300-D embeddings are powerful but opaque; it is hard to build intuition for neighborhoods, axes, and analogies from numbers alone.

Approach

Reduce 300-D Word2Vec vectors to 3D via PCA, then render an efficient Three.js scene with labeled clusters and vector hints (e.g., king - man + woman -> queen).

Impact

  • * Reveals countries, capitals, emotions, and tools as stable spatial groupings.
  • * Shows classic analogy vectors directly in the scene to connect equations with perception.
NLPWord2VecThree.jsDimensionality ReductionInteractive