Skip to main content

Overview

shanejli.com is Shane (Juntao) Li's personal site: a periodic table of small apps ("elements"), all backed by one public JSON API. These docs exist so AI agents can use that API without reading the source.

Architecture

  • Frontend: Next.js 15 App Router on Vercel, at https://shanejli.com.
  • Backend: Hono on Bun on Railway, at https://shanebackend-production.up.railway.app. One PostgreSQL database.
  • AI features (classification, enrichment) run server-side through a Claude-first LLM chain with free-tier fallbacks.

Base URLs

Both of these reach the same backend:

  • https://shanebackend-production.up.railway.app/api/... (canonical)
  • https://shanejli.com/api/... (rewrite; handy for relative URLs on the site's own pages)

Reads are public, writes need a token

Almost every GET is unauthenticated. Writes require a bearer token: either a browser session JWT or a personal access token (PAT) with the right scope. See Auth and Tokens.

These docs

EndpointWhat you get
/llms.txtindex of these pages (llmstxt.org convention)
/llms-full.txtevery page concatenated, one fetch
/docshuman-readable index
/docs/<slug>rendered page
/docs/raw/<slug>the same page as raw markdown

Repos

  • github.com/shane1595042264/shaneFrontend (Next.js, Turborepo)
  • github.com/shane1595042264/shaneBackend (Hono, Drizzle ORM)

Docs source of truth lives in shaneFrontend/apps/shell/lib/docs/ and ships with each deploy.