Further reading

This is our blog. It contains the latest news and announcements about our open-source projects, services, and products; not least, there are gripping case studies, customer projects, and much more.

Featured tags

USA
CMS
NGO
Git
WTW
EU
CRM
n8n
API
All tags >

Rebuilding DotNest.com: Orchard Core, Tailwind 4, and a more maintainable workflow

DotNest is Lombiq’s managed Orchard Core hosting platform where users can create and run Orchard Core sites without handling infrastructure, updates, or maintenance themselves. We recently rebuilt the site to give DotNest a clearer presentation and a more modern user experience. By looking behind the scenes of the DotNest site rebuild, you’ll see how a website redesign can become a broader modernization project: improving how landing pages are structured, introducing Tailwind 4 into an Orchard Core front-end workflow, simplifying asset handling, and using AI-assisted tools in a practical way while keeping developers in control. Why the rebuild mattered The previous site served its purpose, but it no longer matched what we envisioned for DotNest. Beyond a more modern design, we needed clearer messaging, and a content management structure that would be easier to maintain as the site evolved. This was especially important because DotNest is more than a marketing website. It also reflects how we approach building maintainable Orchard Core platforms. If the site itself is hard to update, every future improvement becomes slower and more expensive than it should be. So we treated the rebuild as more than a visual refresh. It became a chance to rethink the site’s structure, front-end workflow, and development process in a way we can reuse on future Orchard Core projects. Building landing pages around reusable sections One of the main changes was how landing pages are structured in Orchard Core. Previously, the DotNest pages used simple Liquid widgets for page sections. This was quick and flexible while most changes were made directly by developers, but it also meant that the page structure was less explicit and harder to evolve consistently over time. Around the same time, the Orchard Core community was also moving toward more reusable “Blocks”-style page structures, which aligned closely with the direction we already wanted to take for DotNest. The rebuild became a good opportunity to apply a similar pattern in practice. For the new site, each landing page section now has its own content type, and the sections are composed on the landing page through Orchard Core’s BagPart. This keeps the flexibility of section-based pages while giving each section a clearer structure and purpose. The result is a landing page system that is easier to understand, easier to extend, and less dependent on ad-hoc template changes. At the same time, the reusable section-based approach gives content editors flexibility within clear guardrails, making it much harder to accidentally break layouts or page structure. For a marketing site that will keep evolving, that maintainability matters as much as the initial design. Modernizing the front-end workflow The rebuild was also the point where we introduced Tailwind 4 into our internal front-end workflow for Orchard Core projects. Previously, we used a BEM-style approach with custom CSS files. While this worked well for years, it also created more manual structure and coordination as the site evolved. With Tailwind 4, we could build UI components faster, keep styling closer to the markup, and work more consistently with our design system. As part of the rebuild, we removed the old Node.js-based asset pipeline and integrated Tailwind directly into the .NET build workflow. That led to Lombiq Tailwind Targets, our open-source MSBuild integration for Tailwind CSS. With Lombiq Tailwind Targets, Tailwind compilation runs as part of the .NET build process, making the front-end workflow feel like a natural part of the Orchard Core application instead of a separate toolchain to maintain. This also aligned with a broader direction we had already started exploring at Lombiq: simplifying front-end tooling and moving away from Node.js-based workflows where they add unnecessary maintenance overhead. We wrote earlier about this approach in Step away from that Node.js. Using AI where it helps, with developers still in control AI-assisted tools became part of the rebuild mainly in the UI and front-end workflow. We used Magic Patterns to explore UI directions and generate Tailwind-based starting points from our design system. Since the generated code was not always aligned with Tailwind 4 or the final Orchard Core implementation, we still reviewed and refactored it before integrating it into the site. To support this workflow, we also created two open-source repositories: Tailwind Agent Skills and Orchard Core Agent Skills. These agent skill collections give AI tools more project-specific context around Tailwind 4, Orchard Core theming, content modeling, shapes, and recipes, making the output far more useful than generic prompting alone. The goal was not to automate development away, but to make AI-assisted work more practical and reviewable for real Orchard Core projects. AI helped speed up repetitive and exploratory tasks, while developers still made the architectural and implementation decisions needed to keep the final result maintainable. What we gained from the project One of the biggest takeaways was how much easier Orchard Core landing pages become to manage once reusable sections and clearer content structures are introduced. The previous setup had gradually accumulated friction over time, while the new approach already feels easier to extend and work with. The rebuild was also our first larger Tailwind 4 project, and it significantly changed how quickly we can build and adjust UI components. That experience directly led to Lombiq Tailwind Targets and helped shape how we want to handle front-end workflows in future Orchard Core projects. We also learned a lot about practical AI-assisted development. Working on a real-world project made it much clearer where AI tools actually help and where developer oversight still matters. That experience ultimately led to the Tailwind Agent Skills and Orchard Core Agent Skills repositories. Most importantly, we validated different development approaches for future Orchard Core websites. If you’re planning an Orchard Core website, a redesign, or a modernization project, reach out to us. We’re always happy to help teams build Orchard Core solutions that remain easy to evolve as requirements grow over time.

