Skip to content

jangles-byte/RAMble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAMble — a white ram's head on a dark tile

RAMble

Watch your Mac think.

Latest release macOS 15+ Universal binary Swift 6 + Metal

RAMble is a free, native macOS overlay that turns your system's inner life — RAM pressure, CPU, GPU, swap, and your local LLMs — into living, glowing animations on your desktop. When Ollama streams tokens, you see a neural network firing. When memory pressure climbs, you see the machine strain. No graphs, no numbers — you just know, at a glance, like watching weather.

It sits behind your windows (or in front, your call), never catches a click, and idles light enough to leave on all day.

  • Native — Swift + Metal, universal (Apple Silicon + Intel). No Electron, no browser, no ports.
  • Private — reads public system counters and localhost only. Nothing leaves your machine, no analytics, no accounts.
  • Open — MIT-spirited source, plugin SDK, ~zero dependencies.

The animations

Synapse The flagship. A living neural graph — colored nodes joined by curved fibers, signal pulses racing along the edges and triggering cascade fires downstream. Idle, it has a resting heartbeat; run a local LLM and it storms. This is what "the model is thinking" looks like.
Plinko Glowing marbles (memory allocations) rain through a peg board. Pressure jams the board; swap spills red overflow; escapees bounce along your real screen bottom and fade away.
Galaxy 2,600 stars in wound spiral arms with nebula haze. Load speeds the spin; memory pressure drags orbits inward; heavy swap collapses the core into a black hole with an accretion ring.
Water Tank A glass reservoir. Water level = RAM. Pressure whips up the waves, CPU simmers bubbles from below, swap overflows the rim in red.
Motherboard Data packets route between CPU cores, RAM modules, GPU, and disk. Congestion backs traffic up along the traces; jammed packets buzz; swap opens red packet routes to disk.
Factory Conveyor belts, spinning gears (P-cores drive the big ones), machines that fall behind under pressure so crates pile up — and get rejected off the line when you hit swap.
Rain A storm on a receding ground plane. Drops land big and bright at the front, small and dim toward the horizon, each throwing a splash crown and ripple. Load drives the downpour, wind slants it, and lightning strikes as the gauges climb.

Seven themes (Glass, Cyberpunk, Minimal, Synthwave, Terminal, Dark, Light) restyle everything, and an Intensity slider runs the whole show from slow-drip-zen to full chaos.

What it watches

  • Memory — used / free / cached / wired / compressed, real memory pressure, and swap (usage, growth, page-ins/outs)
  • CPU — total, per-core, efficiency vs performance cores
  • GPU — utilization via IOKit
  • Disk — read/write throughput
  • Local AI — Ollama, LM Studio, llama.cpp, vLLM, Open WebUI, and any process you add: model loads/unloads, context length, and generation activity (model load = burst; tokens = firing; finish = ripple)

Honesty note: local LLM servers don't expose live token counters, so tokens/sec is an intensity estimate derived from accelerator activity — perfect for driving visuals, not for benchmarking.


Install

Option 1 — Download (easiest)

  1. Grab RAMble.app.zip from the latest release.

  2. Unzip it and drag RAMble.app into your Applications folder.

  3. Run this one command in Terminal — you almost certainly need it:

    xattr -dr com.apple.quarantine /Applications/RAMble.app
  4. Now open RAMble normally. A welcome window confirms it's running.

Why step 3? RAMble is open-source and signed ad-hoc rather than with a $99/yr Apple Developer ID, so it isn't notarized. macOS quarantines anything downloaded from the internet, and for un-notarized apps Sequoia often reports "RAMble is damaged and can't be opened" — which is misleading; nothing is damaged. The command above just removes the quarantine flag. Right-click → Open no longer reliably bypasses this on macOS 15+, so use the command. Building from source (Option 2) avoids the issue entirely, since locally built apps are never quarantined.

After launch, look for the ram-head icon in your menu bar — RAMble has no Dock icon and no window, so that icon is the whole interface. Reopen the guide any time from menu bar → Welcome / Help.

Runs on Apple Silicon and Intel (universal binary), macOS 15+.

Option 2 — Build from source (5 minutes, no Xcode needed)

Requirements: macOS 15+ (Apple Silicon or Intel) and the Swift toolchain from Apple's Command Line Tools.

# 1. Get the toolchain (skip if you already have git/swift):
xcode-select --install

