From 19faee2607428ec6aac3918b2d240ca17bb0e813 Mon Sep 17 00:00:00 2001 From: marauder-actual Date: Wed, 10 Jun 2026 22:49:46 +0200 Subject: [PATCH] =?UTF-8?q?Update=20Open=20Source=20section=20=E2=80=94=20?= =?UTF-8?q?aladac=20repos,=20new=20descriptions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cv.pdf | Bin 66127 -> 66020 bytes cv.tex | 12 ++++++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cv.pdf b/cv.pdf index 0feb108c29df34823b4b79600b7fd2da7d94c4eb..5bfd3ce49b29fdb4fbdd0470707da80fe0cf5ad7 100644 GIT binary patch delta 6764 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 diff --git a/cv.tex b/cv.tex index 0c8e835..e6cb90e 100644 --- a/cv.tex +++ b/cv.tex @@ -150,12 +150,12 @@ model fine-tuning, and a semantic memory system. \vspace{2pt} \begin{tabularx}{\textwidth}{@{}l X@{}} - \textbf{tensors} & Python CLI for safetensor files, CivitAI model management, and image generation via ComfyUI / stable-diffusion.cpp. Published on PyPI. \newline \textit{\href{https://repos.saiden.dev/saiden/tensors}{repos.saiden.dev/saiden/tensors}} \\[8pt] - \textbf{browse} & TypeScript MCP server for headless browser automation in Claude Code. \newline \textit{\href{https://repos.saiden.dev/saiden/browse}{repos.saiden.dev/saiden/browse}} \\[8pt] - \textbf{madcat-tts} & Python GPU TTS daemon --- multi-engine voice synthesis with Chatterbox, Piper, VoxCPM2, and XTTS. \newline \textit{\href{https://repos.saiden.dev/madcat-os/madcat-tts}{repos.saiden.dev/madcat-os/madcat-tts}} \\[8pt] - \textbf{lora} & LoRA fine-tuning toolkit --- persona and specialist adapters for Qwen models (Unsloth, H100/H200). \newline \textit{\href{https://repos.saiden.dev/madcat-os/lora}{repos.saiden.dev/madcat-os/lora}} \\[8pt] - \textbf{spark} & Recipes and scripts for fine-tuning on the NVIDIA DGX Spark (GB10). \newline \textit{\href{https://repos.saiden.dev/madcat-os/spark}{repos.saiden.dev/madcat-os/spark}} \\[8pt] - \textbf{chat-saiden} & Web chat application --- Python/FastAPI, Google OAuth, persona calibration, SSE streaming, TTS integration. \newline \textit{\href{https://repos.saiden.dev/madcat-os/chat-saiden}{repos.saiden.dev/madcat-os/chat-saiden}} \\ + \textbf{tensors} & CLI toolkit for inspecting safetensor files, downloading CivitAI models, and generating images. \newline \textit{\href{https://repos.saiden.dev/aladac/tensors}{repos.saiden.dev/aladac/tensors}} \\[8pt] + \textbf{browse} & Browser automation MCP server that gives AI agents full control of a Playwright session. \newline \textit{\href{https://repos.saiden.dev/aladac/browse}{repos.saiden.dev/aladac/browse}} \\[8pt] + \textbf{chat} & Web chat interface with persona calibration, SSE streaming, and real-time TTS playback. \newline \textit{\href{https://repos.saiden.dev/aladac/chat}{repos.saiden.dev/aladac/chat}} \\[8pt] + \textbf{madcat-say} & On-device voice cloning CLI built on VoxCPM2, running natively on Apple Silicon via MLX. \newline \textit{\href{https://repos.saiden.dev/aladac/madcat-say}{repos.saiden.dev/aladac/madcat-say}} \\[8pt] + \textbf{lora} & LoRA fine-tuning pipeline for building persona, specialist, and voice adapters. \newline \textit{\href{https://repos.saiden.dev/madcat-os/lora}{repos.saiden.dev/madcat-os/lora}} \\[8pt] + \textbf{spark} & Recipes and tooling for fine-tuning models on the NVIDIA DGX Spark. \newline \textit{\href{https://repos.saiden.dev/madcat-os/spark}{repos.saiden.dev/madcat-os/spark}} \\ \end{tabularx} %---------- SKILLS ----------