Theme:

Reconnecting a Fragmented Community Through Automation: aka The Story of UMB.FYI

Tagged with:
AI
Community
Fun
As digital communities become more fragmented, staying connected can be a challenge. Discover how UMB.FYI, an Umbraco community newsletter, came to life and keeps the community informed and engaged through the power of automation.

One of the biggest gifts of the Umbraco Community has got to be its passion for sharing knowledge. Whether it’s through engaging videos from creators like UmbraCoffee and CodeShare Paul, insightful podcasts from the Candid Contributions team, articles in online publications like Skrift and 24Days in Umbraco, or self expression through personal blogs, the spirit of collaboration is at the heart of everything they do.

However, with so much amazing content, it raises the question:

How on earth do we keep up with it all?

For a time, social media—particularly Twitter—was one of the best ways to stay connected. The Umbraco community thrived there, with vibrant conversations and a steady stream of links to great content. However, this dynamic changed abruptly following Elon Musk’s acquisition of Twitter. Regardless of personal opinions on Musk’s changes, the impact was undeniable: the community became fragmented, leaving many feeling disconnected and struggling to stay informed.

Feeling that disconnect myself, I started thinking of ways to reconnect the community. That’s when it hit me: why not create a weekly newsletter that aggregates all the great content from the community and delivers it straight to people’s inboxes?

And thus, UMB.FYI was born.

The UMB.FYI sign up page

Where idea meets execution

Having the idea is one thing, but actually building it was a completely different challenge.

The easiest route would have been to manually collect content throughout the week and piece together the newsletter by hand using whatever articles I could find. But that approach felt riddled with potential errors, incredibly time-consuming, and, to be honest, boring as heck. If I’d gone down that path, I’m certain I would have burned out after the first month.

Instead, I decided to approach this as an automation challenge, leveraging tools, software, bots, and AI wherever possible to save time and streamline the process. What follows then is a look behind-the-scenes at all the interconnected infrastructure behind UMB.FYI, and what goes into the seemingly simple task of producing a newsletter.

Phase 1: Collection

The first step in creating UMB.FYI is collecting content. The Umbraco community generates an incredible amount of material each week, and bringing it all together required designing systems that could work in the background, pulling information from multiple sources.

Data Scraping: Mass Extraction

At the core of the newsletter is a robust data-scraping setup, responsible for gathering about 99% of the featured content. To do this, I created 16 custom-built extractors that run as background tasks via the Cultiv.Hangfire package. Each extractor targeting a specific content source, including:

  • Blogs: Sources like the Umbraco HQ Blog, Skrift, and 54 community blog feeds.
  • YouTube Channels: Content from creators such as UmbraCoffee and CodeShare Paul.
  • Podcasts: Episodes from Candid Contribs and DXTalk.
  • Events: Meetup announcements and festival schedules from UmbraCalendar.
  • Marketplace Updates: Newly launched or updated packages in the Umbraco ecosystem.
  • GitHub Repositories: Updates from repositories like Umbraco RFCs and Umbraco Announcements.

Each extractor uses straightforward HTTP requests to retrieve data in formats like JSON or XML. For websites without structured feeds, I implemented the HtmlAgilityPack to parse HTML and extract relevant content. Once collected, the data is normalized into a consistent structure and stored in a central database and exposed via the Umbraco back office using UI Builder, where it can be reviewed and refined.

Hangfire dashboard listing all scheduled extractor jobs

UI Builder hub section providing a management interface for extracted data

User-Submitted Tips: Closing the Gaps

While scraping covers most of the content, some gems are impossible to capture automatically—such as a one-off blog post on a non-Umbraco platform or a unique community discussion. To address this, I built a tips system that allows users to contribute content directly. There are three main ways to submit tips:

  • Bots: On platforms like Discord, Mastodon, and Bluesky, users can reply to a post with “@UMB.FYI tip” to share interesting links and conversations.
  • Browser Extension: A Chrome extension lets users submit links directly from their browser, making it easy to share content they come across while browsing.
  • Email: For those who prefer email, tips can be sent to tips@umb.fyi. An automated system processes these submissions and adds them to the database.

By combining automation with community input, UMB.FYI ensures no great content goes unnoticed.

Examples of tipping in Mastodon, Discord and via email

Phase 2: Consolidation

