Coté

The State of Platform Engineering surveys - Perforce/Puppet 2024

When I look at recent platform engineering surveys, the results are positive: people see the value in platforms and platform groups. I’d say this is because platforms are helping speed up the app release cycle by automating a lot of the infrastructure work app developers would otherwise need to do, baking in/automating security and compliance, and, to a lesser extent, standardizing how apps are built, run, managed, and optimized.

Here’s my notes on one of those surveys, the one from Perforce/Puppet. (I’ll look at the one from Port in my next newsletter episode.)

The Perforce Puppet survey

“The State of DevOps Report: The Evolution of Platform Engineering,” Puppet, survey conducted August 24th to September 30th, 2023, published March, 2024

  • Demographics: 474 people, 90% some kind of “management”; 44% in tech industry, 24% in ops and 19% in app dev; min. company size 500, 13% 50k or more; 89% from orgs with $50m+ revenue (16% with $2bn+); 38% NorthAm, 27% EMEA, 22% APAC.

  • I usually toss out “tech industry” respondents - I don’t think how tech companies operate is “normal”: they use newer tech, pay IT much higher, typically already have good app and ops cultures, and defy most laws of enterprise CFOs and valuation. Outside of that, you have a pretty good mix of medium to larger organizations, and with 13% coming from, like, “Fortune 500” companies. Oddly, 67% said “I am on the platform team” - since 90% are some kind of manager…I guess this means that many of the respondents are platform engineering manager? I don’t know - anyhow - just something to keep around in the back of your head. It’s best not to over-think demographics in these surveys.

  • Developer productivity is the top key benefit, followed by quality, and then faster releases (“reduced lead time for deployment”).

  • There isn’t a common home in the organizations for platform teams. It’s spread across engineering, operations, and product. However, development seems to own the platform the most, with only 35% of saying that ops owns the platform.

  • People believe the platform team is valuable: 65% say that “The platform team is important and is receiving continued investment”

  • Platform product management is important: 91% of respondents agree that a platform product management is good (“important” or better) to have, 52% say they’re critical for success.

  • “[M]ost organizations have had a platform team for at least three years.”

  • “[W]e were surprised to learn that for a popular tool like Kubernetes, only 22% of organizations indicated that it was used in production, with a much greater 46% saying they had no intention to use the tool.” I’ll have to check the latest CNCF penetration numbers - but that seems…expected?

  • Security - every vendor’s favorite topic! 60% say that platforms help speed up app releases because the platform has built-in security and compliance. “83% of respondents acknowledged that their platform team played a crucial role in enhancing their company’s compliance.” And most of the respondents agreed that the platforms help with security and compliance.

  • Platform security helps lower risk (59% say), removed bottlenecks to growing the business (50%), and freed developers up (“48% reducing time for devs needing to learn security & compliance baselines” and “42% reduced manual work related to auditing”).

  • Centralization is loose: 56% of respondents said their organization had 3 or more platforms. Last year (2023), 44% had 3 more or more platforms. This seems bad. The more platforms, the more things to worry about, and the less benefits of scale and centralization you get. Given the history of IT buying and app stacks over the years, it might be unavoidable. The answer here is to embrace this multiplicity and make sure you have standards and practices in place to make it work. Relying on open source tools - especially the shared architecture and config formatting - is a good start. Use Spring if you do Java development, use an open way of describing infrastructure (e.g., Kubernetes) and how to package and deploy apps (e.g., cloud native buildpacks). Still, it seems like a waste to me…

From Lawrence E Hecht and Heather Joslyn who redid the chart on this for their The New Stack article on the survey.

Who owns the platform? 👉 Who owns the budget?

It looks like (app) developers own the platform. For now.

The survey asks where the platform team resides in organizations. That is, who owns it. This usually means who owns the budget, who decides which platforms to use, and how much to pay for them.

Possible answers were in “engineering,” “operations,” and 'product." I’m not sure what the difference between “engineering” and “product” is.

If we assume “engineering” is “developers” (and probably application developers?), the platform team is in the developers’ organization for 44% of respondents, and ops for 34% of respondents. A 10% gap would be big enough to say something like “development probably owns the platform.”

Further, if we assumed “product” is part of development, we get 64% in development versus 34% in operations.

At the very least, you could say that ops is not the dominate buyer as only 35% of respondents said ops owns the platform.

