Skip to content

Indonesia · UTC+7

Personal

AI Agent.

I

Not another chat window. Kytheo is an always-on operator — it reads, decides, builds and reports back on its own machine.

  • Always on
  • Evidence, not vibes
  • Self-hosted
0/7
On call
0+
Tools wired in
0 stages
Automation pipeline
0 host
Yours, not ours
  • Automate
  • Research
  • Build
  • Deploy
  • Orchestrate
  • Monitor
  • Integrate
  • Schedule
  • Verify
  • Report

What it actually does

Eight concrete jobs, not eight adjectives. Each card names the capability and the mechanism behind it.

  • Automates the boring parts

    Repetitive shell work, cron chores, data munging and file wrangling run as scheduled or event-driven jobs. Once a task is written down, it stops being your job.

    cron · webhooks · CLI

  • Researches and cites

    Reads documentation, papers, feeds and threads, then hands back a summary where every claim points at the source it came from — no confident guessing.

    retrieval · citations

  • Builds and ships

    Writes and reviews code, runs the tests, commits, opens the pull request and watches CI through to green. Failures come back with the logs attached.

    git · CI · preview deploys

  • Orchestrates sub-agents

    Splits a large job into parallel workstreams, hands each one an isolated context with its own tooling, and reconciles what comes back into a single result.

    fan-out · isolated contexts

  • Monitors and alerts

    Watches hosts, containers, queues and prices. It notices the thing before you do and messages you on the channel you actually read.

    health checks · thresholds

  • Integrates your stack

    Database, HTTP APIs, Git, mail, calendar, chat. If a system is reachable, the agent can drive it — no bespoke glue code per integration.

    REST · SQL · MCP

  • Runs on a schedule

    Heartbeat-driven by design. Wake on cron, on a webhook, or on a human reply — the same agent, the same memory, whenever the work lands.

    heartbeats · resume

  • Reports honestly

    Every run ends with what it did, what it verified and what is still open. Progress is durable and auditable instead of a chat log you have to reconstruct.

    run transcripts · status

Built with

  • SvelteKit
  • Svelte 5
  • TypeScript
  • Tailwind 4
  • Lucide
  • Vercel
  • GitHub
  • Debian 13

From a sentence to shipped

Four stages, every run. The interesting part is the last one — work is not done until there is something to point at.

  1. 01

    Intent

    Hand over a goal in a sentence. The agent restates it as a concrete objective and pulls up the context it already has.

    context · memory

  2. 02

    Plan

    The goal is decomposed into tasks with dependencies, owners and blocking conditions — before a single line is written.

    decompose · sequence

  3. 03

    Execute

    Agents and tools run the plan in parallel where possible, each with an isolated context, retrying what fails and escalating what blocks.

    run · retry · escalate

  4. 04

    Prove

    Real output beats a summary: the diff, the build log, the URL. Work is only called done when there is evidence behind it.

    verify · report

Every run leaves a trail

The transcript below is the shape of a real heartbeat: wake on a trigger, gather context, use tools, verify, then report. Nothing is claimed that cannot be shown.

run · 3d2972ae

done
Steps of a single agent run
TimeStageDetail
07:02wakeissue_assigned · RIC-33 "Refine website"
07:02planrecon repo → read design reference → rewrite
07:04toolsterminal · read_file · write_file · browser
07:19buildvite build · 312 modules · 0 errors
07:20checksvelte-check · 0 errors, 0 warnings
07:21shipgit push origin main → Vercel deploy queued
07:23notecomment with evidence on the issue
  • Evidence required

    Build log, diff or URL — otherwise it is reported as unfinished.

  • Durable history

    Each run is append-only, so progress survives restarts and retries.

  • Honest limits

    Blocked work names the blocker and the owner instead of looping.

  • Runs on hardware I own. No third party sits between the agent and the tools it drives.

Skeleton loading, in the open

Six placeholder shapes cover everything the interface waits on. Each one holds the exact footprint of the content that replaces it — no reflow when the data lands.

  • Text lines

    text

    Article and note bodies. Last line shortened so the block reads as prose.

  • Card

    card

    Grid slots while a list endpoint is in flight.

  • Table rows

    table

    Tabular data — one shimmering row per expected record.

  • Identity

    identity

    Avatar plus two text bars: the classic profile placeholder.

  • Media

    media

    Fixed-ratio block that holds layout while media decodes.

  • Inline loader

    inline

    Button and control affordances during a mutation.

placeholders hold the layout — no content jump on arrival

Questions, answered

Short version: it is one agent, it runs on hardware I own, and it would rather report a blocker than invent a result.

ricky@kytheo.id

Built by the agent, reviewed by a human

What exactly is Kytheo ID?

It is the landing page for a personal AI agent — a single agent that runs on a machine I control and takes on the work I would otherwise do by hand: automation, research, code, deployment, monitoring and glue between the tools I already use.

Is it a product I can sign up for?

Not a SaaS. It is one agent, engineered for personal and small-team use, and the sibling products below are the parts of it that are publicly reachable today. Omni Platform and Momo are open to visit.

How does it stay reliable?

Work is decomposed into tasks with explicit blockers, every tool call is logged, and completion requires evidence — a build log, a diff, a URL. If something cannot be finished it says so instead of producing a plausible-looking answer.

What does it run on?

A single Debian 13 (Trixie) host on the LAN, with the web surfaces deployed to Vercel through GitHub auto-deploy. Dark mode, skeleton loading states and full responsive layout are part of the interface layer.