Event management backend for one of the largest retailers

Avastec, a UK company, approached us to continue the development of their existing Orchard Core-based headless backend utilized by the event management site of one of the world's largest retailers. It was already in use with a publicly accessible Node.js-based frontend. The end client urgently wanted some new features, with follow-up tasks to optimize the system's performance, and keep the app up-to-date while maintaining the integrity of the user interface. Our initial task involved the transformation of data migrations from the simpler recipe-based paradigm to a more structured code-based approach. This transition aimed to enhance the traceability of modifications the development team applied. Simultaneously, a suite of UI tests was integrated into the workflow to uphold continuous code quality assurance. Leveraging the flexibility of Orchard Core's migration API, we executed this pivotal migration process without it negatively affecting users. Since then, we've delivered a lot to meet various user requirements, including event ticketing, integrating with a GDPR compliance API, and launching the site for another brand of the end client. One particularly interesting task was the implementation of QR code-based entry management, which we also supplemented with UI tests using the Lombiq UI Testing Toolbox. We've also implemented a feature to let the app use a fake video feed during tests, what we also demoed during the weekly Orchard Core podcast. From our other open-source projects, we also utilized Lombiq Helpful Extensions, as well as Lombiq Hosting - Azure Application Insights, since the app is hosted in Azure. This is what Steve Taylor, CTO and Founder of Avastec says about our joint work: Working with this team has been a genuinely positive experience from day one. They quickly understood the complexities of our existing Orchard Core setup and delivered improvements without disrupting a live, high-traffic platform. Their ability to balance rapid feature delivery with long-term maintainability and performance has been particularly valuable. The introduction of structured migrations, robust UI testing, and innovative solutions like QR-based entry management significantly elevated the quality of the system. They’ve consistently demonstrated technical expertise, reliability, and a proactive mindset, making them a trusted partner in the ongoing evolution of our platform. Thanks to Orchard Core, UI testing, and innovative feature implementations, we effectively addressed Avastec’s challenges and delivered a significantly improved event management backend. It continues to serve the end client, with us working on improvements to this day. Do you want to launch and event management platform on Orchard Core? We have actually built several more too, get in touch with us!

Helping out the builders of Ontario - RESCON case study

The Residential Construction Council of Ontario (RESCON) represents professionals in Ontario’s residential building industry and leads initiatives to foster innovation across the sector. Their public website runs on Orchard Core: it's a headless Orchard Core backend powering a separate Vue-based frontend application. But an issue had started to undermine one of the site’s most important functions: publishing up-to-date content. The problem: Homepage widgets showing outdated content The news, press releases, and blog post widgets on the homepage weren’t consistently showing the latest items. Immediately after publishing, everything looked fine. But over time, older items would start appearing again. For an organization communicating important industry updates, this was more than a minor inconvenience. It affected publishing reliability and trust. Understanding the architecture Since a different developer built the system originally, our first task was to understand and reproduce the environment. The application consists of: Orchard Core running as a headless backend. A separate Vue-based frontend. Lucene search indexing powering the homepage content widgets. Getting the frontend running locally required recreating an older Node.js environment. Node Version Manager for Windows made this possible by allowing us to install and switch between Node versions easily. The root cause The homepage widgets relied on data fetched from a Lucene index. Over time, the index became inconsistent with the database, resulting in outdated content appearing on the homepage. While fixing the indexing would have been possible, we stepped back and asked a simpler question: does this feature even require Lucene? It turned out it didn’t. The fix: Simplify, don’t patch Instead of investing in a lengthy Lucene investigation, we removed the unnecessary dependency and modified the widgets to fetch content directly via SQL queries. This: Eliminated a moving part, Reduced architectural complexity, and Resolved the inconsistency issue at its root. Sometimes the best fix is not making a system more robust, but making it simpler. Leaving the system healthier While working on the issue, we also enabled Orchard Core’s Audit Trail feature, allowing precise tracking of content changes. This improves governance and operational safety, particularly important for organizations publishing public information. We also performed smaller cleanups to ensure the application was in a better state than when we first examined it. That’s a principle we follow in every project. Collaboration We worked closely with Chris Ohan, IT Lead, and Grant Cameron, Senior Director of Public Affairs at RESCON. Since Grant manages much of the website’s content, his rapid feedback helped validate improvements quickly and ensure the publishing experience was restored. This is what Grant told about working with us: Lombiq stepped in to fix a problem with several widgets on our homepage. We met virtually, explained the problem and their experts went to work quickly and identified the issue. They explained the problem to us and corrected the issue. The team at Lombiq was efficient and professional. They got our site up and running and tweaked the Orchard Core setup to improve functionality. We were more than pleased with the result. Need help with an Orchard Core issue? If your Orchard Core application behaves unpredictably, whether it’s publishing inconsistencies, performance issues, or architectural drift over time, we can help diagnose and stabilize it. Get in touch and let’s take a look.

