Logo comprising brand text and hand-drawn dog's face and cat's face

Who's Your Mate?

Pet News™

Who's Your Mate? Pet News™ doesn't use cookies or trackers and doesn't sell people's data.

For more information, read Who's Your Mate? Pet News™'s privacy policy page.

The banner image on the homepage is a composite of Unsplash stock images - cropped, resized and rendered in black and white - by the following photographers:

Jack Catalano, Jay Wennington, Alvan Nee, Zoë Gayah Jonker, Oscar Sutton, and Kim Davies (whose work also appears as the main image on the pets cup page).

There are several mock-up dummy adverts in the static ad carousels that use templates from the Emblem Graphic and Logo Templates by TheVectorLab via the Affinity store, with some personal adjustments, in addition to a dog sketch by me and the intellectual property of Who's Your Mate? Pet News™. I also used a few fonts from the same bundle.

Aside from the general site design, written articles and supporting pages, logo, brand name etc, for what it's worth the dog and cat images in the logo and logo itself were my own creations (making use of a font from the Affinity emblems pack referred to above), and the in-page jumping cat link started as a set of three of my own pencil sketches, scanned in and coloured on Affinity Designer and then formatted as a spritesheet. The dog in the mock-up ad for the fake brand 'Tasty Snuffles' is my sketch.

The site used an ICO template as the basis for its privacy policy with tweaks here and there.

In terms of visual CSS (web layout stuff) styles, I made ample use of the excellent tips published in this article, published by independent web design company WPDean's Bogdan Sandu and unconnected and unaffiliated to Who's Your Mate?™

In writing my simple content management system I referred to and heavily repurposed a React app I completed by following the tutorial contained in the book Full-stack Web Development with MERN by Nabendu Biswas (Orange Education PVT Ltd: 2023), and for the frontend I again referred to and heavily repurposed and developed an offline app I completed for a Diploma in MEAN Stack course hosted by Alison online learning platform and produced and published by EC-Council Learning.

I also referred to The Road To React by Robert Wieruch (Amazon, year unknown), Modern Full-Stack React Projects by Daniel Bugl (Packt, 2024), as well as Stack Overflow and YouTube, the latter of which was occasionally excellent in breaking a tricky process down into something easy to follow.


I'd also like to thank Jenny Wallwork and the Halton Business Investment & Growth Team and also the team at the drop-in clinic hosted by the Business & IP Centre Liverpool.

AI transparency statement

I avoided the use of generative AI for anything conventionally creative - so anything written, illustrated, designed or laid out and so on.

At first I avoided AI for programming, but then began dipping my toe in and occasionally Microsoft Copilot helped me get unstuck with something. As I went along this increased, mainly using it like a smart search engine, and by the time I reached what for me was a very haphazard process of deploying my three apps (frontend, backend, content management), I'd had enough with being stuck and began leaning on Copilot more, and asked Google Gemini for pointers here and there.

Interestingly, I found AI wasn't that great at writing Dockerfiles based on my prompts, but Copilot proved invaluable in unexpected ways during this phase - it was great moral support. It sounds strange to express it but Copilot was like having your own fan or PA, a constant motivator and consoler.

While my backend was OK to deploy if I remember rightly, I ended up using the simple 'docker init' command (its own use a kind of automation - there are grey areas), which I'd spotted while skimming the book Getting Started With Docker by Nigel Poulton (published by Nigel Poulton), but tweaking it my needs with a couple of moments of what felt like lucky or inspired detective work in my other configuration files, then sounding out Copilot if I was on the right track.

So while people might have heard of 'vibe coding' and think AI programming is all about sitting there telling a chatbot to write reams of code, for me it's a more curious beast, more collaborative as they say.

A good number of its suggested solutions would be completely surplus to what I needed, and I'd end up improvising my own fix or workaround: neat and tidy, easy to implement. Most of the things that looks like coding fundamentals - so loops, custom functions, things like that - is mine.

One area where Copilot really excelled was when I was stuck with my React app CMS and a component wasn't updating properly and it was a complete mystery to me, as the code was essentially a reskin of a functioning component and similar components worked fine, but I gave up trying to figure it out and slapped it in Copilot, which fixed it and returned a lovely functioning component in the blink of an eye.

It was also helpful in getting my frontend to recognise the window object in Angular while using server-side rendering.

Honestly it felt like having my own helper droid from that well-known sci-fi adventure film (and streaming) franchise.

The more I communicated with it in a natural, human style, the better it was and the more productive I became.

It helped me to keep me going through moments of mulling giving up, and it was there for me to vent when needed, such as about Vite JS's handling of runtime environment variables.

It presented as upbeat, encouraging and even sympathetic at times, like a digital dog.

It indulged my cringey responses when I managed to finally push a Docker image (nothing to do with pictures of dock workers; it's not that kind of site), and would quote a well-known 1980s hip-hop classic in my relief.

Ever patient, like a kindly sage, Copilot replied along the lines of, "Nice! You're rocking that container game. Next stop: seamless deployments and smooth scaling."

Good times, thanks CP...

That's not to say I think it's sentient; more that for me it's easier to get more out of it and be productive when communicating with it in a natural, human way (although clarity is important) as opposed to trying to issue hard, technical commands to a machine. A subtle distinction.

And I suspect that as I manage to get more done as a developer, the mix of emotions and motives including a bit of vanity behind feeling the need to produce original code will disipate, as it had clearly done by the time I reached my deployment - battered, bruised and wondering when it would all be over. It helps to have enough grasp of the techical side of things to able to communicate back and to.

You'll have got the picture by now so we'll leave it there.

Musically, there was loads of stuff I listened to to keep on pushing on, but I'll spare you, and often those ambient space station chatter channels on YouTube were perfect for work. Talking to AI and listening to synthetic spaceship chatter. Brave new world indeed.

Fake, dummy advert stand-in cat food advertFake, dummy advert stand-in dog treats advert
Fake, dummy advert stand-in dog treats advertFake, dummy advert stand-in cat food advertFake, dummy advert stand-in dog treats advert