Project Case Study / Aesthetic King

Live / OperationalDISCORD / NODE.JS / CLOUDFLARE / SELF-HOSTED

A personal bot
that became
a real service.

Aesthetic King started as a personal Discord project and grew into a public application with 29 slash commands, Cloudflare-backed assets, and an always-on production deployment running on my Raspberry Pi.

JavaScriptNode.jsDiscord.jsCloudflarePM2LinuxRaspberry Pi
AESTHETIC KING / DISCORDONLINE
Aesthetic King Discord bot profile.
COMMANDS / 29HOST / RASPBERRY PIPROCESS / PM2STORAGE / CLOUDFLARE

01 / Overview

Built for myself.
Good enough to publish.

Aesthetic King began as a personal experiment with Discord bot development. As the project grew, the command system became useful and polished enough that I decided to make the bot publicly available.

The project now runs as an always-on Discord application with 29 slash commands. Its most heavily used features are the Theme and Profile commands, which are focused on visual customization and presentation.

A dedicated support server exists for the project, although the bot itself remains the primary way users interact with Aesthetic King.

0129 Slash Commands

A command-based interface covering visual, utility, and member-facing functionality.

02Public Project

The bot moved beyond personal use and was released as a public application.

03Always-On

Runs continuously on Linux and automatically returns after host reboots.

04Cloudflare Assets

Remote assets are served from a Cloudflare bucket and accessed by the bot at runtime.

02 / Flagship Commands

Theme and Profile
define the experience.

The Theme and Profile commands are the largest and most frequently used parts of Aesthetic King. They represent the strongest user-facing side of the project and the point where Discord command handling, asset delivery, and presentation come together.

FLAGSHIP / 01

Theme

CORE COMMAND
Aesthetic King Theme command running in Discord.VIEW FULL SIZE ↗

Theme is one of the project's primary visual commands and is a major part of how users interact with Aesthetic King.

FLAGSHIP / 02

Profile

CORE COMMAND
Aesthetic King Profile command running in Discord.VIEW FULL SIZE ↗

Profile provides another major user-facing experience and helped push the bot beyond a collection of simple utility commands.

03 / Command System

Twenty-nine
slash commands.

Aesthetic King uses Discord slash commands as its primary interface. The command set grew over time as the project expanded from a personal experiment into a more complete application.

DISCORD / COMMANDS29 AVAILABLE
Aesthetic King Discord slash-command list.
AESTHETIC KING / SLASH COMMAND INTERFACE
INTERFACESlash-command driven

Commands are exposed directly through Discord's application command interface rather than requiring users to memorize text prefixes.

SCOPE29 commands

The project has grown well beyond a single-purpose bot and now contains a substantial command surface.

FOCUSVisual customization

Theme and Profile remain the most prominent commands and best represent the bot's identity.

04 / Architecture

Discord to Linux
through Cloudflare.

The bot itself runs on my Raspberry Pi, while some of the assets used by commands are stored externally in Cloudflare. This keeps the application process and the public asset layer separate.

01D
USER INTERFACEDiscord
02AK
APPLICATIONAesthetic King
03π
PRODUCTION HOSTRaspberry Pi / Linux
PROCESSPM2
REMOTE ASSETSCloudflare Bucket

05 / Cloudflare Integration

Assets live
outside the bot.

Aesthetic King does not use a traditional database. Instead, external asset URLs are referenced by the application and the Cloudflare bucket is accessed as part of command execution.

Cloudflare was also one of the more difficult parts of the project during the early development phase. Working through that integration became one of the most valuable technical parts of building the bot.

APPLICATION CODE

Command logic

Slash-command behavior and application logic remain inside the Node.js bot.

CLOUDFLARE

Remote assets

Hosted assets can be called remotely rather than requiring every resource to live directly inside the running application.

PERSISTENCE

Stateless design

The bot does not maintain user profiles or application state in a database.

06 / Deployment

Built to
stay online.

The production bot runs continuously on my Raspberry Pi. PM2 manages the Node.js process and the environment is configured so Aesthetic King automatically returns after the Raspberry Pi restarts.

PRODUCTION PROCESSONLINE

01raspberrypi$ pm2 start aesthetic-king

02process registered

03discord client connected

04startup persistence enabled

05waiting for commands_

HOSTRaspberry Pi
OSLinux
PROCESSPM2
RESTARTAutomatic

07 / Challenges

The beginning
was the hardest part.

Early development was significantly harder than maintaining the bot today. The difficult parts were not limited to Discord commands; learning how the application, hosting environment, external assets, and Cloudflare integration fit together required a lot of iteration.

01 / APPLICATION

Learning Discord development

Building the first command structure and understanding Discord's application model required substantial experimentation.

02 / INFRASTRUCTURE

Cloudflare integration

Connecting remote assets and learning how Cloudflare fit into the application architecture was one of the most difficult early challenges.

03 / OPERATIONS

Moving into production

Turning a local personal project into an always-on application introduced Linux hosting and process management responsibilities.

08 / What I Would Redesign

Less data
inside the application.

If I rebuilt Aesthetic King today, one of the largest architectural changes would be moving color-related command data out of the bot itself.

Rather than embedding that information directly into the application, I would move it into externally hosted storage or an API. That would make updates easier and reduce the need to change application code whenever the underlying content changes.

CURRENTContent embedded in bot

Changes to some color-related content require modifying the application itself.

FUTUREAPI / remote content

Application logic remains stable while content can evolve independently.

09 / Future Version

Rebuild what worked.
Improve what didn't.

A future Aesthetic King rewrite would preserve the parts of the bot that users already rely on while improving how commands, assets, and external data are structured.

External command dataAPI-backed contentCleaner architectureImproved maintainabilityExpanded commands

Public Project

Explore Aesthetic King on GitHub.

View Repository