After collecting the week’s content, the next step is processing and organizing it into a cohesive newsletter. This involves reviewing tips, structuring the newsletter, and ensuring every piece of content is polished and ready for publication.

Tip Review: Curating the Community’s Input

Not all tips are suitable for the newsletter, so manual review is necessary. Each tip is evaluated for relevance, quality, and timeliness. Selected tips are added to the content pool, enriching the scraped data with unique, community-sourced insights.

User interface for reviewing tips

Newsletter Setup: Efficiency Through Automation

Transforming the collected data into a newsletter-ready format requires several tools and integrations:

  • Document Templates: A base Umbraco Content template structures the newsletter in a block list with pre-configured sections, such as HQ, Community, Watch & Listen, and Events. This ensures consistency across issues.
  • Custom Content Importer: A bespoke Context App imports content directly from the content pool into the Block List editor, positioned automatically into the correct category, saving time over importing manually.
  • OpenAI Summarization: Using a custom AI property editor, at the click of a button article links are processed and concise summaries of 40 words or less are generated for each item.

This combination of automation and flexibility minimizes repetitive tasks and ensures the newsletter is engaging yet succinct.

Newsletter content is laid out using an Umbraco Block List with content blocks defining each of the newsletter elements

Newsletter content importer Context App provides easy importing of content from the content pool

The link summarizer property editor takes the URL from a link in an input field and sends it to OpenAI for summarizing

Phase 3: Publication

With the newsletter ready, the final phase is sharing it with the community. This step involves delivering the newsletter via email, archiving it online, and promoting it across social media.

Special Delivery: Email via Mailcoach

The core of the delivery process uses Mailcoach, a privacy-focused newsletter distribution platform. Via an Umbraco content published notification handler, the finalized newsletter is automatically posted to Mailcoach’s API, where it is scheduled for delivery. Scheduling a newsletter thus becomes as simple as publishing an Umbraco content node.

Mailcoach campaigns are auto created and scheduled through the Mailcoach API

Expanding Access: Web Archives and RSS

Recognizing that not everyone prefers email, I created additional ways for readers to access UMB.FYI's content:

  • Online Archive: All past newsletters are available on the UMB.FYI website, creating a historical resource for the community.
  • RSS Feed: Subscribers can receive updates directly in their preferred RSS reader.

These options cater to a broader audience, ensuring the newsletter reaches as many people as possible.

The UMB.FYI archive of previous newsletter issues

Spreading the Word: Social Media Sharing

To further expand its reach, the newsletter is promoted across multiple platforms including LinkedIn, X, Mastodon, Bluesky, Discord, Facebook and Instagram. Automated posts via Make.com and triggered by a webhook from Mailcoach share highlights and direct readers to the online archive, making it easy for new users to discover UMB.FYI.

Make.com handles the Mailcoach webhook and distributes to all social media networks

In a Nutshell

So, what might seem like a simple newsletter at first glance is, in reality, powered by a sophisticated system of tools and automation, working seamlessly to gather, organize, and deliver content to the community in a streamlined and reliable way.

Diagram encompassing all the different tools and automations used in the production of the UMB.FYI newsletter

Lessons Learned

The journey of building UMB.FYI has been both challenging and rewarding. Here are some key lessons:

  • The Power of Automation: Thoughtful automation not only saves time but also makes complex projects manageable and scalable.
  • Community Engagement is Crucial: User-submitted tips ensure the newsletter reflects the community’s interests and keeps it relevant.
  • Flexibility Drives Adoption: By offering multiple ways to access the newsletter—email, web, RSS, and social media—UMB.FYI accommodates diverse preferences.
  • Better not Perfect: Whilst automation solves a lot of problems, it can't do everything. News gets missed, AI prompts give unexpected results, automations fail. All it can give us is assistance, but it's for us to shape it into something impactful.

(Gift) Wrapping Up

UMB.FYI began as a simple idea to reconnect a fragmented community, and a year in, with over 500 subscribers and high engagement on social media, it has become a vital resource for keeping the Umbraco community informed, inspired, and connected.

At the same time, I hope it can act as inspiration for others on how with a bit of creativity and community collaboration, we can create our own solutions to the problems we face, and have fun whilst doing it.

And remember, it doesn't have to be perfect to be Umbmazing!

You don't have to be perfect to be Umbmazing