From CMS to Collection Manager: An Interview with Toby Dodds on Orchard Core at Smithsonian Folkways

“Our CMS is not just a web-publishing platform — it’s evolved to become our collection manager.” Smithsonian Folkways runs a 75,000-track archive on Orchard Core. Director of Technology Toby Dodds shares how they moved from Orchard 1.x to Core, and turned their CMS into a mission-critical platform.

Migrating the homepage of the Orchard Core SaaS DotNest to Orchard Core

Following the migration of lombiq.com, Git-hg Mirror, Hastlayer, and Orchard Dojo from Orchard 1 to Orchard Core (and also the redesign of lombiq.com and Orchard Dojo), we had only one site remaining that was still running on Orchard 1: DotNest.com. While you could create Orchard Core sites on DotNest for years, until now, the DotNest website itself still ran on Orchard 1.This marks the end of an era. Now all of our sites are running on Orchard Core, which offers better performance, modularity, and development experience than Orchard 1.Furthermore, we fixed some web accessibility problems on the site and added UI tests to make sure nothing breaks and affects you as a user.We utilized many of our open-source modules, including Lombiq Privacy, Lombiq Helpful Extensions, and utility modules like Lombiq NodeJs Extensions. For the themes, we built upon the Lombiq Base Theme. Lombiq Helpful Extensions played a crucial role in this project (and in the other ones too), as there was a significant amount of content to migrate. Leveraging the Orchard 1 Recipe Migration feature, we transferred Orchard 1 content items—such as blog posts, pages, and even users—to Orchard Core. Additionally, we retained the search functionality on the Knowledge Base page, now powered by Elasticsearch and the commenting on blog posts with Giscus. Of course, while working with these modules we always make sure that any enhancement that comes to mind is added to them and any bug that we find is patched. So, the wider Orchard Core community benefits from each of these projects too.This is a migration, where if you notice nothing it’s great because we migrated a lot of backend code and the goal was to keep the functionalities of DotNest, without breaking or changing anything.Migrating to Orchard Core not only brought performance increases but also added quality of life and security features, like two-factor authentication. The new foundation of the site opened new possibilities for us to bring you a better version of DotNest.With DotNest now running on Orchard Core, we’ve completed our journey of modernizing all our sites. This migration wasn’t just about keeping up with technology—it was about ensuring a smoother, more secure, and future-proof experience for our users. Although most of the changes were behind the scenes, the result is a faster, more reliable DotNest that preserves all the features you rely on while setting the stage for future enhancements.Are you still running Orchard 1 apps? Contact us to see how we can help you migrate it to Orchard Core too.

Municipal government permit management run on Orchard Core - GovTech company case study

Governments use Orchard Core too! Even in this blog, we've seen how Lombiq worked with the municipal government of Santa Monica and with the Smithsonian Folkways Recordings, which is an agency of the US federal government. But did you know that apart from flashy websites, Orchard can also provide important services for citizens behind the scenes? The multi-tenant case management platform of a GovTech company we worked with does exactly that: If you live in a US city, you may have dealt with your permit or other license via the platform! And as you may have guessed, we're working with the company as Orchard Core experts.We've been helping the company since late 2022 with a variety of Orchard Core consulting, troubleshooting, and development tasks. This started with a general review of the GovTech app, and how it's hosted in Azure, to find areas of improvement or potential issues. Since Lombiq has run Orchard, then Orchard Core projects, and hosted apps in Azure for a decade now, we can always pinpoint things we recommend changing.They also asked us to deliver some specific development tasks that improve the UX of the permit management platform or help the development team. Here's a quick overview of some of these: Setting up automated QA tools. For these, we utilized our Orchard Core-optimized projects: Lombiq UI Testing Toolbox for automated UI testing, Lombiq .NET Analyzers for checking the code for any possible issues, and Lombiq GitHub Actions to provide full-featured CI builds and Azure deployments. These all help keep the platform working well, improving the development team's productivity. A WYSIWYG editor for the Orchard Core admin area, utilizing the user-friendly Froala editor. Users of the platform weren't fully satisfied with Orchard's built-in editor, so this was a welcome improvement. Chunked file uploads: Hosting environments commonly have some restrictions on the size of an HTTP request. So, if you want to allow users to upload larger files, the app needs to upload them in multiple chunks (parts). This was important for them since files related to permit management can routinely grow beyond the usual size limits. So, we've implemented chunked file uploads both in the platform and as a contribution to Orchard Core. Since we at Lombiq are really focused on open-source, it's always great to work with clients who understand how the open-source ecosystem works and that you also have to contribute back. This is what their CTO & Co-founder says about us working together:Lombiq excels in SaaS technology development, particularly in the context of Orchard Core. Their distinctive expertise and capabilities enabled us to expedite the expansion of our platform. They were consistently responsive, delivered high-quality code, smoothly transitioned each project to our development team, and assumed full responsibility for their tasks. I highly recommend collaborating with them for any SaaS related project.Do you also work with government clients and want to make sure your Orchard Core app runs smoothly? Get in touch with us and let the Orchard Core experts help you!

