Inspiration

Most people in Uganda, where Sheep was built, work on an ordinary laptop with a slow or costly connection. Cloud AI writes a good answer in a chat window, but turning it into a slide deck, a budget or a report still takes an evening of copying. We wanted an assistant that lives on the laptop, makes the actual file, and calls the cloud only for what the laptop cannot do well.

What it does

Ask Sheep in plain words, for example powerpoint about the history of coffee. Sheep makes the deck in its own Slides app and saves a PowerPoint file. Its apps cover documents, spreadsheets, slide decks, video (Studio), text and code, and export to Word, Excel, PowerPoint, PDF and MP4.

  • Local first. The model runs on the laptop in Sheep's own engine (SML) and model format (SSF), on an NVIDIA, AMD or Intel GPU, the CPU, or a mix. No GPU is required. A model the engine can't run yet uses compatibility mode, with its maker's own code.
  • NVIDIA Nemotron on Nebius Token Factory for the big jobs. In Sheep + Nebius mode, Nemotron 3 Super plans a multi-step job as exact tool calls that Sheep runs on the laptop. It also checks the local model's draft before the file is made, and answers while the local model loads.
  • Current facts with Tavily. Questions about now are searched on the web first, and Nemotron plans a deck from what was found.
  • Any model, nothing to set. Paste a Hugging Face ID, a folder or a .gguf file. Sheep takes the original weights, or the file closest to them (F16 first, then Q8). An original can be built at any level, Q2 to exact. A copy that is already quantized (such as a Q4_K_M GGUF) is packed into SSF as it is, and the other levels are locked.
  • An orchestrator. It finds your hardware, picks the model size, checks the model on real jobs in Sheep's apps, and repairs it if it starts to misbehave. Every step is shown in Settings › Activity.
  • A guide. A tour shows new users around, and it can be searched for any setting.
  • Voice, pictures and video. Talk to Sheep and it reads answers aloud. Add a picture or video model and the chat model writes the scene for it.
  • Nothing hidden. Every request that leaves the computer is listed with the provider that answered it. In Sheep mode nothing leaves at all.

How we built it

  • Engine: SML, written in C with CUDA and OpenMP, runs SSF files made by Sheep's own quantizer (2 to 8 bits, or exact).
  • Raced on one laptop (Ryzen 5 5600H, RTX 3050 4 GB) against llama.cpp and Ollama. On Qwen2.5-7B, too big for the 4 GB card, Sheep reads the prompt on the card (126 tokens/s, five times llama.cpp's 25) and writes on the processor, the fastest of the three (6.9 tokens/s against 6.6 and 5.4). Ollama still reads fastest and llama.cpp starts fastest. Every win and loss is published.
  • The model writes, Sheep operates. Small models write well but fumble multi-step tool calls, so Sheep builds the files with its apps' own tools.
  • Nebius: Nemotron 3 Super on Token Factory, called directly. Tavily for web search.
  • Desktop: Electron over a Python backend, with a Windows installer.

Challenges we ran into

  • A 3B model asked for a deck made one title slide and said it was done. Splitting the work (the model writes, Sheep operates) fixed it for every model size.
  • Our own checks failed for the wrong reasons. We now record every check's full transcript and show it in Activity.
  • Unknown architectures broke in three places before they worked; each fix is now tested.
  • Heat: the laptop GPU runs at 87 to 98 °C and shut down during this work. Sheep now runs at full speed and pauses only at 95 °C.

Accomplishments that we're proud of

  • An inference engine of our own, raced fairly against llama.cpp and Ollama, with the losses published next to the wins.
  • Real Office files from plain words, on a laptop, from small local models.
  • Any model added by name, fitted, built and checked by the app itself.
  • Nemotron used where it matters: planning, checking and standing in, with every call accounted for.

What we learned

A small model's weakness is a design problem, not the user's: let it write, and let software do the precise work. A check that fails for the wrong reason is worse than no check.

What's next

A local Nemotron model as the default, macOS and Linux builds, and Sheep working inside the apps people already use.

Built With

Share this project:

Updates

Submission history