ApostropheCMS Fleet of Sites
Between 2021 and 2024, I collaborated with CloudRaker, a digital consulting agency, to build and maintain a network of websites for The Fertility Partners (TFP) — one of North America’s largest fertility clinic groups. Over this period, I led the planning, development, and long-term maintenance of seven full marketing sites and several existing ones, representing roughly 4,000 hours of work.
I was the main technical lead and point of contact between CloudRaker, TFP, and my team at Bohemica Studio. My role went far beyond coding: I translated business goals into robust technical strategies, coordinated designers and developers, and ensured every launch met high standards of performance, accessibility, and SEO.
All sites were built on ApostropheCMS (versions 2 and 3). I architected a system of reusable modules and custom widgets to make content editing intuitive for non-technical users. This included implementing multilingual content, continuous integration/deployment pipelines, analytics tracking, and error monitoring. Throughout the project, we continuously optimised load times, improved accessibility, and refined the CMS editor’s user experience. Post-launch, I managed the full suite under a long-term support agreement: applying updates, monitoring performance, and rolling out iterative improvements. The result was a unified, scalable platform that empowered the client’s marketing teams to manage content independently across the entire clinic network.
The project’s scale and impact were substantial. Each site comprised hundreds of pages of content in multiple languages, serving a combined audience of thousands of visitors per month. We created a centralised template system so that enhancements (new widgets, scripts, or layouts) could be shared across all sites. Performance and SEO were optimised to handle high traffic, and analytics dashboards were set up to measure user engagement and guide ongoing refinements. In sum, this effort not only modernised TFP’s digital presence but also delivered a repeatable, efficient platform for future growth.
ApostropheCMS Extensions
Alongside the main TFP project, I developed several ApostropheCMS extensions to streamline development and add functionality. These tools supported TFP’s ecosystem and became reusable assets for future Apostrophe projects.
ApostropheCMS Template & Module Library
I created a shared template and module library, which I implemented as a Git submodule for all Apostrophe 3 sites. It included base code, Tailwind CSS styling, configuration, and reusable components. Each new project linked this template at the start, enabling rapid deployment of common features.
As development continued, each new site carried over the improvements of its predecessors. New modules and enhancements were merged back into the library, allowing features and learnings to be ported to every site in the network. The setup also supported advanced integrations such as form validation, scroll animations, and WebGL content, all configurable directly through the CMS. This approach made development faster, more consistent, and highly adaptable.
ApostropheCMS Sync Extension
Together with the team at Bohemica Studio, we developed a terminal-based Node.js utility for synchronising MongoDB collections and uploaded assets across local, staging and production environments. The tool allowed developers to pull or push complete site data with a single command, replacing manual export and import processes. The extension improved reliability, saved time, and ensured consistent, up-to-date content across all environments, greatly simplifying both testing and deployment.
ApostropheCMS Stripe Extension
This side project grew out of my learnings and experiences with Apostrophe development. It was created as an open-source solution for the Apostrophe community, providing a full-featured Stripe integration for the CMS. It allows content editors to manage products, pricing, and checkout flows directly within the CMS, while providing developers with reusable patterns for secure payment implementation. Designed as a plug-and-play solution, it makes adding e-commerce or transactional features to any Apostrophe project fast and straightforward.
Bohemica Studio Team

As a co-founder of Bohemica Studio, I established the agency’s creative vision and technical direction. My first task was to build our own brand from the ground up, designing a complete identity and developing our website to serve as the benchmark for the quality and craftsmanship we promised our clients.
I led our multidisciplinary team of designers and developers, fostering a culture of open communication and mutual trust. I believe great work comes from empowering talented people, so I focused on creating an environment where team members felt confident to take initiative, share their ideas, and contribute to our shared goals.
A key part of my role was ensuring we stayed at the cutting edge of our industry. I encouraged the ongoing adoption of modern tools and best practices, keeping our technical stack current and our workflows efficient. This focus on thoughtful progress ensured that we consistently delivered solutions that were not only well-crafted but also technically sound and built to last.
Bohemica Store
I developed reusable component templates for the e-commerce platform and advised on UI/UX improvements. The templates streamlined feature development and ensured a consistent user experience across the store.
Bohemica Signage
I led the design and architecture of Bohemica Signage, a cloud-based digital signage platform that simplifies content distribution across multiple displays. I shaped the user experience to prioritise clarity and efficiency, allowing businesses to manage playlists, schedule content, and control display groups from a centralised dashboard.
My role extended beyond design; I coordinated cross-functional teams, guided technical decisions, and ensured the interface remained intuitive as we expanded features like calendar scheduling and multi-location display grouping. I worked closely with developers and stakeholders to balance advanced functionality with usability, ensuring the product remained straightforward to operate while scaling reliably to support thousands of screens.
MMT Company Web Identity