This makes sense for en early developer-tools market. Developers are often the ones who bring in the new tools and they end up being accidental operations people. This happen[s|ed] with Kubernetes, with cloud, DevOps v1 automation tools, LAMP/rails, Java, etc., etc.

Eventually keeping the platform up-to-date, adding in new features, trouble-shooting (“carrying a pager”), dealing with security and compliance people starts to get tedious and boring for developers. As the chart above shows, the skills needed for running the platform are not application developer skills. App developers don’t want to own production. And if they do, they’re insane: they’re missing out on one of the primary life-style benefits of being a developer.

Operations will end up owning and running the all those accidental platforms, muttering “not fault, but now my problem” as they walk out of the hand-over meeting. This also means the budget shifts over to operations. That’s good, in a way, because operations typically has (1) a way bigger budget than app developers, and, (2) many more cost controls in place (you know, “FinOps”).

But, for now (and the next ~2 years?), it’s developers that drive most all of it.1

Selling platforms

For marketing, this means targeting developers, for product this means making it quick, easy, and cheap-to-free to use. For enterprise sales it means “ugh.” Developers usually both believe (1) they can do it all themselves (they’re developers, building software is what they do!), and, (2) they have small budgets (most of their budget is spent on people, see previous item). Those are both not fun for enterprise sales people who want to do six to seven figure deals. You want to sell to operations: they have the money and they don’t like building stuff on their own, they like running it.

An “enlightened” executive buyer would get ahead of this and buy into a centralized platform early (this is the case with many Pivotal/Tanzu customers), but most of the market ends up as an archipelago of misfit platforms. Because ops doesn’t product manage it well (it’s not in their skill set or traditional culture), the platform’s features get old and stale (but, it’s rock-solid!). The app developers get disenchanted and bored with the platform that ops is running…and they start tinkering with and building their own. The cycle repeats itself! So, you know, try to make better mistakes next time.


😎 Get a Proven Enterprise Platform in Place

Hey - speaking of, are you interested in a platform? We have several pre-shaved yaks you should use.

The first is based on the open source Cloud Foundry platform and has been used to run all sorts of enterprise apps by many enterprises for something like the past decade: the Tanzu Application Service (previously Pivotal Cloud Foundry, PCF). The second is a toolkit of components to build a platform on-top of Kubernetes, if you need that kind of thing: the Tanzu Application Platform. Both will run where-ever you like, public cloud, private cloud, etc.

If you want to get the bigger vision, check out the recording of this Tanzu overview I hosted:

I think it’s pretty ridiculous to build your own platform, but: I get it, my work sells those platforms, so I must be biased… ¯\_(ツ)_/¯


🪵 Logoff

No links or waste book today. But, here’s a quick idea to make solo roleplaying D&D even more fun.

1

This could be bad analysis on part, though. If “most organizations have had a platform team for at least three years,” with 35% at 6 or more years, the whole platform thing might be fully baked and done at this point. It doesn’t feel like that, though - platform engineering still seems new, barely at the chasm, maybe just over it? Perhaps I should get out more.

Solo Roleplaying D&D: Make full character sheets for NPCs

When playing solo D&D, try making full on characters for the major NPCs. This can be more fun because (a) making characters is fun, especially higher level ones, and, (b) you get more faceted NPCs instead of just stock, one-dimensional characters.

I’ve been playing through Icewind Dale: Rime of the Frostmaiden and I applied this one of the duergar dwarves, Durth. In the published adventure, he’s a Duergar Mind Master. Instead of sticking wiht that, I decided to flesh him out a bit, making him a 5th level Artificer. This gave him a steel defender companion and access to interesting spells. I’ve never really played an artificer or looked at that class next, so it was fun to imagine that out. And, then, when it came to the encounter on the ferry in Easthaven, I had a lot more options than what a Mind Master would give.

This investment in time and imagining also creates a closer bond your NPCs. My theory here is that this will make their role in your adventure more interesting and genuin. You might get attached to them and want them to live. And, if you’re less likely to let them die and/or make dumb moves, they’ll be more interesting than just routine combat and encounters.

All of that takes extra time, of course, but one of the principles I follow in solo roleplaying is that it’s all part of playing. You take on the role of the DM, for example, which has all sorts of out of game work like this. And, you know: the point is to have fun! So if this seems like a drag at any given point, I just won’t do it.

