Skip to main content
Simon Stijnen
Back to All Projects

MyBot

MyBot was my first large solo software project — a fully self-hosted Discord bot built to bring games, moderation utilities, and community tools into a single package. It marked the point where I moved from tutorial exercises to designing and shipping something real.

Key Features

  • Dynamic help command that introspects every registered command and auto-generates formatted documentation, so the help text never goes stale
  • Don’t-Break-the-Chain — a community word-chain game where players must keep repeating the same word in sequence; the bot tracks the current streak length, records when and who breaks it, and awards points accordingly
  • Persistent user points system backed by MongoDB, storing game state and scores across bot restarts
  • Modular command architecture making it straightforward to add new commands without touching existing ones

Technical Highlights

The bot is written in TypeScript on top of Node.js, which pushed me to think carefully about types and interfaces from the start. Wrapping the application in a Docker container simplified deployment and meant the bot could be reliably restarted or migrated without environment friction.

MongoDB stores all persistent data — user scores, chain records, and configuration — giving the bot a proper data layer rather than relying on in-memory state. Building this project taught me the full lifecycle of a networked application: API integration, stateful data design, containerisation, and keeping a service running reliably over time.

Technologies Used

  • Node.js
  • TypeScript
  • Docker
  • MongoDB

Related Projects

Signapse
Using computer vision and machine learning to translate sign language gestures into text.
CERM MCP PoC
A proof of concept email automation agent using Microsoft 365 MCP server and LangChain.
Pop-a-loon
A full stack Chrome extension with 200+ users, featuring interactive balloons and real-time stats.