I partnered with MMT s.r.o., a Czech industrial automation and robotics company, to redesign their brand identity and website. I developed a new logo and visual identity that reflected their technical expertise and professionalism, and built the website on Apostrophe CMS to effectively showcase their custom machinery and solutions to clients and partners across Europe.
Working closely with their management team, we focused on a modern, content-led design that made complex industrial capabilities clear and approachable. The multilingual CMS enabled their team to manage content independently and support growth into new markets while maintaining a consistent and cohesive brand presence.
Aéropot: An Automated Ultraponic System for Indoor Plant Cultivation
Aéropot was born from my Master’s thesis in Sustainability, Entrepreneurship, and Design at Brunel University. The goal was to create a smart indoor gardening system that made plant cultivation both accessible and highly efficient, while also serving as an educational tool for understanding sustainable food production. Using ultrasonic misting (ultraponics), the system grows plants in a nutrient-rich fog that can reduce water usage by up to 95% compared to soil-based cultivation, enabling year-round growing in compact indoor spaces. From the outset, it was a multidisciplinary venture that blended environmental science, product design, software engineering, and hardware prototyping to turn a conceptual idea into a fully functional proof of concept.
The design process was an end-to-end exercise in translating research into a tangible product. I conducted market research and competitor analysis before moving into 3D CAD modelling in SolidWorks to develop the engineering specifications. The planter’s form was shaped using principles such as the golden ratio and continuous curvature, resulting in a clean, ergonomic chassis suited for modern homes. Achieving this required numerous iterations and close collaboration with workshop technicians to accommodate the physical constraints of the internal electronics. I worked extensively with 3D printing technologies including the Stratasys F370 and Objet30 Prime, each with distinct material and resolution characteristics. Larger structural components required post-processing to produce a watertight tank, while the translucent upper lid was manufactured externally to achieve the precise light-diffusing properties needed for the integrated LED array. This design-led approach ensured that the technical complexity remained hidden behind a simple and unobtrusive user experience.
One of the most technically demanding challenges was developing a custom ultrasonic atomiser circuit after off-the-shelf solutions proved unreliable. This involved reverse-engineering a suitable driver, tuning high-frequency components, and iterative testing with an oscilloscope to achieve a stable 1.7 MHz mist output. Although complex, the process was a valuable lesson in practical electronics, component tolerances, and hands-on problem-solving, and it provided a foundation for addressing the additional engineering challenges that emerged throughout the build.
Automation of the system was handled by an Arduino microcontroller programmed in C++ to regulate the plant’s environment. It continuously polled sensors measuring pH, nutrient concentration (TDS), temperature, and humidity, and used these data streams to control the LED grow lights, ventilation fans, and nutrient atomisation cycles based on predefined optimal ranges. For remote access, I integrated an ESP8266 WiFi module to communicate with the Blynk IoT platform through a custom application interface. Sensor readings were displayed in real time in the Blynk smartphone app, which offered a configurable dashboard with widgets such as graphs, sliders, and value displays. In parallel, historical data was logged to a Google Firebase real-time database using Blynk’s Webhook integration. This dual system provided immediate user feedback while creating a persistent data layer for long-term analysis of growth patterns and environmental correlations, enabling ongoing optimisation of the system.
From a single concept on paper to a working prototype, Aéropot was a comprehensive exercise in turning an idea into reality. The project spanned the full product development lifecycle: business planning, human-centred design, hardware engineering, embedded programming, and cloud-based software integration. It pushed me to navigate ambiguity across disciplines, persist through technical setbacks, and ultimately create a product that was functional, sustainable, and engaging. It demonstrated my ability to turn complex concepts into meaningful and tangible solutions.