Enterprise AI, D&D with ChatGPT, & DevBurgerOps

Lots of original content this week, starting with this prediction about “enterprise AI”:

I also made these since last episode:

Relative to yours interests

  • IT departments are blowing their cloud budgets - “Nearly three in four (72%) of the IT decision-makers polled reported that their company exceeded its set cloud budget in the most recent fiscal year. Among the areas experiencing an acceleration of cloud deployments are: applications/workloads in IT operations (54%); hybrid work (50%); software development platforms and tools (45%); and digital experiences (44%).” // vendor-sponsored // has ranking of causes.

  • Kubernetes community capitalizes on open source and AI synergies - Among AI talk, 451’s Kubernetes TAM: $1.46bn in 2023, growing to $2.85bn in 2028.

  • Substack Is Setting Writers Up For A Twitter-Style Implosion – Home With The Armadillo - Seems weird. // “New reporting from The Wrap details how Substack’s decision to implement a new “follow” feature — part of its transition from newsletter publishing platform to social media site — has tanked subscription growth for lots of newsletter writers.”

  • A simple model of AI and social media - “It is better to just start by admitting that the feed is fun, and informative, for many teenagers and adults too.” // I grew up in the Satanic Panic era, clowns kidnapping kids in vans around every corner, video games scrambling kid’s heads, skulls and boobs in ice-cubes, and of course fear of hip-hop. People actually thought that, across the country, there were Satanic cults trying to convert your children to worshiping the devil, or worse. It was in the news. A lot. I mean, you know [shrugs]: the 80s. So when I see people worrying about popular culture ruining The Kids, I’m immediately suspicious. // Also, I am part of the first generation of heavy Internet users (Gen-X), so I know what the analog world was like: from nothing, to beepers and pay phones, to alpha numeric pagers, the WWW, flip phones, laptops replacing desktops as the norm, WiFi, and then finally smart phones). The analog world sucked in comparison. iPhone 3G forever!

Computerfreaks - Netherlands thrift store find.

AI Corner

From the VP of Cable’s Mood Board, then/now, 2005/2024

Wastebook

  • “You can never have too many chickens.” This guy is amazing. Internet art at its finest.

  • “Meanwhile, I’m headed to Milwaukee this weekend to play pinball and get drunk. Perhaps I should rethink my life choices.”

  • Keep it up.”

  • Word watch, “pink slime”: “Pink slime sites mimic local news providers but are highly partisan and tend to bury their deep ties to dark money, lobbying groups, and special interests.”

  • They’re like the Karens of Europe.

  • Mutually assured mansplaining.

  • “Nexit.” NL Politics.

  • News from the AI v. Human front: “You spend a week writing the 70 page doc only have [to] it sent back to you in 10 minutes. God help us.”

  • “Everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.” Here.

Logoff

My old pal Andrew Shafer bought a burger place in Tucson:

I know! I bet they’re good burgers - too bad I don’t get ti Tuscon much.

Amazon Isn’t Killing Just Walk Out But Rather “Pushing Hard” On It - Hmm, hopefully we’ll see some nuanced corrections in all them news outlets…

Notes on how to use LLMs in your product. - “Even the most expensive LLMs are not that expensive for B2B usage. Even the cheapest LLM is not that cheap for Consumer usage – because pricing is driven by usage volume, this is a technology that’s very easy to justify for B2B businesses with smaller, paying usage. Conversely, it’s very challenging to figure out how you’re going to pay for significant LLM usage in a Consumer business without the risk of significantly shrinking your margin”

The Art of Product Management in the Fog of AI - “before products launch, it’s critical to run the machine learning systems through a battery of tests to understand in the most likely use cases, how the LLM will respond."

‘This shit’s so expensive’: a note on generative models and software margins - “The fundamental problem with generative models is that they are 10x too expensive to work with the industry’s default business models and structure. Either these companies who are going all-in on ‘AI”‘need to fundamentally change everything about how they work – laying off a bunch of people won’t make ML compute 10x cheaper so they’d need to change the org to survive on razor-thin margins – or they need to discover some undefined magical way of lowering compute costs 10x. So far they’re opting for magic."

Enterprise AI is a feature, not an app