# 2. Clone and build:
git clone https://github.com/jangles-byte/RAMble.git
cd RAMble
./scripts/make-app.sh

# 3. Install and launch:
cp -R build/RAMble.app /Applications/
open /Applications/RAMble.app

Want to try it without installing? swift run -c release runs it in place.


Using RAMble

Everything lives under the ram-head menu bar icon (top-right of your screen):

  • Show Overlay — toggle the animation on/off
  • Animation — switch between Synapse, Plinko, Galaxy, Water Tank, Motherboard, Factory, Rain
  • Welcome / Help — reopen the first-run guide
  • Settings… — the good stuff (below)
  • Check for Updates… — one-click update to the latest release
  • Quit RAMble

The overlay draws behind your windows, on the desktop itself — hide or move a window (or press F11) to see it. It's fully click-through: it can never steal a click, a keystroke, or focus.

Settings tour

Appearance

  • Bring to front — float the animation over all your windows instead (still click-through). Pair with the opacity slider to keep working through it.
  • Intensity — tortoise-to-hare slider. Left: sparse and calm even under load. Right: busy screen even at idle. System load layers on top either way. (Lower intensity also means less CPU spent.)
  • Opacity / Scale — how visible, how big. Scale shrinks the scene from the center; physics objects can tumble out of a shrunken scene and bounce along your real screen edges before fading away.
  • Animation / Theme / Frame rate — pick your look; 30 FPS roughly halves RAMble's cost vs 60.

Displays — choose which monitors show the overlay.

Monitoring

  • Desktop meters — a compact, draggable panel of live bars (RAM, pressure, swap, CPU, GPU, disk, stress, tokens/sec). Click and hold to drag it anywhere; it can't be lost off-screen; picking a corner resets it.
  • Watched processes — add your own process names (comma-separated) to the AI watch list.
  • Live state — the raw numbers, if you want to peek behind the curtain.

General — start at login, hide/show Dock icon, version + Check for Updates button.

See it react (the fun part)

# If you use Ollama:
ollama run llama3.2 "write me a limerick about RAM"

Watch Synapse light up while tokens stream — bursts on model load, cascade storms during generation, a ripple when it finishes. No LLM handy? Open a few heavy apps or build some code and watch the stress climb.

Updating

Menu bar icon → Check for Updates… → click Update to X. RAMble downloads the new version, swaps itself, and relaunches. Done.

Uninstall

Quit RAMble from the menu bar, then drag /Applications/RAMble.app to the Trash. There are no background helpers; settings live in standard macOS preferences and weigh a few KB.

Troubleshooting

Symptom Fix
"I opened it and nothing happened" That's almost the point — check the menu bar for the ram icon, then hide a window to see the desktop.
Can't see the animation Menu bar icon → make sure Show Overlay is checked; Settings → Displays → your monitor is enabled; try Bring to front to rule out wallpaper utilities that cover the desktop layer.
"RAMble is damaged and can't be opened" Nothing is damaged — it's the quarantine flag on an un-notarized app. Run xattr -dr com.apple.quarantine /Applications/RAMble.app and open it again.
Double-clicked it and nothing happened RAMble has no Dock icon or window by design. Check the menu bar for the ram icon. If your menu bar is full (or hidden by a notch), quit some menu-bar apps or use a manager like Bartender. First launch also shows a welcome window.
Won't launch on an older Mac RAMble needs macOS 15+. The binary is universal (Apple Silicon + Intel), but Sequoia is the floor.
Feels heavy Settings → Appearance: drop Frame rate to 30 and/or pull Intensity left. Debug builds are slow — always use the release build.
LLM activity not detected RAMble polls Ollama on :11434 and OpenAI-compatible servers on :1234/:8080/:8000. Custom setup? Add your server's process name under Settings → Monitoring.
Meters panel vanished Settings → Monitoring → pick any corner — that resets its position.

Performance

Release builds render up to ~32k particles through a single instanced Metal draw with trail and bloom post-passes. Monitoring samples at 1 Hz (system) and 2.5 Hz (processes + LLM HTTP), so the watcher itself is near-free. Your levers: FPS limit, Intensity, and animation choice. At 30 FPS + low intensity, RAMble fades into single-digit-idle territory; at 120 FPS + maximum chaos, it's a light show and priced accordingly.

For developers

Built with Swift 6, SwiftUI, Metal, and Combine. PRs welcome.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors