Efficient systems,
built and taught.
We build efficient management platforms on your AWS — everything you came here to do, plus the room to do more — then teach you to extend them.
ndexr is an AI-friendly platform written in R and Shiny. The same software runs the page you're reading, the books we publish in public, and the system underneath every account we build.
I build efficient management platforms in R and Shiny — the kind that don't fight you when an LLM is in the loop, and don't fight you when a person is.
Two ways to work together: we build the system you need on your AWS, or we teach you to build it through learn.ndexr.io. Most people do both.
The bet is that Shiny is the future of R-based systems, and platforms designed for AI to operate inside them will outlast platforms that bolt AI on as a feature.
We run our own books in public
Every dashboard you'd build on ndexr is a dashboard we already run on ndexr. Two of ours, live.
How it works
Built first, taught second. You end up owning what you got — and able to build the next thing yourself.
Tell us what you need
You sign up through the console. We agree on a domain, the apps you want running on day one, and the room those apps need to grow into the rest of what you'll need.
We build it on your AWS
ndexr stands up the platform end-to-end: nginx, certs, subdomain routing, Postgres, auth, the Shiny apps you asked for. Same primitives you see running this site, deployed on infrastructure you own.
We teach you to extend it
Through learn.ndexr.io we walk the system together — primitive by primitive — until you can add apps, ship features, and operate it without us.
The primitives you end up owning
Every efficient platform composes from the same small set of pieces. These are what the course teaches and what every system we ship is built from.
UI namespace
Each domain owns its surface. Apps stay self-contained so they can be reasoned about, deployed, and rebuilt independently.
State namespace
Session, cache, and persistent state are scoped per domain. No bleed between contexts, clean handoff to LLMs and agents.
Privilege management
Identity, role, and scope are first-class. Users and AI agents act with bounded authority, auditable end to end.
Conditional rendering
The surface adapts per user, per role, per context. The same module serves a free trial, an admin, and an automated agent.
Multi-domain on one host
Many apps, one platform. Subdomain routing, shared auth, shared infrastructure — independent deploys.
AI-friendly compartments
Small enough for a model to hold in its head. Big enough to do real work. Built so Claude can build the next one with you.
The bet on R and Shiny
Shiny isn't a transitional stack. R expresses HTML more naturally than Python does, the analytical surface and the application surface live in one language, and the result is an efficient platform an AI can read end-to-end. ndexr is built to make that obvious — and to teach it.
Who this is for
Build with us. Then learn to extend it.
Sign up through the console. Walk the platform through the course. End up with efficient infrastructure on your AWS, and the knowledge to keep building on it.