paint-brush
I Built An Open-Source Website Platform for Group Exhibitions—Here's Howby@danilvladimirov
218 reads New Story

I Built An Open-Source Website Platform for Group Exhibitions—Here's How

by Danil Vladimirov5mFebruary 27th, 2025
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Swarm is an open-source platform for group exhibitions designed for designers, artists, and visual creators. It allows exhibitors to independently register, create, and publish project pages while administrators maintain complete control. Powered by Kirby CMS, it requires no database, is fully customisable, and keeps the focus on the work. With a demo and video tutorial available, launching an exhibition website has never been easier.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - I Built An Open-Source Website Platform for Group Exhibitions—Here's How
Danil Vladimirov HackerNoon profile picture
0-item
1-item

In 2018, I was invited to tutor in the BA Graphic Design program at BHSAD. For four years, I led a module on students’ online presence, helping them develop their personal websites alongside other studio projects.


Because of the pandemic, classes, workshops, and student presentations shifted entirely online in 2020. By the end of the academic year, we faced a new challenge: How could students present their final projects? Usually, this was done through a physical end-of-year exhibition, but with in-person events not possible, the only feasible solution was to create an online exhibition.

The First Online Exhibition Platform

At the time, I was working at my design studio and frequently used Kirby for digital projects. Kirby is a flexible and user-friendly file-based PHP Content Management System ideal for building small websites. I volunteered to create an exhibition platform using Kirby for students to showcase their final projects.


The most critical requirement was scalability. Over 100 students needed individual pages to showcase their final projects, including titles, descriptions, and media—images and videos. Manually uploading and managing this content was impractical, so I devised a way for students to submit and edit their projects independently using Kirby.


The outcome was a platform that allowed students to register and upload their work directly, removing the necessity for manual moderation. The site was archived and remained online for several years before being taken down. However, the framework was repurposed multiple times for later end-of-year online exhibitions.

Rethinking the Project in 2024

This project has been on my mind for years, particularly the challenge of enabling over 100 participants to contribute to an exhibition without manual upload or moderation. I was also surprised that no solution addressed this need existed.


In 2024, I decided to update, refine and publish this project as an open-source exhibition website builder that anyone could use to create their group exhibition website.


Exhibition website and a content management panel


I chose Kirby again as the CMS because of its great backend and frontend integration, as well as its proven success in the original exhibition project. However, much has improved in Kirby over the years since that first version. One of Kirby’s most significant updates was the introduction of content blocks, which enable dynamic content creation using predefined content blocks. I used these blocks for project pages, allowing exhibitors to construct a narrative with blocks of images or embedded videos.

Building a Flexible, Customisable Platform

When designing the website layout, I aimed to maintain the focus on the work itself. Exhibition websites are typically clean and minimalistic, ensuring that projects take centre focus without too much design. I adhered to this principle with a clean, structured layout. Visually, the only decorative element is a thin line system that subtly highlights the structure layout without overwhelming the content. For typography, I selected Inter, an open-source sans-serif font that complements the clean visual look while ensuring focus on content. Also, this time, I used **Tailwind CSS **instead of manual styles for easier styling and responsive design.


Beyond layout and typography, I made customisation a key part of Swarm. Admin users can adjust background and text colours, upload a favicon and OG image, and add an optional introduction block on the homepage. If they prefer to dive straight into the projects, they can remove this introduction block, creating a direct viewing experience. The website header can also be personalised with links to external resources.


Website customisation settings


Admin users can enable and define project filtering, allowing visitors to browse projects by theme or pathway. Exhibitors can simply select the relevant category when creating their page, and the site will automatically sort and display their work accordingly.

An Independent User Registration

One of the most important aspects of Swarm is that it does not require a central moderator to oversee every project upload. Instead, it allows exhibitors to take full control of their project pages. The site administrator can enable an exhibitor's registration in a Kirby panel, where exhibitors can follow a sign-up link and create an account. From there, exhibitors can access the CMS panel with a limited interface designed specifically for them—providing functionality to create, edit, and publish only their projects.


Signup page and exhibitor panel page


Exhibitors can easily log in later to revise their project pages, change images and text, or add new content. At the same time, the exhibition administrator retains complete control over the website's content, having access to all drafts and published projects to oversee the entire exhibition site.

Making It Accessible

To begin using Swarm as intuitively as possible, I have created a dedicated website that showcases features and provides guidance throughout every step of the setup process. A live demo showcases the exhibition website, allowing exploring the final result before setting up their own website. In addition, I made a tutorial video that walks users through deployment, installation and website creation—everything they need to launch their own exhibition website with minimal effort.


https://swarm.danilvladimirov.co.uk/


Swarm is built on flat file Kirby CMS, so a database isn’t needed. Website content is stored as files—Markdown for text and image files for visuals—making deployment as simple as downloading a zip archive from GitHub and uploading its contents to a web server. Once the files are in place, the only setup required is registering a panel admin account to begin editing the exhibition website.


The only drawback is that Kirby is a paid CMS that requires a license for a final live website. Meanwhile, educational institutions can apply for a free licence, making Swarm an exceptionally viable solution for university exhibitions.

Looking Ahead

As I finalised Swarm, I realised that it could also be adapted for solo exhibitions as well, not just group shows. I plan to explore this in future updates. I also have an idea for adapting this project to Next.js frameworks in combination with Sanity as a CMS, similar to my previous project, Collected (I wrote about it in my last story). This would make it easier for users to deploy this project and make it more accessible.


For now, Swarm is live and open-source—ready for designers, artists, creators, developers, and educational institutions to use for their exhibitions. As the end of the academic year approaches, I would love to see if any educational institution uses Swarm to display its students' works.


The complete source code for this project can be found on GitHub. More info about the project is available here.