{"ts":1775775943,"title":"Multifaceted Web Services","slogan":"Building applications for the connected world","items":[{"id":"2","path":"welcome","title":"Welcome","body":"\u003Cp\u003EToday the Web is connected not only with billions of devices, but also relies on distributed programming\u0026nbsp;and seamless integration with social media, e-commerce, mapping\u0026nbsp;and many other Web services.\u003C\/p\u003E\u003Cp\u003EIt may be easy to set up your own blog, update your social media profiles or even set up a basic online shop with a choice of themes, but sometimes you need a reliable professional coder who can add the custom features you need without either breaking the bank or reinventing the wheel.\u003C\/p\u003E\u003Cp\u003EWe provide impartial and objective Web consultancy for any project you may have. If we know of a\u0026nbsp;viable\u0026nbsp;existing solution that can save you time, money and maintenance worries, we may just offer custom\u0026nbsp;\u003Cem\u003Etheming\u003C\/em\u003E and \u003Cem\u003Euser experience.\u003C\/em\u003E\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E","images":[{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/sean-afnan-244576_0.jpg?itok=ks6CbI-c","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/sean-afnan-244576_0.jpg?itok=1Z48-NQQ","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/sean-afnan-244576_0.jpg?itok=OPuswwP9","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/sean-afnan-244576_0.jpg?itok=wbm1S2Fh","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/sean-afnan-244576_0.jpg?itok=saHB6sPJ"},"size":{"width":"4002","height":"2668"},"mime":"image\/jpeg","alt":"Se","title":"Sean Afnan"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/top-five-buzz-travel-magazine-249825.jpg?itok=HFeajXi7","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/top-five-buzz-travel-magazine-249825.jpg?itok=WTjgWSB1","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/top-five-buzz-travel-magazine-249825.jpg?itok=Gsl5Opzg","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/top-five-buzz-travel-magazine-249825.jpg?itok=gorag2el","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/top-five-buzz-travel-magazine-249825.jpg?itok=6z58wOfi"},"size":{"width":"5860","height":"3278"},"mime":"image\/jpeg","alt":"Reflections","title":"Reflections"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/viktor-jakovlev-mtNweauBsMQ-unsplash.jpg?itok=8DH0nX9m","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/viktor-jakovlev-mtNweauBsMQ-unsplash.jpg?itok=8JI3aPjz","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/viktor-jakovlev-mtNweauBsMQ-unsplash.jpg?itok=XNEuZn4F","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/viktor-jakovlev-mtNweauBsMQ-unsplash.jpg?itok=_gO5HXsL","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/viktor-jakovlev-mtNweauBsMQ-unsplash.jpg?itok=Jj9anljv"},"size":{"width":"5683","height":"3794"},"mime":"image\/jpeg","alt":"In high seas","title":null},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/rene-bieder-SjEV1wUrfJg-unsplash.jpg?itok=Kb9v1MWZ","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/rene-bieder-SjEV1wUrfJg-unsplash.jpg?itok=LQMbA-r1","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/rene-bieder-SjEV1wUrfJg-unsplash.jpg?itok=E5h1sbK6","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/rene-bieder-SjEV1wUrfJg-unsplash.jpg?itok=UQiLCMPZ","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/rene-bieder-SjEV1wUrfJg-unsplash.jpg?itok=xrWwbz4g"},"size":{"width":"4000","height":"2667"},"mime":"image\/jpeg","alt":"Rugged coastline","title":null},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/mark-galer-6WOqqX-slV4-unsplash.jpg?itok=Jq8rWiHj","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/mark-galer-6WOqqX-slV4-unsplash.jpg?itok=XArUZIlB","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/mark-galer-6WOqqX-slV4-unsplash.jpg?itok=k-2RtV0j","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/mark-galer-6WOqqX-slV4-unsplash.jpg?itok=vOcqTt9e","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/mark-galer-6WOqqX-slV4-unsplash.jpg?itok=85vlNKpH"},"size":{"width":"3797","height":"2400"},"mime":"image\/jpeg","alt":"Idyllic calm seascape","title":null}],"num_images":5,"has_sections":false,"sections":[]},{"id":"3","path":"services","title":"Services","body":"\u003Cp\u003EI beaver away in the background\u0026nbsp;on the technical aspects of Web applications, so others can focus on content and design. As a full-stack developer, I work on integrating your business ideas with a plethora of Web services using common open-source technologies. While many Web services let you build your Web presence with a user-friendly interface, sooner or later you\u0026#39;ll encounter a mission-critical feature that requires some technical expertise and you face the choice between astronomical agency rates or a consultant who can explain the most cost-effective and future-proof solutions.\u003C\/p\u003E\u003Cul\u003E\u003Cli\u003EIntegration with third-party e-commerce systems such as Shopify or Ecwid\u003C\/li\u003E\u003Cli\u003ECustomisation of content management systems\u003C\/li\u003E\u003Cli\u003EBespoke Progessive Web applications\u003C\/li\u003E\u003Cli\u003EAdaptive and response design\u003C\/li\u003E\u003Cli\u003EWeb Consulting\u003C\/li\u003E\u003C\/ul\u003E","images":[{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/jessica-furtney-223484.jpg?itok=hFYZ2bt5","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/jessica-furtney-223484.jpg?itok=x-MWm_tw","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/jessica-furtney-223484.jpg?itok=pDq2xzIn","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/jessica-furtney-223484.jpg?itok=KXlCxL-Q","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/jessica-furtney-223484.jpg?itok=akBTtRV7"},"size":{"width":"4288","height":"2848"},"mime":"image\/jpeg","alt":"Jessica Furtney","title":"Jessica Furtney"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/scott-webb-248996.jpg?itok=ZjDxly3Z","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/scott-webb-248996.jpg?itok=nhCG3xgt","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/scott-webb-248996.jpg?itok=foXp20XL","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/scott-webb-248996.jpg?itok=oA6Hs6NN","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/scott-webb-248996.jpg?itok=C0BvQNg3"},"size":{"width":"5905","height":"3937"},"mime":"image\/jpeg","alt":"Scott Web","title":"Scott Web"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/anton-repponen-sfgH9dXcMRw-unsplash.jpg?itok=gyw057m0","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/anton-repponen-sfgH9dXcMRw-unsplash.jpg?itok=6FF0OIhr","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/anton-repponen-sfgH9dXcMRw-unsplash.jpg?itok=JWbrvoh9","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/anton-repponen-sfgH9dXcMRw-unsplash.jpg?itok=1nl0LzRE","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/anton-repponen-sfgH9dXcMRw-unsplash.jpg?itok=22wPMKVF"},"size":{"width":"5538","height":"3684"},"mime":"image\/jpeg","alt":"Martian landscape","title":null}],"num_images":3,"has_sections":false,"sections":[]},{"id":"4","path":"technologies","title":"Technologies","body":"\u003Cp\u003EOver the last 18 years I\u0026#39;ve worked with a wide range of frontend and backend technologies that power the modern Web.\u0026nbsp;\u003C\/p\u003E\u003Cul\u003E\u003Cli\u003EServer-side development, with Node JS and Rust with a hint of PHP and Python..\u003C\/li\u003E\u003Cli\u003EHigh-performance database backends with MongoDB, Postgres and MySQL.\u003C\/li\u003E\u003Cli\u003EAPI development for mobile apps.\u003C\/li\u003E\u003Cli\u003EIntegration with third-party Web services\u003C\/li\u003E\r\n\u003Cli\u003EAdvanced modern Javascript\/Typescript for progressive data-driven Web apps built with React or Vue.\u0026nbsp;\u003C\/li\u003E\r\n\u003Cli\u003EIntegration with cloud content management and e-commerce systems or opens-source solutions such as Payload or Drupal.\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\u003Cul class=\u0022highlight horizontal plain\u0022\u003E\r\n\u003Cli\u003E\r\n        \u003Ca href=\u0022https:\/\/github.com\/neilg63\u0022 target=\u0022_blank\u0022 title=\u0022Neil Gardner\u0027s publc Github repositories, with plenty of Javascript, React, Vue, Node Rust and more\u0022\u003E\u003Ci class=\u0022icon-github\u0022\u003E\u003C\/i\u003E\u003Cspan class=\u0022text\u0022\u003EGitHub\u003C\/span\u003E\u003C\/a\u003E\r\n      \u003C\/li\u003E\r\n\u003Cli\u003E\r\n        \u003Ca href=\u0022https:\/\/www.linkedin.com\/in\/neil-gardner-00483216\/\u0022 target=\u0022_blank\u0022 title=\u0022Neil Gardner\u0027s LinkedIn profile\u0022\u003E\u003Ci class=\u0022icon-linkedin\u0022\u003E\u003C\/i\u003E\u003Cspan class=\u0022text\u0022\u003ELinkedIn\u003C\/span\u003E\u003C\/a\u003E\r\n      \u003C\/li\u003E\r\n\u003C\/ul\u003E","images":[{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/sweet-ice-cream-photography-81283.jpg?itok=8uucQrA7","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/sweet-ice-cream-photography-81283.jpg?itok=flH2j6AQ","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/sweet-ice-cream-photography-81283.jpg?itok=WamXVOY2","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/sweet-ice-cream-photography-81283.jpg?itok=4pXnx2q7","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/sweet-ice-cream-photography-81283.jpg?itok=KtUuwzdD"},"size":{"width":"5653","height":"3769"},"mime":"image\/jpeg","alt":"Sweet-ice-cream photograph","title":"Swee ice cream photograph"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/claudio-testa-218497.jpg?itok=eRBfpU9b","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/claudio-testa-218497.jpg?itok=vKts1uG6","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/claudio-testa-218497.jpg?itok=sk4kBTNW","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/claudio-testa-218497.jpg?itok=VCoGgfUa","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/claudio-testa-218497.jpg?itok=8TIXTOFp"},"size":{"width":"2880","height":"1800"},"mime":"image\/jpeg","alt":"Claudio Testa","title":"Claudio Testa"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/luca-huter-vFrhuBvI-hI-unsplash.jpg?itok=eodpg1oT","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/luca-huter-vFrhuBvI-hI-unsplash.jpg?itok=BgRnqBKt","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/luca-huter-vFrhuBvI-hI-unsplash.jpg?itok=Rte0Xpu-","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/luca-huter-vFrhuBvI-hI-unsplash.jpg?itok=cr40s0Ag","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/luca-huter-vFrhuBvI-hI-unsplash.jpg?itok=zHEAM_db"},"size":{"width":"5760","height":"3840"},"mime":"image\/jpeg","alt":"Moon over meadow","title":null}],"num_images":3,"has_sections":false,"sections":[]},{"id":"5","path":"experience","title":"Experience","body":"\u003Cp\u003EI\u0026#39;ve been working in the Web development business for over 15 years working with a mix of backend and front-end technologies for a range private and public sector clients. I\u0026#39;ve played a leading role in the following projects:\u003C\/p\u003E\u003Cul\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/geo.multifaceted.info\/\u0022 target=\u0022_blank\u0022\u003EPostcode Explorer\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ESole developer (2020). Lets you quickly locate any UK postcode on an OpenLayers map, explore neighbouring postcodes and view street addresses merged with extra information. The original Node JS backend, developed in 2020 has been rewritten in Rust to fetch and store data from multiple public Web services. The core data sets come from two local databases with over 2.6 million postcodes and 1 millions localities. Some\u0026nbsp;extra data outside\u0026nbsp;the UK provided via \u003Ca href=\u0022https:\/\/www.geonames.org\/\u0022 target=\u0022_blank\u0022\u003EGeonames.org\u003C\/a\u003E.\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/geotimezone.multifaceted.info\/\u0022 target=\u0022_blank\u0022\u003EGeoTimeZone\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003EThis showcases\u0026nbsp;two high-performance Web services, developed by Multifacted,\u0026nbsp;to match any location in the world with its current or historical time zones, sunrise and sunset times, moon phases, ascendant and planetary longitudes. It\u0026#39;s also a handy way to convert unix time with normal localised date\/time notation. It uses the same geographic database as the postcode explorer.\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/astroui.multifaceted.info\/\u0022 target=\u0022_blank\u0022\u003EAstro UI\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003EThis showcases some of the many features\u0026nbsp;of the \u003Ca href=\u0022https:\/\/github.com\/neilg63\/astro-calc-api\u0022 target=\u0022_blank\u0022\u003EAstroCalc\u003C\/a\u003E engine, which I\u0026nbsp;built in Rust for a \u003Ca href=\u0022https:\/\/www.findingyou.me\/\u0022 target=\u0022_blank\u0022\u003Enew dating app\u003C\/a\u003E. It shows detailed planetary positions and transitions (e.g. sunrise and sunset) as seen from any location on Earth at any time in the last 400 years and over the next few centuries.\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022http:\/\/2023.rca.ac.uk\u0022 target=\u0022_blank\u0022\u003ERCA 2020-24\u0026nbsp;Student Art\u0026nbsp; Shows\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003EThe frontend site, built with Gatsby and powered by React. presented artworks as images, animations and videos, collected via a secure student upload form and interfacing with multiple Web services such as Cloudinary and a bespoke backend datastore. It also has a staff\u0026nbsp;administration\u0026nbsp;area\u0026nbsp;and uses Azure AD for authentication. Other technologies used include Typescript, Mongodb and Vue 2.6 (admin area).\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/submissions.newcontemporaries.org.uk\u0022 target=\u0022_blank\u0022\u003ENew Contemporaries Art Competition\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003EReact-based submission form with more extensive admin and review section.\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/www.gavinturk.com\/\u0022 target=\u0022_blank\u0022\u003EGavin Turk\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ENextJs frontend with a Drupal 10 content management system\/\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/www.cdcs.ed.ac.uk\/\u0022\u003EEdinburgh University: Data, Culture \u0026amp;\u0026nbsp;Society\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ERapid Drupal 8 build with a custom theme (2019)\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/www.gavinturkegg.art\/gallery\u0022 target=\u0022_blank\u0022\u003EGavin Turk Egg\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003EAnother art competition site, this time with a React-based frontend with images uploaded by authenticated users to Cloudinary.\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/www.ff-workshop-editions.co.uk\/\u0022 target=\u0022_blank\u0022\u003EFitzroy and Finn Workshop Editions\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ESimple online shop with Vue frontend integrated with a Wordpress backend\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/www.blustindesign.com\/\u0022 target=\u0022_blank\u0022\u003ENikki Blustin Design\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ELead fullstack developer. The Site behaves as a Progressive Web App using the Vue framework with a Drupal 8 content server\u0026nbsp;(2018)\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/www.london.gov.uk\/\u0022 target=\u0022_blank\u0022\u003EGreater London Authority\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ELead developer with a small team, involving a major data migration (2012-13) and integration of multiple microsites. The upgraded platform based on Drupal 7 has served the GLA for 7 years.\u0026nbsp;\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022http:\/\/www.macroadvisorypartners.com\/\u0022 target=\u0022_blank\u0022\u003EMacro Advisory Partners\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ELead frontend developer using Drupal 7 and backbone for single page application behaviour\u0026nbsp;(2016)\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022http:\/\/www.cellprojects.org\u0022 target=\u0022_blank\u0022\u003ECell Projects\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ELead frontend developer, upgraded from an earlier version of Drupal and using many of the features pioneered for Macro Advisory Partners\u0026nbsp;(2017)\u003C\/p\u003E\u003C\/li\u003E\u003C\/ul\u003E\u003Cp\u003EAs parts of a larger team, I have contributed to the infrastructure for these sites:\u003C\/p\u003E\u003Cul\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/www.amnesty.org.uk\/\u0022 target=\u0022_blank\u0022\u003EAmnesty International UK\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ECore customisation of Drupal CMS with custom modules (2011\/12)\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/www.puregym.com\u0022 target=\u0022_blank\u0022\u003EPuregym\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003EPayment gateway integration. (2015)\u003C\/p\u003E\u003C\/li\u003E\u003Cli\u003E\u003Ch4\u003E\u003Ca href=\u0022https:\/\/snippets.bbcredux.com\/users\/login\u0022 target=\u0022_blank\u0022\u003EBBC Redux Snippets\u003C\/a\u003E\u003C\/h4\u003E\u003Cp\u003ETthe extended in-house\u0026nbsp;version of BBC iPlayer, visual subitle search. (2010)\u003C\/p\u003E\u003C\/li\u003E\u003C\/ul\u003E\u003Cp\u003EI have worked with everything from HTML, stylesheets and Javascript with extensive Browser and usability to testing to backend applications, content management and e-commerce systems that interface with databases and third party services.\u003C\/p\u003E","images":[{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/pawel-wisniewski-97574.jpg?itok=jAP9n2se","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/pawel-wisniewski-97574.jpg?itok=tosjRlAe","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/pawel-wisniewski-97574.jpg?itok=mV2igrHt","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/pawel-wisniewski-97574.jpg?itok=L8lyizAG","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/pawel-wisniewski-97574.jpg?itok=j7STkl24"},"size":{"width":"4928","height":"3264"},"mime":"image\/jpeg","alt":"Pawal Wisniewski","title":"Pawal Wisniewski"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/sunset-landscapes-nature-beach-wide.jpg?itok=Cn5B1T7B","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/sunset-landscapes-nature-beach-wide.jpg?itok=JsIHK8Hj","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/sunset-landscapes-nature-beach-wide.jpg?itok=0fUQicMp","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/sunset-landscapes-nature-beach-wide.jpg?itok=e0ZtwlyD","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/sunset-landscapes-nature-beach-wide.jpg?itok=qjue1k75"},"size":{"width":"2560","height":"1197"},"mime":"image\/jpeg","alt":"Beach Sunset","title":"Beach Sunset"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/timj-gM6k0JmHIBE-unsplash.jpg?itok=fymkxoK0","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/timj-gM6k0JmHIBE-unsplash.jpg?itok=vVlepkw4","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/timj-gM6k0JmHIBE-unsplash.jpg?itok=hlkJKETF","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/timj-gM6k0JmHIBE-unsplash.jpg?itok=iJgto0dh","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/timj-gM6k0JmHIBE-unsplash.jpg?itok=sREaT4ho"},"size":{"width":"5312","height":"2988"},"mime":"image\/jpeg","alt":"Sky view","title":null}],"num_images":3,"has_sections":false,"sections":[]},{"id":"7","path":"faqs","title":"FAQs","body":false,"images":[{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/Nature_Sundown_Deep_sea_at_sunset_011598_.jpg?itok=PMO3t_Ms","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/Nature_Sundown_Deep_sea_at_sunset_011598_.jpg?itok=QBcPYIUD","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/Nature_Sundown_Deep_sea_at_sunset_011598_.jpg?itok=ulC6glai","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/Nature_Sundown_Deep_sea_at_sunset_011598_.jpg?itok=OtEM78QJ","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/Nature_Sundown_Deep_sea_at_sunset_011598_.jpg?itok=gwFLluO_"},"size":{"width":"1920","height":"1200"},"mime":"image\/jpeg","alt":"Sundown at sea","title":null},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/home_underwater_sectionbg2.jpg?itok=4pyulbVI","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/home_underwater_sectionbg2.jpg?itok=2QARrRGF","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/home_underwater_sectionbg2.jpg?itok=KA0-FoYo","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/home_underwater_sectionbg2.jpg?itok=3g47Q0P2","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/home_underwater_sectionbg2.jpg?itok=p2KvC8lt"},"size":{"width":"1920","height":"1204"},"mime":"image\/jpeg","alt":"Underwater","title":null},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/igor-kasalovic-OBmufLJ_DPE-unsplash.jpg?itok=RY3lbV6f","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/igor-kasalovic-OBmufLJ_DPE-unsplash.jpg?itok=BPNAciKP","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/igor-kasalovic-OBmufLJ_DPE-unsplash.jpg?itok=tuKoiL1b","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/igor-kasalovic-OBmufLJ_DPE-unsplash.jpg?itok=nUebC3CW","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/igor-kasalovic-OBmufLJ_DPE-unsplash.jpg?itok=02k0dGLY"},"size":{"width":"3000","height":"1568"},"mime":"image\/jpeg","alt":"Sunset at sea","title":null}],"num_images":3,"has_sections":true,"sections":[{"has_title":true,"has_body":true,"title":"Which browsers should my site support ?","body":"\u003Cp\u003EWeb technology is evolving very fast. The Browser landscape has changed a good deal in the last twenty odd years. Not only have new desktop browsers come to the fore, but now most Web traffic is generated by mobile devices.\u003C\/p\u003E\u003Cp\u003ETo future-proof your site, you should aim to embrace the advances of latest major stable browsers. Today that means Chrome, Safari,\u0026nbsp;Edge and Firefox on desktop,\u0026nbsp;smartphones and tablets. These browsers currently cater for over 95% of real world web traffic. Although once required for business-oriented sites, IE11 is now end of life, it may not be cost-effective to support it forever, as compatibility with legacy browsers involves not only more time-consuming testing, but also a lot of extra code with longer load times.\u0026nbsp;\u003C\/p\u003E\u003Cp\u003EOlder browsers did\u0026nbsp;not support many modern Web standards such as SVG for charts, interactive maps etc, HTML 5 video and audio tags and a plethora of new style properties\u0026nbsp;that life easier for Web developers. The significance of\u0026nbsp;legacy browsers will dwindle as end users upgrade. Often supporting very old browsers means using outmoded plugins such as Flash or heavy-weight Javascript libraries that may impact user experience. We suggest providing such users with a simplified interface. Progressive Web Applications.\u003C\/p\u003E","type":"section"},{"has_title":true,"has_body":true,"title":"What kind of Artwork do you need?","body":"\u003Cp\u003EGraphics may be either bitmaps, ideal for photographs and paintings, or vector drawings, ideal for scalable icons, widgets, charts, interactive maps etc. However, most common graphic design applications and services make it much easier for you to export your artwork as bitmap, which while fine for photographic imagery, is suboptimal for other purposes.\u0026nbsp;\u003C\/p\u003E","type":"section"},{"has_title":true,"has_body":true,"title":"What about Webflow, Wix or Shopify?","body":"\u003Cp\u003EMany Web services will you let set up your own singing\u0026nbsp;and dancing\u0026nbsp;Web site with slideshows, videos, custom headers, layout options and shopping carts. If you\u0026#39;re happy with their range of features, they may provide better value for money than relying on freelance developers or hiring your own dedicated Web team.\u003Cbr \/\u003EOver the last few years we\u0026#39;ve seen a gradual move away from traditional content management systems such as Wordpress and Drupal towards cloud-based content servers and user-friendly visual theme editors. Some even boast you can design your site like you would paint a masterpiece. Alas it\u0026#39;s seldom that easy. Web design involves intensive attention to detail.\u003C\/p\u003E\u003Cp\u003ENon-technical users may not be aware of how their design ideas may scale to different devices both in terms of aesthetics, performance and user experience, while experienced frontend developers can tweak stylesheets to adapt to all sizes and aspect ratios and ensure all Web graphics are optimised for size and fidelity.\u003C\/p\u003E\u003Cp\u003ECommercial site builders usually offer advanced features as premium add-ons, whose costs can soon add up and may make it hard for you to migrate away from their platform. Our approach is to use Web services for payment gateways, e-commerce integration and mailing, but to avoid vendor lock-in when it comes to design and Web standards. Your Website is like a shop window. You really don\u0026#39;t want to let\u0026nbsp;your bank dictate your exterior design.\u003C\/p\u003E","type":"section"},{"has_title":true,"has_body":true,"title":"What do all these crazy acronyms mean?","body":"\u003Cp\u003ELay people tend to relate to end products such as social media platforms, online shopping, interactive quizzes, application forms etc. None of these would work without a mix of client-side scripting in your browser or mobile app\u0026nbsp;and server-side programming on remote computers in the cloud.\u003C\/p\u003E\u003Cp\u003EWhether you\u0026#39;re aware of it or not, Javascript is everywhere, running both in your browser and at the backend of many Web services (a variant we call \u003Cem\u003ENode\u003C\/em\u003E). Over the last 25 years the language has evolved a great deal to accommodate growing demands for interactivity. It has outlived alternatives such as Flash and Silverlight, but is now supplemented by Web Assembly in the browser and Go, Rust and Python on the server.\u003C\/p\u003E\u003Cp\u003ELove it or hate it, WordPress, \u003Ca href=\u0022https:\/\/demo.magento.com\/\u0022 target=\u0022_blank\u0022\u003EMagento\u003C\/a\u003E, \u003Ca href=\u0022https:\/\/www.drupal.org\u0022 target=\u0022_blank\u0022\u003EDrupal\u003C\/a\u003E and Joomla are all built on PHP, a server-side language that evolved from basic templating to a versatile tool competing with Java and .Net. However, even optimised PHP will never be as fast as fully compiled languages. Facebook famously built their original platform on PHP, although today most of the infrastructure has been rewritten in high-performance C++ that requires much more development time.\u0026nbsp;\u003C\/p\u003E\u003Cp\u003EAPI stands \u003Cem\u003EApplication Program Interface\u003C\/em\u003E\u0026nbsp;or a way to enable client devices and servers using different platforms to communicate. Most mobile apps rely on Web APIs.\u003C\/p\u003E","type":"section"},{"has_title":true,"has_body":true,"title":"Why use Rust if Javascript, Python or PHP are easier.","body":"\u003Cp\u003EOne word, \u003Cstrong\u003Eperformance\u003C\/strong\u003E.Unlike Javascript, Python or PHP, Rust is not only fully compiled to native bytecode, it uses\u0026nbsp;a fraction of the resources which is mission-critical in high-traffic Web services. This may not matter so much for content management systems used only by a small team of editors for medium-traffic site that can be cached anyway, but it does matter for things like messaging systems.\u003C\/p\u003E","type":"section"}]},{"id":"6","path":"privacy","title":"Privacy Policy","body":"\u003Cp\u003EThis site only stores cookies for the Cookie Compliance popup. However, we use local storage to cache content and remember user preferences. We do not capture any confidential information or track users unless you choose to contact us, in which case your message is forwarded both to us and to your contact email.\u0026nbsp;\u003C\/p\u003E\u003Cp\u003EClient-side scripting only serves to enhance user experience and to validate the contact form. In compliance with the\u0026nbsp;General Data Protection Regulation (GDPR), we will not store any contact details without your express consent.\u003C\/p\u003E","images":[{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/sunset-landscapes_00395449.jpg?itok=7olRB4uu","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/sunset-landscapes_00395449.jpg?itok=ooSfjEoJ","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/sunset-landscapes_00395449.jpg?itok=Dy6VwuS1","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/sunset-landscapes_00395449.jpg?itok=Ui6f-jRL","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/sunset-landscapes_00395449.jpg?itok=1LujkRDw"},"size":{"width":"1920","height":"1200"},"mime":"image\/jpeg","alt":"Flower fields","title":"Flower fields"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/Autumn-clear-water-waterfall-landscape_-_Virginia_-_ForestWander.jpg?itok=STbCws--","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/Autumn-clear-water-waterfall-landscape_-_Virginia_-_ForestWander.jpg?itok=RndobT41","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/Autumn-clear-water-waterfall-landscape_-_Virginia_-_ForestWander.jpg?itok=xczVr9_B","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/Autumn-clear-water-waterfall-landscape_-_Virginia_-_ForestWander.jpg?itok=I_g_r6Qz","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/Autumn-clear-water-waterfall-landscape_-_Virginia_-_ForestWander.jpg?itok=pHb8R4Vn"},"size":{"width":"5522","height":"3651"},"mime":"image\/jpeg","alt":"Autumn streams","title":"Autumn streams"},{"uris":{"scale_crop_640x480":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_640x480\/public\/ian-keefe-218453.jpg?itok=lBMxc1pq","scale_crop_1024x576":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1024x576\/public\/ian-keefe-218453.jpg?itok=EjaqM-3w","scale_crop_1440_810":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1440_810\/public\/ian-keefe-218453.jpg?itok=MP4Hgbkc","scale_crop_1920x1080":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_1920x1080\/public\/ian-keefe-218453.jpg?itok=lIjGjO4F","scale_crop_2880x1620":"https:\/\/cms.multifaceted.info\/files\/styles\/scale_crop_2880x1620\/public\/ian-keefe-218453.jpg?itok=WPFAbK9z"},"size":{"width":"3920","height":"4949"},"mime":"image\/jpeg","alt":"Reflexions","title":null}],"num_images":3,"has_sections":false,"sections":[]}],"num_items":6,"footer":"\u003Cp class=\u0022copyright\u0022\u003E\u00a9 2024 Multifaceted Web Services Ltd.\u003C\/p\u003E\r\n        \u003Cp class=\u0022smallprint\u0022\u003ECompany No. 7650727\u003C\/p\u003E\r\n        \u003Caddress class=\u0022smallprint\u0022\u003E\u003Ca rel=\u0022external\u0022 target=\u0022_blank\u0022 href=\u0022https:\/\/www.google.co.uk\/maps\/place\/15+Fairley+Ct,+Cairneyhill,+Dunfermline+KY12+8UT\/@56.058899,-3.5322907,17.75z\/data=!4m5!3m4!1s0x4887d1572644dd41:0x22ccf7dbc5a1c1e4!8m2!3d56.0590449!4d-3.5314622\u0022 title=\u0022I work from my home office in Fife\u0022\u003E\u003Ci class=\u0022icon-compass\u0022\u003E\u003C\/i\u003E\u003Cspan class=\u0022text\u0022\u003E15 Fairley Court, Cairneyhill, Dunfermline, KY12 8UT, Scotland\u003C\/span\u003E\u003C\/a\u003E\u003C\/address\u003E","valid":true}