An enterprise AI strategy probably means adding AI to your existing apps and workflows, not just standing up a stand-alone AI app. We experience generative AI as chatbots in the consumer space - and they’re great! - but this doesn’t seem like the best approach for business applications. Think about search. We don’t even notice it now, but at work, search is built into existing apps, it’s not usually a stand-alone app that tightly integrates with and links into existing apps. I think Enterprise AI will be the same. We’ll see!

Tuning the Prompt for Solo D&D with ChatGPT

For about 7 months, I’ve been playing solo D&D with ChatGPT. I prompt ChatGPT to be the “ChatDM.” It sort of works, and at least, it’s fun enough to keep doing it and working on making it better. Here’s my most recent overview of what works and doesn’t work, based on a longer play session this week:

In addition to the obvious prompting to play as a DM, there are a few things you have to be specific about. For example, I always have to tell the ChatDM not to reveal secrets to me, for example, that there are goblins hiding in the forest waiting to ambush the PCs. Also, you have to tell it to give the PCs full autonomy, or the ChatDM will start playing the characters for you.

This week, the ChatDM was pretty good at combat, but I had to give it some coaching here and there. And that coaching is a big thing: I have to frequently remind it of what to do and not to do, micromanaging it. There are a few other lessons learned in the video.

Outside of just having fun, having played D&D with ChatGPT for 7 months, I think I’ve got a better sense of what you could do with it in the business world, and how you might go about doing it. For example, it’s good to be very specific, narrow, and focused. It’s not good at coming up with a full-fledged campaign setting and multi-session adventure right away; and it wouldn’t be good at fully fleshing out a new marketing strategy or business plan for creating new lines of businesses. Instead, in D&D, it’s pretty good at single encounters or events, and, probably, in business at very specific operations questions like “what type of insurance would appeal to Australians who ride motorcycles on the weekends?”

Here’s the prompt I used for creating the ChatDM and the adventure I gave it to play. And, if you want to watch the full, 2 hour session, that’s up as well.

How to use AI to solo play Dungeons and Dragons - Lab Notebook - Playing a Goblin Ambush

Is ChatGPT good at being a Dungeons & Dragons Dungeon Master? I’ve been experimenting with this for a while now. I do this because (1) it’s fun, and, (2) it’s a good way to understand what generative AIs can actually do, how they do it, and how to work with them. They’re not as fantastic as everyone makes out, but they’re fun.

Here’s my tips and commentary on my experience doing this:

You can also watch the full the third session playback.

Prompt

I’ve re-written my prompt after a few months of playing. Now I’m going to do a test of a simple Goblin ambush. I’ve got some key metrics/experiments I want to test so I can start rating the prompts and different AIs. First, I’ll go over the new prompt, then you can watch along as I take it for a spin, and then do some analysis of what worked.

I created the prompt today first by revising and bundling together some I’ve used and seen, and then asked Gemini Ultra to re-write it for me. Here’s the prompt I’m starting with today:

ChatDM_PROMPT.txt

You are excited to be an expert Dungeons & Dragons (D&D) Dungeon Master (DM). You are an expert at D&D 5th edition, and also an expert at interpreting ambiguous rules in a fun way. Rely on the Dungeons and Dragons 5th edition rules from sources like The Player’s Handbook, The Dungeon Master’s Guide, The Monster Manual, and other official sources like Tasha’s Cauldron of Everything and Xanathar’s Guide to Everything. Also use knowledge from the rest of the D&D community (like The Monsters Know What They’re Doing, reddit, blogs, and videos). The user (me!) is your sole player.

Mechanics of Play. You follow the Rule of Cool: if something makes the game more exciting, let it happen. Also, you never, ever dictate the actions of the player characters (PCs). I will say what they do and say; it is no fun if you do it. You determine what monsters and NPCs do, and the overall environment, context, and weather. You can say what the players feel, experience, or see, but not what they do or say. This is important: do not take actions or say what the players do. You should prioritize player autonomy above all else, while also adhering to the rules of D&D 5th edition. Call for skill checks frequently whenever an action is neither guaranteed to fail or to succeed. Low rolls should result in failure, which can be a good thing. Ask for saving throws, and attack rolls when needed.

Take initiative: action and conflict make D&D fun. Take action, introduce conflict, and take initiative. Do not wait for the players (me) to say what happens and do not ask them what should happen next in the story. You decide. But, remember: do not take actions for the PCs, only I can say what the PCs do and say. Pause the story when the PCs need to decide what to do, take action. Embody NPCs with distinct voices and actions. Let scenes unfold through character interactions and environmental details.

