Public API

Real-time progression feed. Track live XP, level, and milestones via JSON.

GET /api/status
curl https://shawnos.ai/api/status

Quick Start

cURL

bash
curl https://shawnos.ai/api/status

JavaScript (fetch)

javascript
fetch('https://shawnos.ai/api/status')
  .then(res => res.json())
  .then(data => {
    console.log(`Level ${data.level}: ${data.title}`)
    console.log(`XP: ${data.xp_total} / ${data.xp_next_level}`)
  })

Python

python
import requests

response = requests.get('https://shawnos.ai/api/status')
data = response.json()

print(f"Level {data['level']}: {data['title']}")
print(f"XP: {data['xp_total']} / {data['xp_next_level']}")

Response Schema

json
{
  "name": "Operator",
  "title": "Prompt Apprentice",
  "level": 9,
  "xp_total": 1882,
  "xp_next_level": 2000,
  "class": "Polymath",
  "avatar_tier": 1,
  "milestones": [
    {
      "id": "first_100xp",
      "title": "Spark Plug",
      "description": "Earned 100 XP",
      "unlocked_at": "2026-02-15T05:51:44Z"
    }
  ],
  "updated_at": "2026-02-15T05:51:44Z",
  "meta": {
    "api_version": "1.0",
    "docs": "https://shawnos.ai/api"
  }
}
namestring

Character display name

titlestring

Current RPG title (e.g., 'Terminal Initiate', 'Repo Architect')

levelnumber

Current level (1-based)

xp_totalnumber

Total accumulated XP

xp_next_levelnumber

XP required to reach the next level

classstring

Primary RPG class: Builder, Scribe, Strategist, Alchemist, or Polymath

avatar_tiernumber

Avatar visual tier (1-6)

milestonesarray

List of unlocked milestone achievements

updated_atstring

ISO-8601 timestamp of last profile update

metaobject

API metadata including version and documentation URL

Use Cases

📊

Embed Live Stats

Display real-time XP and level on your portfolio or personal site

🤖

Discord Bot

Build a bot that tracks progression and announces milestone unlocks

🐦

Twitter Automation

Auto-tweet when new milestones are achieved or level-ups occur

🔬

Study the Architecture

Examine how a real-time RPG progression system is built and exposed

How This System Works

The RPG system tracks daily output across multiple dimensions: commits, content, GTM deliverables, and more. Each activity type contributes to XP based on weighted scoring.

Data flows from gitignored Python scripts → public JSON → API endpoint. The progression engine scans my work, calculates XP, checks for level-ups, and unlocks milestones based on cumulative stats.

The API endpoint reads from data/progression/profile.json (a public file) and serves it with CORS headers and CDN caching.

Type definitions are available in the rpg.ts file. The core scoring algorithms remain proprietary.

Build Your Own

Want to build a similar system? Here's the architecture:

1. Data Pipeline

Scan your work sources (git, content files, project trackers) and compute scores

2. Persistence Layer

Write computed stats to a public JSON file (safe to commit to git)

3. API Endpoint

Expose the JSON via a public API with CORS and caching headers

4. Frontend Display

Build UI components that fetch and render the progression data

Tool Stack

  • Frontend: Next.js, React, Tailwind CSS
  • Backend: Python (progression engine), TypeScript (API routes)
  • Deployment: Vercel (auto-deploy from GitHub)
  • Development: Cursor IDE, Claude Code, MCP servers
  • Monorepo: Turborepo with shared packages

I built this using Claude Code and Cursor IDE. The full repo is on GitHub.

About ShawnOS

This API is part of ShawnOS — an AI-powered operating system for GTM engineering and content operations.

Built with MCP servers connecting Cursor IDE, Claude Code, and 15+ automation tools, the system gamifies vibe coding and live building in public.

Every commit, post, and deliverable feeds the progression engine. The RPG system provides real-time feedback and unlocks visual rewards as the work compounds.

ShawnOS.ai|theGTMOS.ai|theContentOS.ai
built with Next.js · Tailwind · Claude · Remotion