Skip to content

Technology

Every architectural decision was made in service of operator attention.

Attention is the scarcest resource an operator has. We design every interaction to spend as little of it as possible.

The best software is software you stop thinking about.

Most community management software competes on features. We compete on absence — the number of things operators don't have to deal with because ORYN already handled them.

This sounds like a small distinction. It isn't. A feature list grows by addition. Attention conservation grows by subtraction. These are different disciplines, and they produce different software.

When we design a new capability, we ask the same question every time: does this require the operator to do something, or does it do something for the operator? If it's the former, we ask whether it needs to exist at all. Many features don't survive that question.

Architecture

One dispatch pattern for everything in ORYN.

Every capability in ORYN — moderation, support, marketplace, economy, identity — speaks the same language. There is one API shape, one authentication model, one way to understand what happened and why.

This is not an accident of convenience. It is a deliberate architectural choice: consistency reduces cognitive load. When everything works the same way, operators can move between capabilities without re-learning context. Developers can extend the platform without context-switching between systems.

dispatch("moderation.action.take", { member_id, rule_id, action })
dispatch("support.ticket.create", { member_id, subject, body })
dispatch("marketplace.listing.create", { title, price, quantity })
dispatch("economy.reward.grant", { member_id, amount, reason })

— one pattern, every domain

Design principles

Observable by design

Every action in ORYN produces a record. Not as an afterthought — as a requirement. Operators can't be accountable for what they can't see, and they can't improve what they can't measure.

One identity

A member is the same person across every part of ORYN — moderation, support, marketplace, economy. Their history travels with them. Operators have one view of who a member is and what their relationship has been.

Operator-controlled

Nothing in ORYN happens without operator authorization. Automated actions follow rules operators wrote. AI acts within constraints operators set. The platform amplifies operator judgment; it does not replace it.

Minimal surface area

Every configuration option is a decision. We add options only when a reasonable operator would need to make that decision differently from the default. The default is always a real choice, not a placeholder.

Consistent degradation

When something goes wrong, ORYN fails in predictable ways. Operators know what to expect. There are no surprising modes, silent failures, or hidden states that require engineering knowledge to diagnose.

Portals, not dashboards

Each major capability has its own focused surface — a portal that answers one primary question and supports one primary workflow. Navigation disappears when it isn't needed. Context is preserved when it is.

Invisibility

Why invisibility is a product feature, not a goal.

Features that announce themselves are features that interrupted something. An operator who is aware of a moderation system mid-conversation is an operator whose attention has been captured by infrastructure instead of their community.

We design for invisibility at every layer: routing decisions that happen without prompts, automation that acts without confirmation for low-stakes actions, interfaces that present information in the order it's needed rather than the order it's stored.

The measure of this is not how much ORYN can do. It is how much of their day an operator spends thinking about ORYN. We want that number to be as small as possible.

Open access

The same API that runs ORYN is available to developers.

There is no internal API that is more capable than the public one. Every capability in ORYN — every dispatch action, every data type, every event — is accessible through the documented API. What ORYN's own portals can do, developers can do.

We think this matters. Operators should never be in a position where ORYN can do something for them that they can't do themselves. Platforms that withhold capability create dependence. We don't want that relationship.

API documentation →