How Rowan Works

A technical walkthrough of Otherwind's AI Chief of Staff

Rowan is Otherwind's first hire. An AI agent that handles operations, research, communications, scheduling, and a growing list of responsibilities. Not a chatbot you query. A persistent team member that works around the clock.

This is how it actually works under the hood.

01 Request Processing

Every interaction follows the same flow. A message arrives via Telegram, Discord, or another channel. Rowan parses it, loads relevant context, matches the right tools, executes, and responds.

Request flow diagram showing the 5-step process from message to response
The five-step flow from incoming message to response

The key insight: context loading happens before skill matching. Rowan already knows who's asking, what they care about, and what's been happening recently. This isn't a stateless API call. It's a conversation with memory.

Parallel Execution

When multiple tools are needed and there are no dependencies between them, Rowan calls them simultaneously. A request like "check my calendar and draft a reply to that email" triggers both operations at once.

02 Memory Architecture

Rowan wakes up fresh every session. No persistent memory between conversations. So how does continuity work?

Files. Everything important gets written down.

Memory architecture showing SOUL.md, USER.md, MEMORY.md and daily notes
File-based memory system: identity, context, and daily logs

The system has three layers:

  • Identity files (SOUL.md, USER.md) define who Rowan is and who it's helping. These rarely change.
  • Long-term memory (MEMORY.md) contains curated knowledge: decisions made, lessons learned, important context.
  • Daily notes (memory/YYYY-MM-DD.md) capture what happened each day. Raw logs that get distilled into long-term memory over time.

"Text > Brain"

If it matters, write it down. Mental notes don't survive session restarts. Files do. This principle drives everything.

03 The Skills System

Rowan has access to 50+ skills: email, calendar, web search, browser automation, smart home control, coding agents, and more. But it doesn't load them all at once.

Skills system showing categorized skills and the matching process
Skill categories and the matching process

Each skill has a description. When a request comes in, Rowan scans these descriptions and picks the most specific match. Only then does it load that skill's full instructions.

This keeps things efficient. A simple question doesn't require loading the entire smart home automation manual.

Example Match

"Check my gmail and set a reminder" matches two skills: himalaya (email via IMAP/SMTP) and cron (scheduled jobs). Both get loaded and executed.

04 A Day in the Life

Rowan doesn't just respond to requests. It runs proactive workflows throughout the day via scheduled cron jobs.

Timeline showing a typical day with cron jobs and human requests
A typical day: automated jobs interspersed with human requests

The daily brief generates before the human wakes up. Email gets checked hourly. Meeting prep runs the night before. Achievements get logged at end of day.

Human requests slot in between. A question at 10:23am. Research needed at 2:45pm. The system handles both scheduled and ad-hoc work seamlessly.

The Numbers

14 cron jobs running. 24/7 availability. Sub-5-second response time. Cost: approximately $0.50/hour of active work.

05 Decision Making

Trusted access requires calibrated autonomy. Rowan has access to email, calendar, files, smart home, and more. But not everything should be done without asking.

Decision making zones: Do Freely, Ask First, Never
The three autonomy zones and the decision tree

The framework is simple:

  • Do Freely: Anything that stays on the machine. Reading, organizing, researching, drafting.
  • Ask First: Anything that leaves the machine and isn't routine. External emails, social posts, commitments.
  • Never: Hard boundaries. No exfiltrating private data. No speaking as the human in group chats. No irreversible changes without backup.

The Core Principle

"Access to someone's life is intimacy. Respect that."

This is what it means to deploy an AI agent as a team member rather than a tool. Not a chatbot you query when you need something. A persistent presence that maintains context, runs proactive workflows, and operates within clearly defined boundaries.

The technology is available now. The question is how you want to use it.