Two sites, and everything that runs behind them.
Both sites are live. We built them and we run them. Every figure below can be counted in the code we wrote, such as products in the catalogue or pages on the site. Sales and enquiry figures belong to the client, so we leave them out.
First, you should know that Smart-Space and SmartCare Living share a managing director. They are two businesses but one client, and the review below is from him.
Smart-Space
smart-space.ie
An online shop that sells home security equipment and fits it. The customer pays by card and books an installation slot in one go, from the installer's live calendar.

The situation
Smart-Space sell and fit smart-home security: doorbells, floodlight cameras, whole-home bundles. The old shop ran on Shopify. It took the money and knew nothing about installer availability, so every order needed a phone call to agree a date. Two systems, two diaries.
What was built
A shop that understands configuration
A shop that understands configuration
15 products that can be bought in 151 configurations, from €139 to €1,577. Wiring, number of devices and finish change the price, and the product page asks about all three.
A shop that understands configuration
15 products that can be bought in 151 configurations, from €139 to €1,577. Wiring, number of devices and finish change the price, and the product page asks about all three.
The installation booked inside the checkout
The installation booked inside the checkout
The customer picks a date and a two-hour window while paying. The checkout reads the installer's calendar live, and the minimum notice differs by type of job. The appointment is booked automatically the moment the payment goes through.
The installation booked inside the checkout
The customer picks a date and a two-hour window while paying. The checkout reads the installer's calendar live, and the minimum notice differs by type of job. The appointment is booked automatically the moment the payment goes through.
A checkout that checks every price again on the server
A checkout that checks every price again on the server
The server checks every item again against the real catalogue, and rejects any price outside that product's range. A price someone changes in their browser never gets as far as Stripe.
A checkout that checks every price again on the server
The server checks every item again against the real catalogue, and rejects any price outside that product's range. A price someone changes in their browser never gets as far as Stripe.
Enquiries and sales reported to Google twice, for visitors who agree
Enquiries and sales reported to Google twice, for visitors who agree
When a visitor accepts advertising cookies, each enquiry, phone tap and checkout sale is reported to Google twice: once from their browser and again from the server. That way an ad blocker or a closed tab does not lose it. The email and phone number are scrambled (hashed) first. When a visitor declines or has not answered, the server sends nothing.
Enquiries and sales reported to Google twice, for visitors who agree
When a visitor accepts advertising cookies, each enquiry, phone tap and checkout sale is reported to Google twice: once from their browser and again from the server. That way an ad blocker or a closed tab does not lose it. The email and phone number are scrambled (hashed) first. When a visitor declines or has not answered, the server sends nothing.
One screen for the whole operation
One screen for the whole operation
Stripe orders, calendar bookings and web enquiries in a single view. It shows the live Stripe balance and the value of work already booked. One button opens the day's jobs as a multi-stop route in Google Maps.
One screen for the whole operation
Stripe orders, calendar bookings and web enquiries in a single view. It shows the live Stripe balance and the value of work already booked. One button opens the day's jobs as a multi-stop route in Google Maps.
The old shop's addresses kept working
The old shop's addresses kept working
31 permanent redirects take the old Shopify addresses to their pages on the new site. We wrote them after tracing a Google Search Console failure to the earlier redirects, which sent many old addresses to one page.
The old shop's addresses kept working
31 permanent redirects take the old Shopify addresses to their pages on the new site. We wrote them after tracing a Google Search Console failure to the earlier redirects, which sent many old addresses to one page.
- Products
- 15, in 151 configurations
- Pages
- 48
- Payments
- Stripe, live
- Structured data
- 38 files, 25 schema types
- Automatic health check
- Several times a day
- Live since
- March 2026
An order that loses its appointment is flagged before the day
Payments and the calendar are two separate systems, and nothing forces them to agree. Every morning an automatic job finds orders that were paid for but have no appointment. It emails the owner while the booked day is still ahead. It deliberately books nothing itself, so an out-of-date payment record cannot cause a double booking without a person seeing it first. A second daily job looks for free slots in the calendar over the next seven booking days, and sends an email if there are none. That matters because an expired calendar connection gives no warning. Appointments just stop being created, and without the check the first person to notice would be a customer waiting in for a visit that was never booked.
“Every order used to mean a phone call to agree a fitting date. Now the customer picks their slot while they are paying and it is in the installer's diary before I have seen it. I open one screen and I can see what has come in, what is still owed and what the booked work is worth, without asking anyone for a spreadsheet. The ads side is the part I did not expect: I can check for myself whether a conversion actually reached Google instead of being told it did, and the sales get counted from the server as well as the browser, so the reports are closer to what I banked.”
SmartCare Living
smartcareliving.ie
An advice site for families arranging care. A six-question assessment scores urgency, and every enquiry is sent four separate ways.

