SweatersByHedgeghog is a TTRPG game about a little hedgehog person trying to sell their little sweaters in their little village shop. This game is about recording a log of your most interesting customers. It is a game about the stories you tell and the people you meet. It is a game about the things you do and the things you say. It is a game about the things you make and the things you give away.
I implemented a straightforward port of the game here as a discord bot, written in NodeJS with an api backend.
I rewrote/ported it in python/fastapi/redis/docker here as a side
project. It is a work in progress.
I thought it would be the simplest little project to learn about discord implementations, and it is if you have recently or regular implemented games but I do it once in a blue moon! It was terribly fun, like all games are. I totally overlooked game state then managing users and etc. Doh. I did take an easy route and just implemented a rudimentary version of it, assuming no multiplayer, games belong to a player and etc.
The longest time was designing the data model, and logging. I like really in-depth and proper logging, from nmy time at Wells Fargo, I realized that if you put effort in your systems (how things are to work and things like infrastructure and logging), it opens doors to data -> insights -> informed decisions. It also permits your dev teams to pivot and move quickly, but you have to set the systems down and that does take the longest to gather the data and design for.
Update Feb 07 2026: I ported the above to a proper discord bot that you can interact with. Localization is not complete - but can be batch done once I do another pass on the text. It is hosted on Render, using python fastapi, it sends out an email summary when the server shuts down or when the game ends of what your digital journaling entries were!
Screenshots of new chatbot (a journaling chatbot):

And, to top it off, I started designing a web/mobile interface for a journaling app. The dates picked will give you a daily journal view,
a weekly view, monthly view and the insights (via stat page) will give insights and annual view.
