<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Devketers: Blog and Case Studies</title>
<link>https://www.devketers.com/blog</link>
<description>Practical articles from Devketers on web development, custom software, mobile apps and planning a successful software project.</description>
<language>en-gb</language>
<atom:link href="https://www.devketers.com/rss.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Tue, 27 Oct 2026 00:00:00 GMT</lastBuildDate>
<item><title>PHP2Shell: The Critical PHP Vulnerability and What to Do Now</title><link>https://www.devketers.com/blog/php2shell-php-vulnerability-what-to-do</link><guid isPermaLink="true">https://www.devketers.com/blog/php2shell-php-vulnerability-what-to-do</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>Two critical PHP flaws let attackers take over web servers without logging in. Here is who is affected, how to check your PHP version and how to fix it.</description><category>PHP</category><category>Web Security</category><category>WordPress</category><category>Laravel</category><content:encoded><![CDATA[<p>On 21 October 2026, the PHP project released emergency updates for two critical vulnerabilities, <strong>CVE-2026-109618</strong> and <strong>CVE-2026-109619</strong>, nicknamed <strong>&quot;PHP2Shell&quot;</strong>. Attacks were seen the same day, and on 26 October the US Cybersecurity and Infrastructure Security Agency (CISA) added the flaws to its catalogue of vulnerabilities known to be exploited.</p>
<p>If your website or web app runs on PHP, and that includes most WordPress, WooCommerce, Laravel, Drupal and Magento sites, this affects you. This guide explains what happened in plain language and what to do today.</p>
<p><em>This is a developing situation. This article reflects what was publicly known on 27 October 2026.</em></p>
<h2 id="what-is-php2shell">What is PHP2Shell?</h2>
<p>PHP is the programming language that runs on the server behind a large share of the web. PHP2Shell is a pair of bugs in PHP itself, not in a plugin or theme, which means a website can be vulnerable even if its own code is perfectly written.</p>
<p>Both flaws allow <strong>unauthenticated remote code execution</strong>. In plain terms, an attacker who can reach your website over the internet can run their own commands on your server, without a username or password. They are rated 9.2 out of 10 for severity (CVSS v4.0).</p>
<ul>
<li><strong>CVE-2026-109618</strong> is triggered when PHP runs out of memory part-way through setting up a request, leaving data in a broken state that PHP later trusts.</li>
<li><strong>CVE-2026-109619</strong> involves internal data that outlives the request it belongs to, so the next request handled by the same PHP process can act on leftover data.</li>
</ul>
<p>According to the PHP project, the risk is highest on servers using <strong>Apache with mod_php</strong>, where an attack can succeed before your application&#39;s code even runs.</p>
<h2 id="why-it-matters-for-your-business">Why it matters for your business</h2>
<p>Code execution on your server means an attacker can potentially:</p>
<ul>
<li>read or steal customer data, orders and passwords stored in your database</li>
<li>change your website, add spam pages or redirect visitors to malicious sites</li>
<li>install malware or use your server to attack others</li>
<li>take your site offline</li>
</ul>
<p>Beyond the immediate damage, a breach can mean lost sales, a drop in search rankings if Google flags your site, and data-protection obligations if personal data is exposed.</p>
<h2 id="is-my-website-affected">Is my website affected?</h2>
<p>Every PHP installation that serves web requests is in scope, whatever the server setup: PHP-FPM, Apache mod_php, php-cgi, LiteSpeed and FrankenPHP.</p>
<table>
<thead>
<tr>
<th>PHP version</th>
<th>Status</th>
</tr>
</thead>
<tbody><tr>
<td>8.5</td>
<td>Fixed in <strong>8.5.12</strong></td>
</tr>
<tr>
<td>8.4</td>
<td>Fixed in <strong>8.4.27</strong></td>
</tr>
<tr>
<td>8.3</td>
<td>Fixed in <strong>8.3.36</strong></td>
</tr>
<tr>
<td>8.2</td>
<td>Fixed in <strong>8.2.35</strong></td>
</tr>
<tr>
<td>7.4, 8.0, 8.1</td>
<td>No official release. Only source patches, Linux distribution or long-term-support vendor packages</td>
</tr>
<tr>
<td>7.3 and older (including PHP 5)</td>
<td>Affected, no fix</td>
</tr>
</tbody></table>
<p>If you are below the fixed version for your branch, you are vulnerable until you update.</p>
<h2 id="how-to-check-your-php-version">How to check your PHP version</h2>
<p>Use whichever applies to you:</p>
<ul>
<li><strong>WordPress:</strong> go to <strong>Tools → Site Health → Info → Server</strong> and look at &quot;PHP version&quot;.</li>
<li><strong>Hosting control panel:</strong> cPanel, Plesk and most managed hosts show the PHP version under a &quot;PHP&quot; or &quot;Software&quot; section.</li>
<li><strong>Laravel:</strong> run <code>php artisan about</code> on the server.</li>
<li><strong>Server access:</strong> run <code>php -v</code>. Note that the command line can use a different PHP than your website, so also check what your web server or PHP-FPM is running.</li>
</ul>
<h2 id="what-to-do-now">What to do now</h2>
<h3 id="1-update-php-to-a-fixed-version">1. Update PHP to a fixed version</h3>
<p>Update to 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or install the updated PHP package from your Linux distribution. The PHP maintainers state that <strong>no configuration change fully protects you</strong>. Updating is the fix.</p>
<h3 id="2-restart-php-after-updating">2. Restart PHP after updating</h3>
<p>Running PHP processes keep using the old code until they restart. Restart PHP-FPM, Apache and any long-running PHP workers so the fix actually takes effect.</p>
<h3 id="3-if-you-use-managed-or-shared-hosting">3. If you use managed or shared hosting</h3>
<p>Many hosts update PHP for you, but don&#39;t assume. Contact your host and ask two questions: <em>Has PHP been updated to a fixed version for PHP2Shell?</em> and <em>Have PHP processes been restarted?</em> If your site is pinned to an old PHP version in the control panel, the host may not be able to protect it.</p>
<h3 id="4-if-you-are-on-php-81-or-older">4. If you are on PHP 8.1 or older</h3>
<p>These versions no longer receive official updates. CISA&#39;s advice is to take unsupported PHP systems offline until they can be updated. The lasting fix is to upgrade to a supported version (8.2 or newer). For older WordPress or Laravel sites this can mean updating plugins, themes or framework versions too, so test on a copy of the site first.</p>
<h3 id="5-if-you-cant-update-today">5. If you can&#39;t update today</h3>
<ul>
<li>Restrict access to the site or server (for example, behind a VPN or IP allow-list) or take it offline temporarily.</li>
<li>A web application firewall (such as Cloudflare&#39;s) can block known attack patterns, but it is only partial protection while you patch, not a replacement for it.</li>
</ul>
<h3 id="6-check-for-signs-of-compromise">6. Check for signs of compromise</h3>
<p>If your site was exposed before you patched, look for warning signs: unfamiliar files or admin users, PHP processes launching shell commands or downloading tools, unexpected outbound traffic, or changed pages. If anything looks wrong, restore from a clean backup, change all passwords and keys stored on the server, and get a professional to investigate.</p>
<h2 id="the-bigger-lesson-keep-your-stack-up-to-date">The bigger lesson: keep your stack up to date</h2>
<p>PHP2Shell isn&#39;t a reason to abandon PHP. It is a reminder that every website runs on layers of software that need regular maintenance. Sites still on PHP 7.4 or 8.1 are now in the hardest position, because there is no simple official update for them.</p>
<p>A simple routine prevents most of this:</p>
<ul>
<li>stay on a supported PHP version and plan upgrades before end-of-life dates</li>
<li>apply security updates promptly and know who is responsible for them (you, your developer or your host)</li>
<li>keep regular, tested backups stored away from the server</li>
<li>keep plugins, themes and frameworks current</li>
</ul>
<h2 id="need-help">Need help?</h2>
<p>If you&#39;re not sure whether your site is affected, or you&#39;re stuck on an old PHP version that needs upgrading, <a href="/contact">get in touch with us</a>. We build and maintain <a href="/services/web-development">custom web applications and websites</a> and can help you update safely.</p>
<h2 id="sources">Sources</h2>
<ul>
<li><a href="https://www.cisa.gov/news-events/alerts/2026/10/21/critical-vulnerabilities-php-require-immediate-patching">CISA: Critical Vulnerabilities in PHP Require Immediate Patching</a></li>
<li><a href="https://cert.europa.eu/publications/security-advisories/2026-018/">CERT-EU Security Advisory 2026-018: Critical Vulnerabilities in PHP</a></li>
<li><a href="https://watchtowr.com/intelligence/php-cve-2026-109618-faq/">watchTowr: CVE-2026-109618 FAQ</a></li>
<li><a href="https://www.helpnetsecurity.com/2026/10/21/php2shell-php-vulnerabilities-patched-cve-2026-109618-cve-2026-109619/">Help Net Security: PHP2Shell vulnerabilities patched</a></li>
</ul>
]]></content:encoded></item>
<item><title>Chance 4 Change: A Website and Management System for a Dog Rescue Charity</title><link>https://www.devketers.com/case-studies/chance-4-change-dog-rescue-website</link><guid isPermaLink="true">https://www.devketers.com/case-studies/chance-4-change-dog-rescue-website</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>How we rebuilt Chance 4 Change's website in Next.js with an admin system for adoptable dogs, rehomed dogs, foster stories and medical fund cases.</description><content:encoded><![CDATA[<p><a href="https://chance4change.co.nz/">Chance 4 Change</a> is a registered dog rescue charity based in Wellington, New Zealand. It takes in unwanted, neglected and abused dogs and works to find them loving forever homes, through adoption and a network of foster carers.</p>
<p>For a rescue, the website does a lot of the work. It&#39;s where adopters meet the dogs, where fosterers and volunteers sign up, and where supporters donate. Chance 4 Change had a website, but it needed an upgrade, and keeping the dog listings up to date had to be simple for a small team.</p>
<h2 id="the-challenge">The challenge</h2>
<p>The charity needed:</p>
<ul>
<li>a modern website that shows each dog well and makes adopting, fostering, volunteering and donating easy</li>
<li>a simple way for the team to add and update dogs without editing pages by hand</li>
<li>a place to share happy endings and foster stories, which build trust with future adopters and donors</li>
<li>a way to raise money for dogs that need medical treatment</li>
</ul>
<h2 id="what-we-built">What we built</h2>
<h3 id="a-new-public-website">A new public website</h3>
<ul>
<li><strong>Dogs for adoption</strong>, each with their own profile and story</li>
<li>Clear pages for <strong>adopting</strong>, <strong>fostering</strong> (with an application route), <strong>volunteering</strong> and <strong>surrendering</strong> a dog</li>
<li>A <strong>donate</strong> page so supporters can give online</li>
<li>A featured dog on the homepage, a newsletter sign-up and full charity details</li>
</ul>
<h3 id="an-admin-system">An admin system</h3>
<p>The charity&#39;s admins log in to a dashboard that shows the numbers at a glance, such as how many dogs are looking for homes, how many have been rehomed, foster stories and urgent medical cases. From there they can manage:</p>
<ul>
<li><strong>Available dogs</strong>: add a dog with photos and their story, and update them as things change</li>
<li><strong>Adopted dogs</strong>: dogs that have found their forever homes, shared as success stories</li>
<li><strong>Foster stories</strong></li>
<li><strong>Medical fund cases</strong>: a page for a dog that needs treatment, with photos and the story behind the appeal</li>
</ul>
<p>Everything added in the admin area appears on the public website straight away, so keeping the site current no longer needs a developer.</p>
<h2 id="technology">Technology</h2>
<ul>
<li><strong>Next.js</strong> for a fast website and admin system in one codebase</li>
<li><strong>MongoDB</strong> for dogs, stories and medical cases</li>
</ul>
<p>The project took around two to three months.</p>
<h2 id="the-result">The result</h2>
<ul>
<li>The team can <strong>easily manage dogs, success stories and appeals</strong> themselves</li>
<li>The website gives every dog a proper profile, and makes the next step clear whether a visitor wants to adopt, foster, volunteer or donate</li>
<li>Rehomed dogs and foster stories are showcased, helping more rescue dogs find homes</li>
</ul>
<p>We continue to support Chance 4 Change with the platform.</p>
<h2 id="building-something-similar">Building something similar?</h2>
<p>Charities and non-profits often run on small teams and tight budgets, so the website has to be easy to keep up to date. If you need a site that your team can manage themselves, <a href="/contact">tell us about your project</a> and we&#39;ll get back to you with a free design.</p>
]]></content:encoded></item>
<item><title>Cheryl Trust: Website, Bookings and Memberships for an Animal Behaviourist, Charity and Dog Park</title><link>https://www.devketers.com/case-studies/cheryl-trust-technique-booking-membership-system</link><guid isPermaLink="true">https://www.devketers.com/case-studies/cheryl-trust-technique-booking-membership-system</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>A new Next.js website, member portal and admin system for a Wellington animal behaviourist, charity and canine adventure park, with Stripe payments.</description><content:encoded><![CDATA[<p><a href="https://www.cheryltrust.com/">Cheryl McDonough</a> is a Trust Technique® practitioner and animal behaviourist based in Wellington, New Zealand, working with both dogs and horses. Alongside her one-to-one sessions she runs a registered charitable trust and a <strong>canine adventure park</strong>: a private, members-only space where dogs can play off-lead.</p>
<p>That&#39;s three different things to run from one website: a professional service business, a charity and a membership-based park. Cheryl already had a website, but it needed an upgrade to handle bookings, memberships and payments properly.</p>
<h2 id="the-challenge">The challenge</h2>
<p>Cheryl needed a single platform that could:</p>
<ul>
<li>present her dog and horse services, the Trust Technique, the charity and the adventure park clearly</li>
<li>let park members join, book sessions and manage their own bookings</li>
<li>support <strong>different types of membership</strong></li>
<li>take payments online</li>
<li>give her an admin area to run it all without technical help</li>
</ul>
<h2 id="what-we-built">What we built</h2>
<h3 id="a-new-public-website">A new public website</h3>
<p>A rebuilt website covering her services for dogs and horses, the Trust Technique, the charitable trust, the canine adventure park, a dog photo gallery and client testimonials, with clear paths to enquire, book or donate.</p>
<h3 id="a-member-portal">A member portal</h3>
<p>Park members get their own login where they can:</p>
<ul>
<li>manage their profile and their <strong>registered dogs</strong>, including neutering and vaccination status</li>
<li>see upcoming sessions and <strong>book new ones</strong></li>
<li><strong>reschedule or cancel</strong> bookings themselves, with changes locked inside a set window before a session starts so the park isn&#39;t left with last-minute gaps</li>
<li>view their active membership and past sessions</li>
<li>leave a review after a session</li>
</ul>
<h3 id="an-admin-system">An admin system</h3>
<p>Behind the scenes, Cheryl has one dashboard to manage the whole business:</p>
<ul>
<li><strong>Bookings and calendar</strong> for park sessions and services</li>
<li><strong>Membership packages and booking packages</strong>, with <strong>Stripe</strong> for payments</li>
<li><strong>Service plans</strong> with pricing that appears automatically on the website</li>
<li><strong>Vouchers</strong></li>
<li><strong>Clients</strong> and their dogs</li>
<li><strong>Opening hours and slot settings</strong> for each day, including session length and buffer time between bookings</li>
<li><strong>Park closures and blackout dates</strong>, so maintenance days or bad weather block bookings automatically</li>
<li>An <strong>email broadcast tool</strong> to message clients, filtered by membership status (for example active, expired, or no package)</li>
<li><strong>Testimonials</strong> with an approval queue, and the <strong>dog gallery</strong></li>
</ul>
<h2 id="technology">Technology</h2>
<ul>
<li><strong>Next.js</strong> for the website, member portal and admin system in one codebase</li>
<li><strong>MongoDB</strong> for members, dogs, bookings, memberships and content</li>
<li><strong>Stripe</strong> for online payments</li>
</ul>
<p>The project took around two to three months.</p>
<h2 id="the-result">The result</h2>
<ul>
<li>Members can <strong>book and manage park sessions online</strong>, and memberships and payments are handled in one place</li>
<li>Cheryl can update services, pricing, opening hours, closures and content herself</li>
<li>Day-to-day admin is <strong>much easier to manage</strong>, with bookings, members, payments and communication in a single system</li>
</ul>
<p>We continue to work with Cheryl on the platform.</p>
<h2 id="building-something-similar">Building something similar?</h2>
<p>If you run a membership, venue or appointment-based business and are juggling bookings, payments and member communication across different tools, we can bring it together in one system. <a href="/contact">Tell us about your project</a> and we&#39;ll get back to you with a free design.</p>
]]></content:encoded></item>
<item><title>CoachFlow: A Booking and Lead Management Platform for Personal Coaches</title><link>https://www.devketers.com/case-studies/coachflow-personal-coach-booking-platform</link><guid isPermaLink="true">https://www.devketers.com/case-studies/coachflow-personal-coach-booking-platform</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>CoachFlow is a Next.js platform we built for personal coaches to take bookings, manage clients, capture email leads and track them through a pipeline.</description><category>Product</category><content:encoded><![CDATA[<p>Personal coaches spend a surprising amount of their week on admin: arranging discovery calls, chasing replies, keeping track of who is on which programme and following up with people who downloaded a freebie or took a quiz. Usually that&#39;s spread across a booking tool, an email inbox, a spreadsheet and a payment app.</p>
<p><strong>CoachFlow</strong> is a platform we designed and built to bring all of that into one place, so coaches can spend less time on admin and more time coaching.</p>
<p><em>CoachFlow is a Devketers product. The screenshots use sample data.</em></p>
<h2 id="the-problem-we-set-out-to-solve">The problem we set out to solve</h2>
<p>A coach&#39;s business runs on a simple loop: someone discovers them, books a call, becomes a client and joins a programme. Each step tends to live in a different tool, so leads go cold, bookings get missed and it&#39;s hard to see which programmes actually bring in revenue.</p>
<h2 id="what-coachflow-does">What CoachFlow does</h2>
<h3 id="online-booking">Online booking</h3>
<p>Clients book through a public booking page: they pick a session type (such as a free discovery session), choose a date and time in their own time zone, and get a video call link when the booking is confirmed. The coach creates available slots by date range, time and session length, and sees everything on a bookings calendar.</p>
<h3 id="session-management">Session management</h3>
<p>Every booking shows the client, the time and any notes they left. The coach can <strong>confirm, complete or cancel</strong> sessions in one click.</p>
<h3 id="leads-captured-from-email">Leads captured from email</h3>
<p>CoachFlow brings leads together from different sources, such as <strong>quizzes, freebies, newsletter sign-ups and bookings</strong>, into one inbox, so no enquiry gets lost. Coaches can filter by source and date, and reply from there.</p>
<h3 id="lead-board">Lead board</h3>
<p>A visual pipeline moves each lead from <strong>new</strong> to <strong>outreached</strong>, <strong>reply received</strong> and <strong>completed</strong>, with the package they&#39;re interested in and their notes. Leads can be filtered by package and exported.</p>
<h3 id="clients-and-revenue">Clients and revenue</h3>
<ul>
<li><strong>Client management</strong>, with personal details, joined dates and growth over the month, plus CSV export</li>
<li><strong>Revenue by programme</strong>, for example a 12-week transformation programme, single sessions or a group mastermind, so the coach can see which offers perform best</li>
</ul>
<h2 id="technology">Technology</h2>
<ul>
<li><strong>Next.js</strong> for the public booking pages and the coach portal in one codebase</li>
</ul>
<h2 id="the-result">The result</h2>
<p>CoachFlow gives a coach one place to take bookings, capture and follow up leads, manage clients and see revenue, which means <strong>less time on admin and more time coaching</strong>.</p>
<h2 id="want-something-like-this-for-your-business">Want something like this for your business?</h2>
<p>CoachFlow&#39;s approach works for any appointment-based service business, such as consultants, therapists, tutors or trainers. <a href="/contact">Tell us about your business</a> and we&#39;ll get back to you with a free design.</p>
]]></content:encoded></item>
<item><title>Dog Walkers App: A React Native Booking App for Dog Walking Businesses</title><link>https://www.devketers.com/case-studies/dog-walkers-booking-mobile-app</link><guid isPermaLink="true">https://www.devketers.com/case-studies/dog-walkers-booking-mobile-app</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>A cross-platform React Native app we built for dog walking businesses, with separate experiences for dog owners, walkers and admins.</description><category>Product</category><content:encoded><![CDATA[<p>Running a dog walking business from a phone usually means WhatsApp messages, a paper diary and a lot of back-and-forth to arrange each walk. The <strong>Dog Walkers App</strong> is a mobile app we designed and built to handle bookings, walks and communication for dog walking businesses, so owners can <strong>book a walk in a couple of taps</strong>.</p>
<p><em>The Dog Walkers App is a Devketers product. The screens shown use sample data.</em></p>
<p>It has three separate experiences in one app: one for <strong>dog owners</strong>, one for <strong>walkers</strong> and one for the <strong>business admin</strong>.</p>
<h2 id="for-dog-owners">For dog owners</h2>
<ul>
<li>A home screen with <strong>upcoming walks</strong> and their status (requested or confirmed)</li>
<li><strong>Book with a walker</strong> after viewing their profile, including qualifications such as canine first aid, the areas they cover, the walks they offer and reviews from other owners</li>
<li><strong>Group walks or private walks</strong>, depending on what each dog needs</li>
<li><strong>Dog profiles</strong>, with alerts when a vaccination is due</li>
<li><strong>Walk reports</strong> after every walk, with notes, distance, duration and photos</li>
<li><strong>Notifications</strong> when a walk is confirmed, a request is sent, a report is ready or a membership renews</li>
</ul>
<h2 id="for-walkers">For walkers</h2>
<ul>
<li>A day view of their walks, including <strong>group walks</strong> with every dog in the group</li>
<li>Each dog&#39;s pick-up address and <strong>access notes</strong>, for example where the key safe is, or that the side gate latch is stiff</li>
<li><strong>Mark a walk complete</strong>, and reports are sent to every owner automatically</li>
<li>Their client list, availability and time off, the areas they cover, and the types of walk they offer</li>
</ul>
<h2 id="for-the-business-admin">For the business admin</h2>
<ul>
<li><strong>People</strong>: clients, walkers and dogs in one place, with filters such as members, clients with low credits and inactive clients</li>
<li><strong>Book on behalf of a client</strong>: pick the dog, group or private walk, walker, day and time slot. The app warns when a dog already has a walk that day</li>
<li><strong>Prices and services</strong>, including group walks, private walks and meet-and-greets</li>
<li><strong>Membership plans</strong> and walk credits</li>
<li><strong>Team</strong>: add new dog walkers</li>
<li><strong>Reports</strong> on revenue, bookings and capacity</li>
<li><strong>Exports</strong> of client emails and active clients</li>
</ul>
<h2 id="technology">Technology</h2>
<ul>
<li><strong>React Native</strong>, so one codebase runs on both <strong>iPhone and Android</strong></li>
</ul>
<h2 id="the-result">The result</h2>
<p>Owners can <strong>book walks in a couple of taps</strong>, walkers have everything they need for each walk in their pocket, and the business can see bookings, clients, capacity and revenue in one app.</p>
<h2 id="want-an-app-like-this">Want an app like this?</h2>
<p>We build cross-platform mobile apps for service businesses, from booking and scheduling to client and team management. <a href="/contact">Tell us about your idea</a> and we&#39;ll get back to you with a free design.</p>
]]></content:encoded></item>
<item><title>Fetch Cambridge: A Booking and Management System for a Dog Walking Company</title><link>https://www.devketers.com/case-studies/fetch-cambridge-dog-walking-management-system</link><guid isPermaLink="true">https://www.devketers.com/case-studies/fetch-cambridge-dog-walking-management-system</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>How we replaced Fetch Cambridge's old system with a Next.js platform for online bookings, recurring walks, walker scheduling and PayPal payments.</description><content:encoded><![CDATA[<p><a href="https://www.fetchcambridge.co.uk/">Fetch Cambridge</a> is a professional dog walking company in Cambridge, UK. Running a dog walking business means juggling a lot at once: regular clients with walks every week, a team of walkers with their own schedules, one-off bookings, and payments to keep track of.</p>
<p>Fetch Cambridge came to us with an existing system that they had outgrown. We designed and built a new platform that brings their website, bookings, scheduling and payments together in one place.</p>
<h2 id="the-challenge">The challenge</h2>
<p>The old system could no longer keep up with how the business worked day to day. Fetch Cambridge needed a single platform that could:</p>
<ul>
<li>let clients book walks online instead of arranging everything manually</li>
<li>handle <strong>recurring walks</strong>, the regular weekly bookings that most of a dog walking business depends on</li>
<li>give the team a clear view of who is walking which dog, and when</li>
<li>keep client and dog details organised</li>
<li>take payments online</li>
</ul>
<p>It also had to work for three very different groups of people: the business owners running it, the walkers out on the road, and the dog owners booking walks.</p>
<h2 id="what-we-built">What we built</h2>
<p>We built a custom web application with a public website and a secure login for each type of user.</p>
<h3 id="for-clients-dog-owners">For clients (dog owners)</h3>
<ul>
<li>Online booking of walks, including recurring bookings</li>
<li>A profile for their account and their dogs</li>
<li>Online payments through <strong>PayPal</strong></li>
<li>Notifications about their bookings</li>
</ul>
<h3 id="for-dog-walkers">For dog walkers</h3>
<ul>
<li>Their own login showing the walks assigned to them</li>
<li>Notifications when their schedule changes</li>
</ul>
<h3 id="for-admins">For admins</h3>
<ul>
<li>Full booking management in one dashboard</li>
<li>Scheduling walks and assigning them to walkers</li>
<li>Client and dog profiles</li>
<li>Invoicing and payment tracking</li>
<li>Notifications to keep clients and walkers up to date</li>
</ul>
<p>The public website and the management system are part of the same build, so new clients can go from reading about the service to booking a walk without leaving the site.</p>
<h2 id="the-hardest-part-recurring-walks-and-booking-management">The hardest part: recurring walks and booking management</h2>
<p>Most of a dog walking company&#39;s work is repeat business. The same dog is walked every Monday, Wednesday and Friday, for months. That sounds simple, but a booking system has to deal with what happens around it:</p>
<ul>
<li>a client cancels or moves a single walk without changing the rest of the schedule</li>
<li>a walker is unavailable and their walks need reassigning</li>
<li>new one-off bookings have to fit around the recurring ones</li>
<li>payments and invoices need to match the walks that actually happened</li>
</ul>
<p>We designed the booking model around recurring walks from the start, rather than treating them as a series of separate one-off bookings. This keeps the schedule accurate when things change, and makes the admin view much easier to manage.</p>
<h2 id="technology">Technology</h2>
<ul>
<li><strong>Next.js</strong> for the website and web application, in one fast, SEO-friendly codebase</li>
<li><strong>MongoDB</strong> for bookings, clients, dogs, walkers and schedules</li>
<li><strong>PayPal</strong> integration for online payments</li>
</ul>
<p>The project took around five months from start to launch.</p>
<h2 id="the-result">The result</h2>
<ul>
<li><strong>Bookings now come in online</strong>, so clients can book walks themselves rather than arranging them manually</li>
<li><strong>Day-to-day management is easier</strong>: bookings, recurring walks, walker schedules, client details and payments are all in one place</li>
<li>The website and booking system work together, giving Fetch Cambridge a professional online presence that turns visitors into bookings</li>
</ul>
<p>Fetch Cambridge was happy with the new platform, and we continue to work with them on improvements and new features as the business grows.</p>
<h2 id="building-something-similar">Building something similar?</h2>
<p>If you run a service business that depends on bookings, schedules and repeat customers, such as dog walking, pet care, cleaning, tutoring or coaching, a system built around how you actually work can take a lot of the admin off your plate. <a href="/contact">Tell us about your project</a> and we&#39;ll get back to you with a free design.</p>
]]></content:encoded></item>
<item><title>iSolutionYou: A Lead Management CRM for an Outreach and Appointment Setting Team</title><link>https://www.devketers.com/case-studies/isolutionyou-lead-management-crm</link><guid isPermaLink="true">https://www.devketers.com/case-studies/isolutionyou-lead-management-crm</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>A custom MERN-stack CRM for iSolutionYou's cold calling team, with lead pipelines, Calendly appointments, role-based access, KPIs and a duplicate checker.</description><content:encoded><![CDATA[<p><a href="https://isolutionyou.com/">iSolutionYou</a> is an outsourcing agency based in Lahore, Pakistan. Among its services, its team does <strong>cold calling and appointment setting</strong> for clients, finding business owners, contacting them and booking appointments for the client&#39;s sales team. Clients include business brokers in the US.</p>
<p>That work produces a huge amount of data: thousands of leads, each with a status, a call history, notes and follow-up dates, spread across several client campaigns and handled by a team of agents. Generic spreadsheets and off-the-shelf CRMs didn&#39;t fit the way the team actually works, so we built them a CRM of their own.</p>
<h2 id="the-challenge">The challenge</h2>
<p>iSolutionYou needed one system that could:</p>
<ul>
<li>hold leads for <strong>several client campaigns</strong> without mixing them up</li>
<li>track every lead through the outreach process, from first contact to booked appointment</li>
<li>show managers, at a glance, how calls and appointments are going</li>
<li>control what each team member can see and do</li>
<li>stop agents from wasting time on <strong>duplicate leads</strong> when new lists are imported</li>
</ul>
<h2 id="what-we-built">What we built</h2>
<h3 id="a-live-overview-dashboard">A live overview dashboard</h3>
<p>Total appointments, appointments booked today, show-ups and missed appointments, plus lead counts by outcome (callbacks, interested, not interested, wrong number, follow-ups). A trends chart shows calls and appointments over the week, next to today&#39;s schedule.</p>
<h3 id="lead-pipelines-per-client">Lead pipelines per client</h3>
<p>Leads are organised by client campaign. Each lead has its contact details, company, location, source (for example LinkedIn, referral, website or Upwork), status and follow-up date. Statuses cover the whole outreach process, including new lead, interested, future follow-up, cold email sent, appointment booked and onboarding. A full <strong>outreach notes and history</strong> log on each lead means anyone can pick up where a colleague left off. There is also a separate workspace for leads being worked by text message.</p>
<h3 id="appointments-and-calendar">Appointments and calendar</h3>
<p>Booked appointments appear in a calendar with today&#39;s schedule, call details and status (scheduled, completed, no-show). Appointments booked through <strong>Calendly</strong> are tracked automatically.</p>
<h3 id="team-management-and-permissions">Team management and permissions</h3>
<ul>
<li><strong>Role-based access</strong>: admins can switch individual pages, data actions and sensitive sections on or off for each team member</li>
<li><strong>User management</strong> with roles such as outreach specialist, senior sales agent and sales manager</li>
<li><strong>KPI reporting</strong> per employee over any date range: appointments, show-up rates and booking outcomes</li>
<li>Salary management for the team</li>
</ul>
<h3 id="spreadsheet-import-and-duplicate-checker">Spreadsheet import and duplicate checker</h3>
<p>New lead lists can be uploaded from Excel or CSV. Before anything is imported, the <strong>duplicate checker</strong> screens the file against existing leads, for one client or across the whole CRM. Flexible matching rules (for example name and company together, or phone or email alone) decide what counts as a duplicate.</p>
<h2 id="technology">Technology</h2>
<p>Built on the <strong>MERN stack</strong>:</p>
<ul>
<li><strong>MongoDB</strong> for leads, clients, appointments and users</li>
<li><strong>Express</strong> and <strong>Node.js</strong> for the API, permissions and import processing</li>
<li><strong>React</strong> for the dashboard and workspace</li>
<li><strong>Calendly</strong> integration for appointment tracking</li>
</ul>
<h2 id="the-result">The result</h2>
<ul>
<li>Lead data from every client campaign is <strong>organised in one place</strong>, with a full history on every lead</li>
<li>The team&#39;s <strong>workflow is streamlined</strong>: agents know exactly who to call and when, and managers can see performance without building reports by hand</li>
<li>Duplicate checking keeps imported lists clean, so agents don&#39;t call the same business twice</li>
</ul>
<h2 id="building-something-similar">Building something similar?</h2>
<p>If your team is managing leads, calls and appointments across spreadsheets and tools that don&#39;t quite fit, a CRM built around your process can make a big difference. <a href="/contact">Tell us about your project</a> and we&#39;ll get back to you with a free design.</p>
]]></content:encoded></item>
<item><title>Solid Tex: A Corporate Website for a Sewing Thread Manufacturer</title><link>https://www.devketers.com/case-studies/solid-tex-thread-manufacturer-website</link><guid isPermaLink="true">https://www.devketers.com/case-studies/solid-tex-thread-manufacturer-website</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>A WordPress corporate website for Solid Tex, a Lahore sewing thread manufacturer, presenting its products, certifications and industries, with an enquiry form.</description><content:encoded><![CDATA[<p><a href="https://solidtex.net/">Solid Tex</a> is a sewing thread manufacturer based in Lahore, Pakistan. It makes polyester, polycore, spun polyester and other industrial threads, and supplies garment and textile manufacturers, many of them export factories.</p>
<p>For a manufacturer selling to other businesses, the website is often the first thing a buyer checks. It has to show the product range clearly, prove quality, and make it easy to get in touch for a quote.</p>
<h2 id="the-challenge">The challenge</h2>
<p>Solid Tex needed a professional corporate website that would:</p>
<ul>
<li>present the company, its experience and its values</li>
<li>show the <strong>full product range</strong> in a way buyers can scan quickly</li>
<li>highlight its <strong>certifications</strong>, such as ISO 9001:2015 and OEKO-TEX® Standard 100, which matter to export customers</li>
<li>explain which <strong>industries</strong> it serves</li>
<li>turn visitors into enquiries</li>
<li>be set up properly for search engines, so buyers can find it</li>
</ul>
<h2 id="what-we-built">What we built</h2>
<p>A <strong>WordPress</strong> corporate website with:</p>
<ul>
<li><strong>About the company</strong>: its journey, philosophy and commitment to quality and sustainability</li>
<li><strong>Why choose Solid Tex</strong>: pricing, quality, fast delivery and on-site testing</li>
<li><strong>Product range</strong>: thread types with images, including spun polyester, polycore and bonded threads</li>
<li><strong>Industries served</strong>: apparel and fashion, home textiles, industrial applications and technical textiles</li>
<li><strong>Certificates</strong>: a dedicated section showing its quality and textile safety certifications</li>
<li><strong>Contact</strong>: a direct call-to-action phone number, an enquiry form, address details and a map</li>
</ul>
<p>The site uses a clean, corporate design built around the company&#39;s brand, and was built with <strong>SEO</strong> in mind so buyers can find it in search.</p>
<h2 id="technology">Technology</h2>
<ul>
<li><strong>WordPress</strong>, so the Solid Tex team can update content themselves</li>
</ul>
<h2 id="the-result">The result</h2>
<p>Solid Tex has a professional online presence that presents its products and certifications clearly, supports its reputation with buyers and gives them a simple way to make an enquiry.</p>
<h2 id="building-something-similar">Building something similar?</h2>
<p>If you&#39;re a manufacturer or B2B business and your website isn&#39;t doing justice to your products and quality standards, we can help. <a href="/contact">Tell us about your project</a> and we&#39;ll get back to you with a free design.</p>
]]></content:encoded></item>
<item><title>The Watches Inc: A Sales, Inventory and Customer Management System for a Watch Business</title><link>https://www.devketers.com/case-studies/the-watches-inc-sales-inventory-system</link><guid isPermaLink="true">https://www.devketers.com/case-studies/the-watches-inc-sales-inventory-system</guid><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><description>A custom web app for The Watches Inc to track watch inventory, investment groups, sales, profit, expenses, customers and suppliers in one place.</description><content:encoded><![CDATA[<p>The Watches Inc buys and sells watches. Like many growing resellers, it sources stock from different suppliers, sells to customers through social media and direct sales, and needs to know exactly what each watch cost, what it sold for and what profit it made.</p>
<p>Some of the stock is bought through <strong>investment groups</strong>, where money is pooled to buy watches, so profit also has to be tracked per group. That gets complicated quickly in spreadsheets.</p>
<h2 id="the-challenge">The challenge</h2>
<p>The Watches Inc needed one system to:</p>
<ul>
<li>keep track of every watch in stock, where it came from and what it cost</li>
<li>record sales with the real profit on each one, after expenses</li>
<li>see sales and profit <strong>per investment group</strong></li>
<li>track expenses, including advertising spend</li>
<li>keep a record of customers, suppliers and day-to-day tasks</li>
</ul>
<h2 id="what-we-built">What we built</h2>
<p>A private admin web app with everything in one place.</p>
<h3 id="dashboard-and-analysis">Dashboard and analysis</h3>
<p>A dashboard with sales trends and sales by group, plus a <strong>business analysis</strong> view showing revenue and profit trends, order volume and a monthly sales history with new customers and profit.</p>
<h3 id="investment-groups">Investment groups</h3>
<p>Each investment group shows its watches, total sales and profit, so everyone knows how their money is performing.</p>
<h3 id="inventory">Inventory</h3>
<p>Every watch is recorded with its investment group, brand, source, cost price, list price and condition, plus whether it has been <strong>posted on Instagram</strong> yet. Stock can be added one item at a time, imported in bulk or pasted in from a spreadsheet.</p>
<h3 id="sales-records">Sales records</h3>
<p>Each sale records the cost, selling price, any expenses and the resulting <strong>profit</strong>, along with the customer, city, payment status and whether the order has been shipped and delivered. Totals for revenue, profit and number of transactions are always visible, and sales can be imported in bulk.</p>
<h3 id="expenses-customers-and-suppliers">Expenses, customers and suppliers</h3>
<ul>
<li>An <strong>expense tracker</strong> with categories and a monthly trend, including advertising spend</li>
<li>A <strong>customer directory</strong> with each customer&#39;s sale history</li>
<li><strong>Sources and suppliers</strong>, with totals for what has been bought and sold through each</li>
<li>A simple <strong>to-do list</strong> for day-to-day tasks</li>
</ul>
<h2 id="technology">Technology</h2>
<ul>
<li><strong>React</strong> for the admin interface</li>
<li><strong>Node.js</strong> for the API and business logic</li>
<li><strong>MongoDB</strong> for stock, sales, customers and groups</li>
</ul>
<h2 id="the-result">The result</h2>
<ul>
<li><strong>Sales, stock and customers are managed in one system</strong> instead of scattered spreadsheets</li>
<li>The business can see the real profit on every watch, and for every investment group</li>
<li>Bulk import and paste make it quick to bring existing records in</li>
</ul>
<h2 id="building-something-similar">Building something similar?</h2>
<p>If you&#39;re running a reselling or retail business on spreadsheets and starting to lose track of stock, costs and profit, a simple custom system can give you a clear picture. <a href="/contact">Tell us about your project</a> and we&#39;ll get back to you with a free design.</p>
]]></content:encoded></item>
</channel>
</rss>
