RMFU Desk

Three-minute mental model

RMFU is one surface for reading (brief + pulse), remembering (library + drills), and stress-testing (risk, macro, scenarios). Sign in to reach your tenant desk; this public site is the story, not the datastore.

Open the full guided tour → (recommended instead of this short blurb).

Use Open desk when you already have access — you will authenticate at the gate like any other protected route.

Sign in

Live calculators vs. marketing

After sign-in, /tools hosts shareable one-page calculators (NPV, payback, Kelly, and more). This public tools hub explains what exists for crawlers and prospects.

Open desk

Why drills matter

Bookmarks decay. RMFU uses short, spaced repetitions so vocabulary and frameworks stay retrievable when you are in front of a committee or a live tape — not only when you are reading alone.

Nudge inputs

Edit fields, then Apply & refresh (or use on the card). Same payload as the public demo API.

Last response JSON

app/engines/tools/service.py

Leading lines of the real module (marketing excerpt).

"""Operator pocket tools — small pure functions used by /tools.

Each function returns a dict with the inputs echoed back, the result, and a
short interpretation sentence (in casual exec tone).
"""
from __future__ import annotations

from dataclasses import dataclass
import math
from typing import Iterable


# -------- IRR / NPV ---------------------------------------------------------

def npv(rate: float, cashflows: list[float]) -> float:
    return sum(cf / ((1 + rate) ** t) for t, cf in enumerate(cashflows))


def npv_rate_sensitivity(rate: float, cashflows: list[float], bump: float = 0.01) -> dict:
    """±bump hurdle NPV and approximate $ / 1% change in NPV (last period scale)."""
    base = npv(rate, cashflows)
    up = npv(rate + bump, cashflows)