NeuroBait / README.md
Haris-Subrata's picture
Upload folder using huggingface_hub
09edc34 verified
|
Raw
History Blame
6.8 kB
metadata
title: NeuroBait
colorFrom: green
colorTo: blue
sdk: gradio
app_file: app.py
pinned: true
license: apache-2.0
short_description: An ADHD-friendly space and gentle boost for your everyday.
tags:
  - track:backyard
  - sponsor:openai
  - sponsor:modal
  - achievement:offgrid
  - achievement:welltuned
  - achievement:offbrand
  - achievement:sharing
  - achievement:fieldnotes

NeuroBait logo

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 started from a simple observation: sometimes the hard part is not knowing what to do. The hard part is crossing the gap between knowing and starting. A to-do list can be technically correct and still feel like one more thing to carry. NeuroBait is built for that freeze moment.

Instead of giving a productivity lecture, NeuroBait tries to offer a small spark: short, warm, agency-preserving language that reconnects the user with what matters and lowers the first move until it feels possible. No shame, no streak pressure, no diagnostic framing, and no visible prompt labels like Micro-action, Hook, or Stakes.

This Space runs a fine-tuned model through the app itself. It does not call an external hosted LLM API for chat responses.

Try It

Sample Chat

Example NeuroBait chat screenshot

Build Small Hackathon Submission

  • Primary track: Backyard AI
  • Why this track: NeuroBait was built from a real household problem and a real daily friction - the moment when a person already knows the task matters but still cannot begin.
  • 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, product copy, mood input, and a NeuroBait-specific chat experience 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 NeuroBait Does

The app is intentionally narrow. NeuroBait does not try to become a therapist, planner, diagnosis tool, or productivity operating system. It is designed for one useful behavior: helping a stuck person find a lighter first move.

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.

Why Fine-Tune?

The base model is capable, but capability alone was not the target. Out of the box, a model often responds with helpful-looking structure: long paragraphs, bold labels, bullet lists, and generic encouragement. For someone already overwhelmed, that can become another wall of text.

The fine-tune was trained to learn NeuroBait's voice and behavior layer: shorter responses, warmer framing, fewer assumptions, and no leaked internal recipe labels. The goal was not to make a general assistant. The goal was to make the first sentence feel less heavy.

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.GPU window

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.

Expected runtime 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

Community Attention

After publication, NeuroBait drew organic attention from both AI community accounts and real users who reposted or shared the project:

Related Repos

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.