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.
building -> rostra - an all-in-one discord bot
also -> argus - prometheus/otel metrics for discord.py
learning -> observability: opentelemetry + prometheusedited by hand whenever this changes.
mostly Python and TypeScript these days.
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).
regenerated every 6h by a GitHub Action. see .github/workflows/snake.yml.
Rostra TypeScript
My main project - an all-in-one Discord bot with moderation, security, automod, and tickets in one place. The largest thing I maintain.
argus Python
Operational metrics for discord.py. It drops into a bot and exports gateway latency, command timings, and cache stats over Prometheus / OpenTelemetry - so you can actually see what the bot is doing.
drawing-board TypeScript
A small real-time experiment: a shared whiteboard over WebSockets that broadcasts every stroke to everyone in the room.
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC." - Edsger W. Dijkstra
08 · HIDDEN
$ cat .bashrc | tail -n 1
alias plz='sudo $(fc -ln -1)'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 <service>] [--debugging <query>]
[--avoiding <orm>] [--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: AstorisTheBrave@proton.me - subject line 0b1 for priority.
※
hand-written HTML & opinions
· no trackers
· astoris.dev


