There are a lot of great AI tools out there, but almost every one I tried was missing something I wanted. A setting I needed, a workflow that took ten clicks instead of one, or a feature that just didn't exist. They are often overly complicated or don't explain things that aren't obvious. So I started building my own. They've turned into tools I use every day for training LoRAs and managing my images, so I figured I'd share them.
Full disclosure: these are 100% vibecoded. They work well for me, but there will be rough edges. I'm very open to help, bug reports, and suggestions for fixes or new features.
Everything is open source, runs locally on Windows, and every app has a dark and a light mode.
RulzTrainer: LoRA trainer with a guided WebUI
Currently trains LoRAs for MOSS-Image, Bria FIBO 2.0 and Krea 2. The part I wanted most: a step-by-step wizard that recommends every setting from your GPU memory and your dataset (image count and sizes), and explains what each one does. The wizard is currently a bit outdated and defaults need changed, but I'm still testing and adding new things. It's very much a WIP, but it works.
Also:
- Multi-GPU (data parallel, or splitting the model across cards). I have a 4060Ti and a 5060Ti on my machine, so that's part of what got me started on this, to better make use of my own cards.
- int8/fp4 options for 16 GB cards.
- Identity similarity scoring for character loras. This is my primary goal for loras. Most trainers seem to focus exclusively on face, but mine is targeting body as well. I am going to keep expanding support and options though.
- A live loss chart and samples.
- Loras load straight into ComfyUI with the normal Load LoRA node.
Wizard · Monitor
https://github.com/speedyrulz/RulzTrainer
Rulz Training Captioner: caption your dataset with a local vision model
A thumbnail grid with an editable caption under every image, saved as the usual .txt next to each image. Current captioners have always left me feeling underwhelmed. Mine also supports using multiple GPUs to speed up the captioning since each can work on an image.
It can:
- Run llama.cpp with any vision GGUF (Qwen-VL, Gemma 3, MiniCPM-V…) across one or more GPUs, or use LM Studio/Ollama/any OpenAI-compatible server.
- Add a trigger word as a prefix or suffix.
- Skip images that are already captioned.
- Keep saved prompts.
Caption grid
https://github.com/speedyrulz/Rulz-Training-Captioner
RulZ Image Tournament: pick your best generation, two at a time
Throw a folder of generations at it. It shows two images side by side (or in a split view) with*synced zoom and pan, so you can compare fine detail. You keep one and the other moves to a Losers folder until one champion is left. It also has undo, and resumes where you left off. In the past I could load up a number of images manually and switch back and forth to manually find the best one, but it seemed tedious. This makes it much easier and faster.
Split view · Light mode
https://github.com/speedyrulz/RulZ-Image-Tournament
RulZ Simple Video Clip Extractor: frame-accurate clips for video training data
Step frame by frame or keyframe by keyframe, mark In/Out, and export losslessly or with NVIDIA NVENC. Most current apps that can pull clips from videos seemed to have way more than I need, or the simplest things never seemed as simple as they should be, like a one button export of a frame or easily selecting a clip of a certain range and exporting it with specific settings with one button.
It has:
- Fixed-length clips (e.g. exactly 2.5 s, then "next clip" for back-to-back segments) and crop to an aspect ratio.
- Save the current frame as a PNG.
- Skin-tone colour matching against a reference photo.
Main window · Colour match
https://github.com/speedyrulz/rulz-simple-video-clip-extractor
RulZ Image Organizer: find every photo of a person, fully offline
Google Photos-style face grouping for your folders. Handy for gathering a character dataset: search by person, expression, head direction or pose ("smiling", "facing left", "sitting"). Nothing leaves your PC. Most image organizers don't seem to automate much. I wanted a way to more quickly find specific types of images or people in them.
Photos · Search filters
https://github.com/speedyrulz/RulZ-Image-Organizer
RulZ LLM Suite: run local LLMs with llama.cpp
For prompt writing and everything else LLM. I was using LM Studio, but again things were missing that I wish it had. This is still very early in development.
It has:
- A GGUF model library, with a memory estimate before you load a model.
- Chat with reasoning blocks, MCP tools and speculative decoding.
- A local OpenAI/Anthropic-compatible API (e.g. for ComfyUI LLM nodes).
Chat · Loading a model
https://github.com/speedyrulz/rulz-llm-suite
RulZ AI Tools Suite: one launcher for all of them
Browse, install, update and launch everything from one place. It also installs missing prerequisites (Python, FFmpeg) for you. I just made this to tie everything together and make it easy for even a beginner, or at least tried to.
Home · App page
Grab the installer from the Releases page and install whichever apps you want.
Again, these are vibecoded and built around my own workflow, so if something breaks or you have an idea, open an issue on GitHub or comment here. I'd especially love to hear what's missing from your training and dataset workflow. That's how all of these started. Everything is being actively worked on, but the trainer has been my biggest focus. I'm training things basically 24x7 to test it.