Rubra Candela

A reader for code you didn’t write

Understand a codebase you have never seen.

Rubra Candela draws every file and every import as a graph you can zoom, search and follow — then explains any part of it in plain language, using a language model running on your own machine.

Your source code never touches a network.

Version 0.2.5 · Windows 10 and 11 · requires Ollama
Unsigned build — Windows will say “unknown publisher”. What that looks like

The actual application

Not a mockup.

Every screenshot below is the shipping build reading a real React Native project it had never seen before — 45 files, 14.9 thousand lines.

Rubra Candela showing a React Native project as a force-directed graph of 65 nodes and 179 links, with a panel summarising the project and ranking its riskiest files.
The whole project at once. 45 files and the packages they pull in: 65 nodes, 179 links. Size is lines of code, colour is complexity, and both the summary and the ranked list of riskiest files were written by the model on the machine running it — not a template.
One file selected in the graph, its imports picked out in dashed scarlet, with a card reading: app/(tabs)/alerts.tsx, typescript, 182 lines, complexity 15, 2 exports, no incoming imports.
Follow one file. Select it and everything it touches lights up. Here alerts.tsx is 182 lines, exports twice, and nothing imports it back.
An audit answer to the question “Where are the broken ends?”, reporting a circular dependency in router.d.ts with the file, the reason it matters, and the exact line to remove.
Ask hard questions. “Where are the broken ends?” found a file importing itself and missing entries in a data file — each with the path, why it matters, and the line to change.
The same graph recoloured by connectedness, with a legend running from isolated to hub, so the most depended-upon files stand out.
Recolour it to ask a different question. Switched from complexity to connections, the scale runs isolated to hub — so the files everything leans on separate from the ones nothing touches.
An activity log listing the project being opened, the engine becoming ready, and the graph being rebuilt as files are scanned.
It keeps up. The log as a project opens and is scanned. Edit a file in your own editor and the graph rebuilds — there is no rescan button to remember.

How it works

Three steps from a folder to knowing your way around.

  1. 01

    Point it at a folder

    No repository URL, no upload, no account needed to analyse. Choose a directory and it parses every file it recognises — TypeScript, JavaScript, Python, and more — resolving imports the way your bundler does, including path aliases and workspaces.

  2. 02

    See the shape of it

    The graph is not decoration. Hubs are the files everything depends on. Isolated dots are files nothing imports — dead code, or an entry point. Thick clusters are where change is expensive. It is a shape you can take in at a glance, rather than one you have to assemble by opening files one at a time.

  3. 03

    Ask it anything

    “Where does authentication happen?” “What breaks if I change this?” “Where are the security holes?” It reads the real code to answer and cites the files it used, so you can check its work.

The model

Free AI, on your own machine.

No API key. No account with an AI company. No subscription, no credits, and nothing charged per question. The reasoning engine runs on the machine in front of you, and every question you ask it stays there.

  • Ask it as much as you like

    There is no token allowance, no daily quota and no meter running. Nobody is counting your questions, because there is nobody to count them — the only ceiling is the hardware you already own.

  • It fits the machine you have

    Three engine tiers — light, standard and advanced. It reads your GPU and picks one. The capture below is the standard tier on a card with 4.8 GB of memory.

  • It shows its working

    It explains any file, answers questions about the project, and audits it for bugs and unfinished work — naming the files it read so you can check the answer rather than trust it.

The reasoning engine settings panel, showing three tiers — light, standard and advanced — with the standard tier running on the machine, and the line: runs entirely on this machine, your code is never uploaded anywhere.
Where the thinking happens. The engine panel, reporting the tier in use and the card it is using. Rubra Candela needs Ollama installed once; after that the engine is managed for you.

It reads and explains — it does not edit your code for you. And like every language model it can be wrong, which is the reason it cites its evidence instead of asking to be believed.

Where your code goes

Nowhere.

Most tools that read your codebase send it to a server. Rubra Candela has no server to send it to: the model runs on your own machine, and your code never leaves it.

Leaves your machine

  • Your name
  • Your email address
  • Your country
  • A random install ID (counts installs, identifies nobody)
  • App version, platform and locale

Once, when you create an account. The privacy policy lists all eight fields, with an example of each.

Never leaves your machine

  • Your source code
  • File and folder names
  • The dependency graph
  • Git history and commit messages
  • Every question you ask, and every answer
  • Your password (hashed locally, never transmitted)

The privacy policy enumerates every network connection the application makes. There are four, and three are optional.

What you get

Built for the codebase you inherited.

Dependency graph

Every import resolved and drawn, including @/ aliases, npm workspaces and Python packages. Zoom, search, follow.

Plain-language explanations

Any file, explained: what it is for, what it is responsible for, how it connects, and what is risky about it.

Reasoned investigation

Ask for loopholes, broken ends or unfinished work. It reads the code and answers with evidence, not vibes.

Risk and complexity

Circular dependencies, unused files, oversized modules and the hotspots most likely to hide defects.

Git intelligence

Which files churn, who touched them last, and where recent commits concentrated.

Live activity

Edit a file in your editor and the graph updates. It watches the folder while you work.

Full-text search

Find a string anywhere in the project, then jump straight to it on the graph.

Code viewer

Read any file with syntax highlighting without leaving the app or losing your place.

Price

Free

No licence key, no seat count, no trial that expires. Analysis needs no account at all — you only sign up so we know how many people are using it. The app checks for new versions itself.

Download for Windows 95.7 MB

Version 0.2.5 · 95.7 MB · Windows 10 and 11

What people say

Nothing yet — it just launched.

Rubra Candela is at version 0.2.5. When people have used it and told us what they think, their words will go here, with their names on them.

Your review here.
Name · Role · Company
Your review here.
Name · Role · Company
Your review here.
Name · Role · Company

Used it? Tell us what worked and what did not — hello@rubracandela.com.

Requirements

Operating system
Windows 10 or 11, 64-bit
Memory
8 GB minimum, 16 GB recommended
Disk
95.7 MB for the app, plus a few GB for the model
Local AI runtime
Ollama, installed separately and free
Graphics
Optional. A GPU makes answers faster; it works without one
Internet
To sign up, to download the model once, and to check for new versions

Questions

Does my code get uploaded anywhere?

No. The language model runs on your own machine through Ollama. There is no server to send code to. The privacy policy lists every network call the app makes.

Why do I need to install Ollama separately?

Ollama is what runs the model locally. Bundling it would triple the download and fight with any copy you already have. It is free, installs in a minute, and Rubra Candela tells you if it is missing.

Windows says “unknown publisher”. Is that a problem?

It means the build is not code-signed yet — a certificate costs several hundred dollars a year and is on the list. Click More info then Run anyway. The download page publishes the SHA-256 so you can check the file first, and explains what that does and does not prove.

Which languages does it understand?

TypeScript, JavaScript, JSX and TSX, Python, JSON, Vue and Svelte are parsed for imports and drawn on the graph. Other files still appear and can be read and explained.

How big can a project be?

Comfortably into the thousands of files. Very large repositories are truncated at a scan limit rather than freezing, and the app tells you when that happens.

Is it really free?

Yes, at version 0.2.5. If that ever changes, it will be said plainly here rather than discovered by a licence check.

macOS and Linux?

The application is built to run on both. Signed and notarised builds are not ready yet — email us and you will be told when they are.

Open the folder you have been avoiding.