9-day longest streak
<!-- ───────────────────────────────────────────────────────────────────────── astoris - profile readme paper & ink · rust accent · no ceremony edit the // NOW // block as life changes. everything else is self-updating via Actions…
<!-- ─────────────────────────────────────────────────────────────────────────
astoris - profile readme
paper & ink · rust accent · no ceremony
edit the // NOW // block as life changes.
everything else is self-updating via Actions (see .github/workflows/).
───────────────────────────────────────────────────────────────────────── -->
<!-- ── 01 · about ─────────────────────────────────────────────────────── -->
01 · ABOUT
I'm Astoris. I build backends and Discord bots - right now Rostra, an all-in-one moderation and automod bot, and argus, which adds Prometheus/OpenTelemetry metrics to discord.py. Mostly Python and TypeScript, with some Go, deployed on AWS, Cloudflare, and Porter.run.
I care about services that stay up and APIs that are boring to use. Still learning a lot of this as I go.
<!-- ── 02 · now · edit this block by hand ──────────────────────────────── -->
02 · /NOW
<!-- NOW:START -->txt
building -> rostra - an all-in-one discord bot
also -> argus - prometheus/otel metrics for discord.py
learning -> observability: opentelemetry + prometheus
<!-- NOW:END -->
edited by hand whenever this changes.
<!-- ── 03 · stack ──────────────────────────────────────────────────────── -->
03 · THE STACK I REACH FOR
mostly Python and TypeScript these days.
<!-- ── 04 · stats ─────────────────────────────────────────────────────── -->
04 · STATS, LIVE
rank and a year of activity - rendered to a static SVG every 12h by a GitHub Action (no view-time API calls, so it always loads). see .github/workflows/metrics.yml.
languages by share of bytes across every repo (this profile repo is skipped - it's HTML and takes an automated commit each week).
<!-- ── 05 · snake ──────────────────────────────────────────────────────── -->
05 · A SNAKE, EATING MY CONTRIBUTIONS
regenerated every 6h by a GitHub Action. see .github/workflows/snake.yml.
<!-- ── 06 · projects ───────────────────────────────────────────────────── -->
06 · FEATURED PROJECTS
Aegis TypeScript
Self-hosted SaaS access governance: an explainable access graph for identities, entitlements, reviews, evidence, and governed workflows. It is intentionally read-only in v1.
URSA Kotlin
A native, privacy-first Android companion for Uptime Kuma. It delivers real-time monitor status, heartbeat history, and FOSS push notifications without Firebase or a relay.
Rostra TypeScript
An all-in-one Discord platform for moderation, server security, automod, tickets, applications, and community features — built as a fast, sharded service.
argus Python
Operational Prometheus and OpenTelemetry for discord.py: one-line instrumentation for latency, command timings, gateway health, cache stats, and a live dashboard.
<!-- ── 07 · quote - rotated weekly by Action ───────────────────────────── -->
07 · QUOTE, WEEKLY
<!-- QUOTE:START -->
> _"Programs must be written for people to read, and only incidentally for machines to execute."_ - Harold Abelson
<!-- QUOTE:END -->
<!-- ── 08 · hidden ─────────────────────────────────────────────────────── -->
08 · HIDDEN
$ cat .bashrc | tail -n 1
alias plz='sudo $(fc -ln -1)'
you scrolled this far. here's a second one:
function cd() { builtin cd "$@" && ls; }
small, sharp, quiet. like the rest of this readme.
$ man astoris
NAME
astoris - backend developer, mild procrastination habit
SYNOPSIS
astoris [--building ] [--debugging ]
[--avoiding ] [--shipping? eventually]
DESCRIPTION
Builds backends. APIs, databases, and the pipes between them.
Takes longer than estimated. Produces honest output.
No unnecessary abstractions. No ceremony.
FILES
~/astoris/permanent-portfolio the canonical site
~/astoris/.config/philosophy.md keep it boring in prod
~/astoris/.config/api-design.md say what you do, do what you say
BUGS
procrastinates. see ISSUES.md (eventually).
occasionally over-indexes on query optimization.
SEE ALSO
astoris.dev(7), postgresql(1), github(7), coffee(1)
$ ./easter-egg --verbose
╭──────────────────────────────╮
│ ※ │
│ you are the 01 person │
│ to read this far. │
│ │
│ (yes, 01 in binary. │
│ low-level joke.) │
│ │
│ - astoris │
╰──────────────────────────────╯
drop me a line: [email protected] - subject line 0b1 for priority.
<!-- ── 09 · sign-off ───────────────────────────────────────────────────── -->
※
hand-written HTML & opinions
· no trackers
· astoris.dev
-
Rostra ★ PINNED
All-in-one Discord bot: moderation, security, automod, tickets, economy, leveling, music, and more. TypeScript, discord.js v14, sharded, Postgres + Redis.
TypeScript ★ 6 2d agoExplain → -
ursa-android ★ PINNED
Native Android client for Uptime Kuma: real-time monitoring, multi-server, and FOSS push (UnifiedPush, no relay, no Firebase).
Kotlin ★ 13 3d agoExplain → -
argus ★ PINNED
Operational Prometheus/OpenTelemetry metrics for discord.py bots, in one line.
Python ★ 1 1d agoExplain → -
aegis ★ PINNED
A self-hosted, modular shield for SaaS access governance.
TypeScript ★ 0 9d agoExplain → -
taskmg
No description.
JavaScript ★ 3 1mo agoExplain → -
eml-visualiser
Visualise elementary functions as EML binary trees. Based on arXiv:2603.21852 by Andrzej Odrzywolek.
JavaScript ★ 2 1mo agoExplain → -
AstorisTheBrave
No description.
HTML ★ 0 8h agoExplain → -
SonantDB ⑂
A community-maintained continuation of NoisePage, evolving its autonomous relational database engine into a practical, modern, and production-minded system.
★ 0 3y agoExplain → -
matador
Drop-in observability and ops control plane for BullMQ: retry-aware latency/wait-time metrics, Prometheus + OTLP, dashboard, and safe fleet ops.
TypeScript ★ 0 9d agoExplain → -
url-shortener ▣
URL shortener in Go. Shorten, redirect, persist slugs to JSON.
Go ★ 0 3mo agoExplain → -
todo-api ▣
REST todo API - Node built-in http only, no frameworks. TypeScript.
TypeScript ★ 0 3mo agoExplain → -
tcp-echo ▣
Dead simple TCP echo server in C. Raw POSIX sockets, no dependencies.
C ★ 0 3mo agoExplain → -
CIT-Cascade-Impact-Trace-for-Claude ▣
Claude skills that map the full blast radius of any change before acting. Works on Claude Desktop, claude.ai, and Claude Code. Read BLUEPRINT.md before contributing.
★ 0 3mo agoExplain → -
docs ▣
No description.
MDX ★ 0 3mo agoExplain → -
RoCode ⑂
Rocode is a zero script fork that supports all language models.
★ 0 1mo agoExplain → -
drawing-board
Real-time collaborative drawing board with WebSockets
TypeScript ★ 0 2mo agoExplain → -
streamsync
Real-time backend with WebSocket support
Python ★ 0 3mo agoExplain → -
notifyhub
Notification service backend with queue-based delivery
Python ★ 0 3mo agoExplain → -
fileflow-api
File processing backend API
Python ★ 0 3mo agoExplain → -
cachelab
Caching strategies experiment API
Python ★ 0 3mo agoExplain → -
authcore-service
Standalone authentication microservice
Python ★ 0 3mo agoExplain → -
ledgerlite-api
Personal finance tracker backend
Python ★ 0 3mo agoExplain → -
pulse-api
Lightweight service health monitoring API
Python ★ 0 3mo agoExplain → -
taskforge-cli
A personal productivity CLI tool
Python ★ 0 3mo agoExplain → -
pubsub-broker
TCP pub/sub broker in Go. SUB/PUB/UNSUB over plain text, one goroutine per client.
Go ★ 0 3mo agoExplain → -
rate-limiter
Token bucket rate limiter for Go - library + http.Handler middleware + tests.
Go ★ 0 3mo agoExplain → -
SymbolicRegressionPackage ⑂
Basic building blocks for brute-force and random symbolic regression methods in Mathematica
Wolfram Language ★ 0 3mo agoExplain →
No repos match these filters.