Spaces:
Running on Zero
title: NeuroBait
colorFrom: green
colorTo: blue
sdk: gradio
app_file: app.py
pinned: false
license: apache-2.0
short_description: An ADHD-friendly space and gentle boost for your everyday.
NeuroBait
NeuroBait is an ADHD-friendly companion for task initiation: a warm space and a gentle boost for the moment when starting feels heavier than the task itself.
It is built for a very specific moment: the user already knows the task matters,
but the first move still feels too heavy. Instead of turning that friction into
a productivity lecture, NeuroBait replies with short, warm, agency-preserving
language. It avoids shame, streak pressure, diagnostic framing, and visible
prompt labels such as Micro-action, Hook, or Stakes.
This Space runs a fine-tuned small model through the app itself. It does not call an external hosted LLM API for the chat response.
Build Small Hackathon Submission
- Primary track: Backyard AI
- Why this track: NeuroBait focuses on a real everyday ADHD and neurodivergent friction - starting the thing that already matters - and turns a small model into a practical companion for that moment.
- Bonus quest fit: Well-Tuned, because the Space uses a published LoRA adapter fine-tuned for NeuroBait's voice and behavior.
- Bonus quest fit: Off-Brand, because the app uses custom Gradio styling and product copy instead of the default chatbot shell.
- Sponsor fit: Modal-powered, because fine-tuning and generation evaluation were run on Modal GPU infrastructure.
NeuroBait was fine-tuned with Modal and deployed as a Gradio app on Hugging Face ZeroGPU.
What The App Does
The app is intentionally narrow. NeuroBait should:
- respond in concise, natural prose,
- preserve the user's agency,
- avoid guilt framing and productivity shame,
- ask one light question when context is sparse,
- offer one tiny concrete action when enough context exists,
- keep the tone gentle without pretending to be a therapist.
The interface includes a small mood check-in so the same model can adapt its response style slightly:
- Calm
- Tired
- Anxious
- Focused
The mood input does not change the safety scope. It only nudges the app-level prompting and presentation.
Model And Runtime
- Base model:
unsloth/gemma-3-12b-it - Adapter:
build-small-hackathon/NeuroBait - Method: 16-bit LoRA via Unsloth
- Training hardware: Modal H100 80GB GPU
- Space runtime:
transformers+peft - Quantization: 4-bit bitsandbytes NF4 inside the
@spaces.GPUwindow
Unsloth is used for training, not for Space inference. The deployed app uses the
standard transformers + peft path so the public demo can load the Gemma 3 12B
base model plus the NeuroBait LoRA adapter on Hugging Face ZeroGPU.
Runtime Configuration
Expected environment variables:
BASE_MODEL=unsloth/gemma-3-12b-it
ADAPTER_ID=build-small-hackathon/NeuroBait
LOAD_IN_4BIT=1
MAX_NEW_TOKENS=220
PREWARM=1
Weights are pre-warmed to the Space cache on CPU at import so the GPU window can focus on quantized loading and generation.
Training And Evaluation Summary
Run #4 used a small bilingual Indonesian/English conversational dataset:
- Train conversations: 270
- Eval conversations: 30
- Training steps: 102
- Train loss: 1.7501
- Eval loss: 1.8844
The loss is only a weak diagnostic for this project. The main target is behavior: shorter responses, warmer task-initiation support, and fewer leaked internal structure labels.
Generation eval over 8 held-out or novel prompts:
- Base persona average: 2.25 / 4
- Fine-tuned persona average: 4.0 / 4
- Base average words: 80.4
- Fine-tuned average words: 55.1
- Base label leaks: 5
- Fine-tuned label leaks: 0
Related Repos
- Model adapter: https://huggingface.co/build-small-hackathon/NeuroBait
- Codex trace dataset: https://huggingface.co/datasets/build-small-hackathon/NeuroBait-Codex-Traces
- Source repo: https://github.com/Subrata15/NeuroBait-Build-Small-Model
Safety Scope
NeuroBait is not a medical device, diagnostic tool, therapist, emergency support system, or replacement for professional care. It is a small-model demo for gentle task-initiation support.