An events calendar Storyline Bookshop can manage

A Webflow website with a custom events calendar that lets the bookshop team publish updates through the CMS.

Live Website
The Storyline Bookshop site shown in a browser window

The project

I led development of Storyline Bookshop’s website, translating the supplied design into Webflow. Alongside the main site, I built the features the independent shop needed to share events and connect with readers. My role focused on development: taking the supplied visual direction and making it work as a website the shop could operate. The events calendar and newsletter connection were part of that same build, with Webflow serving as the place where the team manages its content.

The challenge

Events are part of the shop’s everyday work. The team needed a calendar they could keep up to date through the CMS, plus a way for visitors to join the newsletter. The calendar needed a connection to the content workflow, rather than a separate set of entries that required a developer to maintain. An event update should start with the shop’s content and reach the visitor-facing calendar. Newsletter signup was another part of the brief, giving readers a way to stay connected beyond a single visit.

The work

I organized the Webflow build with Client-First and created an events collection in the CMS. Custom JavaScript connects that content to FullCalendar, turning staff updates into calendar entries. I also integrated Substack for newsletter signups. The CMS collection holds the event content, while FullCalendar provides the calendar interface. The JavaScript integration connects those two parts, so the calendar is driven by the records the team edits. Client-First keeps the wider Webflow build organized consistently. Substack handles the newsletter connection, bringing the shop’s publishing and signup needs into the website alongside the event experience.

The outcome

The team can publish and update events without editing code. Visitors can browse what’s happening at the shop and sign up to hear more.