One card, many agents. Agent Army is the collection of bots I build, deploy, and keep on duty — each with a single job, its own infrastructure, and a personality earned in a group chat.
Bots are the purest form of turning an idea into a working product: a chat interface, a job to do, and no UI to build. Every recruit below runs 24/7 — some in the cloud on Railway, some on a Raspberry Pi in my house — and each one taught me something different about building agents people actually use every day.
Digital commissioner and information hub for a fantasy basketball dynasty league

Named after the legendary NBA executive known for his analytics-driven approach, @Sam_Hinkie_bot brings automation and real-time information to league management — and delivers daily Hinkie-inspired wisdom to keep the league faithful to the Process.
Built with Python and deployed on Railway for 24/7 uptime. Integrates with Telegram's Bot API for message handling, uses webhooks for real-time updates, and connects to the league database so every answer is live data.
A self-hosted, AI-native personal health data lake operated entirely through a text message
Most health apps make you do the work, then hand your most sensitive data to a company. A.I.bert is the opposite: message it in plain English — "wore red light glasses before bed," "45 min shoulder workout at gym," "took melatonin and collagen" — and it turns the mess of daily life into clean, structured, timestamped health data on hardware I own. Send a selfie and computer vision tracks facial changes over time; send a lab PDF and it extracts every biomarker with reference ranges; a smart ring feeds sleep and steps automatically.
One process runs three subsystems over a single SQLite database:
The core architectural rule: capture everything raw before processing. Every inbound message is stored verbatim first; the structured layer is derived and always rebuildable. TypeScript (strict), Node.js, SQLite + Drizzle ORM, self-hosted on a Raspberry Pi. Built on one principle: capture everything, lose nothing, and never give it away.
A Telegram inline meme bot for I Think You Should Leave clips — type a quote in any chat, tap the match, posted instantly

@gif has been part of Telegram for almost a decade. Then Google shut down Tenor's search API, which suffocated ~90% of the GIFs Telegram surfaced and quietly wrecked an experience millions of people used every day. Someone needed to step up. "Yeah, I'll do it." So I rebuilt the chat feature myself — stocked with the best meme kit from the show I Think You Should Leave.
Type @itysl_bot plus a quote in any chat — group or DM, without adding the bot — and a grid of matching clips pops up. Tap one and it posts instantly as you. It fills the hole left when Telegram's GIF search stopped surfacing niche sketch content.
TypeScript on Node 20+, deliberately small: grammY for Telegram, Fuse.js for weighted fuzzy search, Zod for a schema-checked clip library, and a flat JSON file — git is the database. Supporting ffmpeg scripts handle poster frames, thumbnails, and batch backfills. The design bias throughout: no infrastructure. One process, one JSON file, Telegram as the CDN — the whole thing runs on a Raspberry Pi.
I take on client work — sites, apps, AI systems, and devices. Tell me what you're imagining and I'll tell you how I'd build it.
Work with me →