The situation
SmartCare Living advise families deciding about care for an elderly relative. The site has to get every enquiry to a person, including when one of the services behind the form fails.
What was built
A six-question assessment
A six-question assessment
Six questions about the relative, scored as urgent or standard. The results page reads the answers back and recommends a setup. Because the answers include health data, the consent tick-box names GDPR Article 9 on the form itself.
A six-question assessment
Six questions about the relative, scored as urgent or standard. The results page reads the answers back and recommends a setup. Because the answers include health data, the consent tick-box names GDPR Article 9 on the form itself.
Two ways to book, one calendar
Two ways to book, one calendar
A home consultation or an installation. Each shows live availability, offers weekday slots only, and creates a real calendar appointment when the form is sent.
Two ways to book, one calendar
A home consultation or an installation. Each shows live availability, offers weekday slots only, and creates a real calendar appointment when the form is sent.
Every enquiry sent four ways
Every enquiry sent four ways
Every enquiry goes separately to email, text message, the leads spreadsheet and the customer database (CRM), so one slow or failing service does not hold up the others. If the visitor accepted advertising cookies, the server also reports it to Google. It goes to Google Analytics every time, and to Google Ads when the page's own Google tag did not run. If sending the form fails, the browser sends the details in a backup message so the enquiry still arrives.
Every enquiry sent four ways
Every enquiry goes separately to email, text message, the leads spreadsheet and the customer database (CRM), so one slow or failing service does not hold up the others. If the visitor accepted advertising cookies, the server also reports it to Google. It goes to Google Analytics every time, and to Google Ads when the page's own Google tag did not run. If sending the form fails, the browser sends the details in a backup message so the enquiry still arrives.
An admin suite
An admin suite
Enquiries with search and filters. Stripe subscription reports with monthly and annual revenue, cancellations (churn) and a renewal calendar. A diagnostics page that shows which tracking is firing, with a safe mode so tests are not recorded in Google Ads. A checker that lists any missing settings without ever showing their values.
An admin suite
Enquiries with search and filters. Stripe subscription reports with monthly and annual revenue, cancellations (churn) and a renewal calendar. A diagnostics page that shows which tracking is firing, with a safe mode so tests are not recorded in Google Ads. A checker that lists any missing settings without ever showing their values.
Written for the questions people search
Written for the questions people search
32 long-form advice articles and a family advice hub. Each one is marked up for search engines, with structured data, canonical tags and language targeting.
Written for the questions people search
32 long-form advice articles and a family advice hub. Each one is marked up for search engines, with structured data, canonical tags and language targeting.
- Pages
- 74
- Advice articles
- 32
- Server functions
- 14
- Structured data
- 62 pages, 23 schema types
- Automatic health check
- Every 15 minutes
- Skip-to-content links
- On 68 pages
The health check tests more than whether pages load
Every page of a site can load normally while its email quietly fails, because the fault is in a domain setting (a DNS record). This check looks up the email signing record (DKIM) every fifteen minutes. It also tests the email key, the text-message account and the leads sheet directly, and confirms the private admin data is still locked to anyone not logged in (a 401 response). It emails a person only when something is wrong.
We can show you any of this, live.
Both sites are live, and so is the software behind them. On a call, you choose what to see: the admin screens, the automation log or the compliance record.