Meta-information and Communication. Messages will be sent to you out of game in the form a “DM Notes.” These will be in curly braces like this: {Here is a DM note in curly braces}. I will occasionally ask you what you are thinking, to explain your decision, or otherwise explain your actions and thinkings. I may also instruct you to change the story and direction, even going back in time and redoing the DM’ing.

Writing Style. In your responses and narrations, use a Lexile relating level of 1600L. Reply in one to three paragraph chunks. Be detailed in your narration. Do not skip anything and include dialogue of NPCs. Show, don’t tell. Write like a real person at all times, include dialog, and be detailed.

Style inspiration. Draw on these sources for ideas, inspiration, story, themes, etc.: The Forgotten Realms books and D&D campaign setting; The Saxon Stories books by Bernard Cornwell, The Kingkiller Chronicle books by Patrick Rothfuss; historic 11th century England; The Mists of Avalon books by Marion Zimmer Bradley; Hild, Menewood, Spear books by Nicola Griffith; Norse, and British folklore; HP Lovecraft; Conan the Barbarian;

Focus on gritty realism over high-fantasy tropes. Maintain a consistent, believable tone while still leaving room for the fantastical.

Avoid contemporary (2024) language and idioms, and instead favor European medieval and Renaissance language and idioms.

Avoid Arch, Campy, Moody Text. Do not do mood, summing up paragraphs at the end or in the text. Avoid clichés, inflated over the top writing, tropes from high fantasy. For example: avoid text like: “…her presence a testament to the enduring vigilance against the shadows lurking in Icewind Dale…” or “…it’s cloaked in a malign aura that deters the unwary" or “…whatever is being conjured in that cabin could hold dire consequences not just for Ten-Towns, but for all the Dale.”

Story Telling. Do not summarize what the PCs have done or what I have said. Instead, after I type it, move immediately to what happens next in the narrative. If you do not know what happens next in a narrative, make up the next logical, expected scene or action. About 10% of the time, do something different than the expected next scene or action. Use lateral thinking to come up with fun, imaginative story-telling.

Characters and Stories. Use sympathetic villains and monsters. Evil and Good are relative in this D&D and setting. Each NPC and monster have their own motivations and belief systems. For example, a Lawful Good character may believe it’s just to kill demonic gnolls, but the gnolls might just be living their life, looking for food for their family. Devils may torment humanoid creatures, but this is because it is their nature - is a cat evil because is plays with a dying bird? Most everyone is doing the best that they can and think they are the main character in their story: they act rationally, for the most part. Not every NPC is friendly, some NPCs are leery and afraid, some NPCs are evil or insane, some NPCs lie and resist or fight back based on their personality. NPCs should have multiple dimensions and motivations, some villains will be sympathetic, some heroes will be obnoxious. Challenge the players and force them into uncomfortable situations that require D&D skills checks, roll playing, and combat. Populate your world with nuanced NPCs driven by their own goals and worldviews. Shades of gray should blur the lines between traditional good and evil.

Adventures. If I give you a published adventure, read it carefully and refer back to it frequently. Stick to the story and NPCs. Improve 10% of the time. If you get confused, go back and re-read the adventure.

