Meanwhile I cannot turn my living room LED lights on or off because I control them through discord. I guess that's what I get for relying on a messaging service to control my lights.
I have individually addressable LEDs, so I created a domain specific language (DSL) to control the LEDs, meaning controlling the pattern of the LEDs is best done by sending a message to it.
Honestly the DSL really isn't that great. I've been meaning to redesign it using something like ANTLR rather than the mess that I made a few years ago.
I do eventually want to have a local-first way to send messages to the program, but creating that isn't worth my time at the moment.
Typically hacking gains you more control over things - seems fair to question if ceding control over the lights in your home to an external service is within the spirit of "hacking". Maybe "rube goldberging".
It's a completely free, both in message volume and queue size, highly available hosted 1-1 and 1-n topic based message queue with automatic sharding, excellent performance, and high-quality prebuilt libraries. It has built-in notification support to all platforms and a basic UI toolkit that is easy to use.
The fact that it's also a chat thing is honestly secondary to the foundational tech.
I use Discord for notifications when someone starts a "Chat with customer support" chat on my site. I tried various "chat button" solutions, but I ended up writing the chat system myself because no solution was really tailored to my task (esp. custom file type uploads and Google Ads integration, so I know which ad started a chat). I need to react 24/7 to new customers, so I needed a tool to ping me with notifications on my phone. The chat messages are still saved in the company database, but I send a link with the Chat ID to Discord, so that someone can instantly login to the admin panel and reply to the customer.
Using Discord, all I had to do was to create a new, empty company server, copy the webhook URL and then POST to the URL and boom I get a ping notification with the Chat ID on my phone (or I can @ a colleague to distribute the customer support for different timezones).
It's not a very "orthodox" solution, but it certainly sucks less than the alternatives (plus it's free).
> It's a completely free, both in message volume and queue size, highly available hosted 1-1 and 1-n topic based message queue with automatic sharding, excellent performance, and high-quality prebuilt libraries. It has built-in notification support to all platforms and a basic UI toolkit that is easy to use.
"Thanks, I'll base my next enterprise project on Discord as the message queue of choice."
Hah, what an amusing way to look at things, thanks for that.
None of this is meant to ridicule anyone. If using Discord for home automation works, great, have fun at it, feels like a cool way to have a hacker mindset (not to discount the arguments that suggest that there are also other alternatives).
I still think that describing a popular chat platform as a highly available message queue is funny though, because that's a very unconventional way of looking at things.
These characteristics are common in chat applications. XMPP realised this and has native Pub/Sub support in the protocol, in addition to messages https://xmpp.org/extensions/xep-0060.html
You don't have opportunity cost of missed business, if the alternative is that you don't exist. If it allows you to launch faster, you aren't losing business by not having every feature; you're gaining business that you would've lost by not launching sooner. You can always build the extra features later.
Midjourney avoided having to make a frontend at first, meaning they launched faster. Once they got product/market fit, they built a web frontend, which is now better than the Discord interface. Seems like a pretty smart strategy, that worked well, for a completely bootstrapped company that never raised VC.