Modernization and Orchard Core Migration of hastlayer.com

With a strong background in migrating websites to Orchard Core, we embarked on a journey to revamp hastlayer.com, the home of our cutting-edge .NET hardware acceleration project Hastlayer. This transformation was not merely a migration from the older Orchard 1 CMS; it was an opportunity to embrace Orchard Core's superior performance, modularity, and development experience. However, this migration was more than just a technical upgrade. It was a chance to refresh our website's appearance and align it with contemporary design trends. Hastlayer’s website was due for a facelift, its design needed a modern touch to resonate with current web aesthetics. Leveraging our expertise and experience, we utilized several of our own open-source projects developed over the years. Key Orchard Core modules such as Lombiq Privacy and Lombiq Helpful Extensions, along with utilities like Lombiq NodeJs Extensions, played a pivotal role. The Lombiq Base Theme as well as the theme of our company website served as the foundation for our theme, providing a robust starting point for customization. A distinctive aspect of this project was the creative process of reimagining hastlayer.com. Unlike client projects where we respond to external requirements and feedback, this was an internal endeavor. Collaborative brainstorming sessions shaped the vision and identity we wanted to communicate to our audience. We aimed to maintain a visual coherence with lombiq.com’s design, simultaneously, we aspired to inject a sense of uniqueness and distinction into hastlayer.com. To maintain simplicity, we reused numerous design elements and built upon them. Aligning the team's diverse perspectives required several iterations, but it ultimately led to a cohesive design that represented Hastlayer's ethos. The result is a revamped site that we are immensely proud of. It reflects our identity and the services we provide. We invite you to explore the new hastlayer.com and experience the innovation that defines us. As we revel in the success of this project, we look forward to future opportunities to renew and refine our digital footprint. Stay tuned for more exciting updates from Hastlayer, and more Orchard Core migration projects!

Git-hg Mirror is running on Orchard Core

Note: Git-hg Mirror is now retired and replaced by our Mirror branches GitHub Actions workflow.Git-hg Mirror is a site of our own, that was previously built on Orchard 1 and was migrated to Orchard Core. The site is a simple-to-use (at least this is the intention) web application to automatically keep a Git and a Mercurial repository or two Mercurial or two Git repositories in sync. This allows you to create mirrors of repositories in the other version control system. The site’s FAQ page provides more information about the site’s purpose and functionality. This case study delves into the intricate journey of transforming Git-hg Mirror from its original Orchard 1 roots to the contemporary Orchard Core, highlighting the technical challenges and solutions that made this transition possible. Migrating a site from Orchard 1 to Orchard Core is beneficial because it allows you to take advantage of the latest features, improved performance and a more modern architecture, ensuring your website remains up-to-date and competitive in the ever-evolving digital landscape. As usual, we leveraged many of our own open-source modules that we've built and refined over time, such as Lombiq Helpful Extensions, utility modules like Lombiq NodeJs Extensions, Lombiq Base Theme as a base for the themes, Lombiq Hosting Tenants for tenant management, and Lombiq Helpful Libraries, as the name suggests, for generally useful libraries. The migration needed some work with User accounts (mainly a converter from Orchard 1 to Orchard Core and depersonalization maintenance, which is responsible for replacing the registered user's sensitive data like email address, the repository URLs or access tokens with randomly generated data for privacy reasons) thus this resulted in new additions to our open-source modules. Feel free to check these out, the User converter is now part of the Orchard 1 Recipe Migration feature and the depersonalization maintenance is included in the Lombiq Hosting Tenants project. Because of the user account migrations, the previously registered users will just have to reset their password the first time they try to log in, but they will get a notification about it and once they have done it, they will be good to go, nothing else has changed. We are happy with the results and the additions to our open-source modules and stay tuned, as we keep the migrations rolling.