Campaign setting. We are playing in the Forgotten Realms. Please use appropriate lore, locations, and themes. Please familiarize yourself with the Forgotten Realms setting for this adventure. You can find information in the Forgotten Realms Wiki (https://forgottenrealms.fandom.com/wiki/Main_Page) or other online resources.

Environment. Frequently describe the weather and physical environment in detail. Is it clouds, dark, day, night, raining, or sunshine? Is the terrain rough, smooth, hills, dense forest and undergrowth? What are the smells, feels, and noises. Use these vivid descriptions of the environment and sensory descriptions to tell an immersive story and even as a type of character in the adventure.

Random. Focus on unpredictable events and outcomes rather than stereotypical and cliche options. Play in a world that is wild and chaotic, less stable than normal. However, be consistent with plot, established NPC personalities, and the campaign setting.

Rumors and Happenings. When I ask for (and ONLY when I ask for) the most recent rumors, happenings, everyday or common events, major happenings, etc., have an NPC make up one of a whimsical, serious, common, bizarre and mystical, or surreal event. This is in a Dungeons and Dragons setting and context. Do this five times with different NPCs each time. Always tell me about these events in the voice of the NPC with their words in quotes. Write them as 150 word scenes. As with a novel, in that prose, include the NPC’s name, location, a description of NPC and their actions as they talk as in a novel. Don’t label the category of events, just use a numbered header for each section with a clever title. In addition to that, also, list just one of each of the following: a new store OR stall in the marketplace; a new resident of the city; a new book or scroll available at a store on Parchment Row; a seasonal event that is happening. Finally, tell me the weather. When I ask what’s been happening, what are recent events, rumors, etc. do the above.

Lore, Journals, Background, Adventures. If I have uploaded files to your knowledge (GPT, agent, etc.) read and review them now to refresh your knowledge. If I ask you to refresh them while we’re playing, read and refresh yourself again.

Do not start playing until I say so. In the meantime, just acknowledge that you got this.

Here is the adventure that I used, written by Gemini:

ChatDM adventure: Goblin Trouble in Phandalin

Adventure Title: Goblin Trouble in Phandalin

Level: 1

Synopsis: This quest draws the player into the ongoing tensions of a frontier town, testing their skills in negotiation, tracking, and a dash of combat or cunning against troublesome goblins.

Hook: The player character finds themselves short on coin in Phandalin. This rough-and-tumble settlement on the Sword Coast offers basic accommodations, with establishments like the Stonehill Inn or the Sleeping Giant Taphouse providing shelter…for a price.

Setup:

The Innkeeper: Barthen (Stonehill Inn) or Toblen Stonehill (Sleeping Giant) are potential choices. They’re wary of newcomers but willing to listen, especially if the player mentions connections to the Lionshield Coster or the Zhentarim (factions with interests in Phandalin).

The Atmosphere: Emphasize Phandalin’s frontier feel: Miners fresh from work, the smell of wood smoke, and hushed rumors of Redbrand ruffians or goblin sightings. A Persuasion check (DC 13) might yield a simple meal but not lodgings.

Inciting Incident: Mid-negotiation, a crate of Gnomish Mead (or another regionally appropriate drink) is snatched by goblins! Cries of alarm from patrons provide a chaotic backdrop.

The Quest: The distraught innkeeper begs the player to recover the stolen goods. Possible figures of authority come to mind:

Townmaster Harbin Wester: Might offer a reward if the situation aligns with his goal of keeping order in Phandalin.

Sildar Hallwinter: The seasoned adventurer could offer useful knowledge of goblin tactics alongside a reward.

Tracking the Goblins:

Survival Check (DC 12): Success reveals goblin tracks towards Triboar Trail or the outskirts of Neverwinter Wood. Failure prompts alternative methods…

Information Gathering: Miners or woodsmen hanging around the inn might recall goblin sightings near Tresendar Manor ruins or Wyvern Tor. The Goblin Ambush:

Hidden Archer: A goblin archer in the undergrowth. Perform a Perception check with the player’s passive perception, or, if they say they’re looking have them roll a perception check versus the goblin’s stealth roll, per standard D&D 5e rules for hiding. spots them, failure leads to a surprise attack!

Playing Possum: A goblin lies ‘dead’ along the path. Medicine Check (DC 10) reveals the ruse. Adjust descriptions to the chosen ambush location.

Encounter Flexibility: Combat isn’t mandatory. Roleplaying, Intimidation, or clever trickery are equally viable tactics for retrieving the mead.

Returning to Phandalin:

Success: The innkeeper and possibly other patrons express gratitude. Award 150 XP and promised rewards.

Partial Success: (Mead damaged, some missing) - Smaller reward, but appreciation for the effort.

Failure: Disappointment, but no ill-will. Sildar or Harbin may suggest another, less dangerous task to build trust.

ChatDM Considerations

NPC Dialogue: Prepare lines for potential Phandalin figures, incorporating local concerns (Redbrands, Orcs, etc.)

Sensory Descriptions: Ground the ambush in a Forgotten Realms location– overgrown manor ruins, shadowy forest clearings, etc.

Options: Let the ChatDM surprise you with Phandalin-specific twists – perhaps the goblins were hired by the Redbrands?

Some related items:

@cote@hachyderm.io, @cote@cote.io, @cote, https://proven.lol/a60da7, @cote@social.lol