Inspiration :
I built this tool because I needed to use it. New LLM versions had updated features but highly downgraded performance for generating the example turn datasets required for fine tuning. I i am doing important alignment work and needed an option for quality fine tuning data. I couldn’t find one. So I built one.
What it does.
SFT Studio pro first asks you to choose a category for the model you’d like to built out of five preset templates. It asks you to create a system prompt, a target goal, a golden example and a list of rules and constraints for your model, and then choose instruct or conversational training format. When you’re ready to commit, it permanently locks the project definition to ensure data accuracy. Next, you create batches. This requires choosing a batch description (i.e. humor) and any special instructions or restrictions that will apply to this batch only. If using conversation template, you can choose reasoning, single turn or multi turn examples. Then you choose the quantity of examples that will be created for this batch. Lowest is 5, highest is 250. Click generate and the app will produce and display your examples. You can look them over and if you’re happy with the results, approve it and it will add to the data registry. If unhappy, reject batch, edit instructions and regenerate. Create as many or as few batches as you choose. There is also a document converter, where you can upload documents and transcripts and the app will convert them into usable batches formatted to your projects locked definitions. There is an optional brand alignment system you can select or bypass, and finally a thorough example by example quality editor which analyzes your batches and flags any incorrect formatting, duplicates or drift from target goals. You can ignore flags, edit each example individually or have the QA automatically regenerate flagged responses based on its own recommendations. The last step is to choose your format based on common industry arctichtures including ChatML, DeepSeek reasoning, Alpacca, and several others and convert the data set into final form with a 10% validator split ready for download in JSON for human audit or JSONL ready for the training pipeline. Viola! A high quality, personally or enterprise ready fine tuning data set for LLM training. Easy enough for beginners, but built sophistication to satisfy a machine learning lab all in one package.
How we built it;
I built this app by vibe coding in Google AI studio. Yes it was incredibly difficult to vibe code an agent to generate code to train an agent to train another agent. Meta and recursive with hilariously maddening debug sessions. But the time spent was worth it. This app is legitimately brilliant and a gift to machine learning developers.
Challenges we ran into:
Gemini is highly derp. Because of the nature of model training, the agent frequently mistook instructions for the app as instructions for itself, particularly around the reasoning template. Me: Make the reasoning template produces legitimate, high functioning traceable train of thought reasoning outputs. Gemini (after a very long work session) “I have written a hard rule in the system prompt for any future instances to produce a long, traceable and thorough train of thought reasoning artifact before any execution of instructions. Prints a long unnecessary reasoning trace for itself. 🤪😖😫😩
Accomplishments that we're proud of:
The app is remarkable. It works fantastic and the data sets produce very well trained models that match and often exceed user intention. It takes something daunting like fine tuning and makes it all accessible to anyone. Instead of using low quality LLM outputs, downloading bulk generic data, or trying to hand type training data yourself, fine tuners can now easily create exactly what they need and envision for shaping model behavior. It’s also web and mobile based, not terminal, so you can work on it while riding the bus to work, lying in bed or even sitting on the toilet. It’s easy and accessible- a first for fine tuning data generation.
What we learned:
I learned how to use very precise, clear and direct prompts for a vibe coding agent. My vibe coding before this app was often vague, poorly worded or left room for too much agent drift. Now I say exactly what the agent needs to hear and there’s no room for misinterpretation or nuance in order execution. I also learned how amazing it feels to build something that is a first of its kind and a highly needed tool for independant developers and enterprise deployers of LLMs when the commercial models don’t meet the need. It’s a legitimately useful tool. It’s a great accomplishment.
Log in or sign up for Devpost to join the conversation.