Skip to content
HN On Hacker News ↗

shoehorn — make any language model fit your machine

▲ 99 points 16 comments by rhgraysonii 6d ago HN discussion ↗

Pangram verdict · v3.3

We believe that this text is a mix of AI and human-written content.

54 %

AI likelihood · overall

Mixed
51% human-written 49% AI-generated
SEGMENTS · HUMAN 1 of 3
SEGMENTS · AI 1 of 3
WORD COUNT 230
PEAK AI % 86% · §1
Analyzed
Aug 18
backend: pangram/v3.3
Segments scanned
3 windows
avg 77 words each
Distribution
51 / 49%
human / AI fraction
Verdict
Mixed
Pangram v3.3

Article text · 230 words · 3 segments analyzed

Human AI-generated
§1 AI · 86%

Make any language model fit the memory you actually have. Preset quantizations ignore your hardware: pick one that fits and you either waste hundreds of megabytes of quality headroom or find out at load time it didn't fit after all. shoehorn starts from the memory you actually have, subtracts what inference itself needs, and solves a per-tensor mixed-precision assignment that lands within a rounding error of the remainder — routinely using 99.99% of the budget, sometimes to the byte.

§2 Human · 28%

$ shoehorn fit unsloth/Qwen3-4B-GGUF --serve weights: 519.2 MiB of 519.2 MiB budget (99.998% used, 13 KB slack) Before you download What fits your machine? Pick your hardware and this page scans Hugging Face's most-downloaded models for ones shoehorn can fit to your budget — ranked by the quality your memory affords. Runs entirely in your browser. Your machine Conversation room Get shoehorn Install shoehorn needs llama.cpp on your PATH as the inference backend (the Homebrew install pulls it in for you). Then shoehorn ui opens the local app — pick a model, press one button, chat. brew install notactuallytreyanastasio/shoehorn/shoehorn Or from source: cargo install --path . after cloning the repo. All releases.

§3 Mixed · 69%

The app One button, your whole budget The local web app measures your machine, streams the fit, renders the budget as a tape measure, puts a perplexity number on what the fit cost, and ends at a Chat button.