[{"data":1,"prerenderedAt":175},["ShallowReactive",2],{"about":3,"toolbox":108},{"id":4,"title":5,"body":6,"description":99,"extension":100,"extras":101,"image":101,"imageAlt":101,"meta":102,"navigation":103,"path":104,"seo":105,"stem":106,"subhead":101,"__hash__":107},"pages\u002Fabout.md","My Journey to Web Development",{"type":7,"value":8,"toc":92},"minimark",[9,14,22,25,28,31,38,41,44,47,51,54,57,60,63,67,70,81,84],[10,11,13],"h2",{"id":12},"in-the-beginning","In The Beginning",[15,16,17,18,21],"p",{},"My name is Forbes Gray, a freelance website developer with over ",[19,20],"years-experience",{}," years' experience building websites and web applications for a variety of businesses and industries, across Edinburgh and further afield.",[15,23,24],{},"My interest in web development started fairly late. I have a background in sales spanning 10 years in the telecoms industry. As my skills grew I started up my own company supplying telecoms to businesses.",[15,26,27],{},"As with any new start-up, spending money was not something I wanted to do too much of, and yet I knew the importance of having an online presence.",[15,29,30],{},"I decided to try and create my own website using the \"user friendly\" free tools that were available at the time. My emails were hosted by Google Apps, so I started off with Google Sites as a simple solution. Although it gave me a presence online, I was frustrated by the constraints of building with a tool like Google Sites (and I wanted rounded corners).",[15,32,33],{},[34,35],"img",{"alt":36,"src":37},"My journey to web development","\u002Fimages\u002Fjourney.jpg",[15,39,40],{},"I had never written any HTML or CSS at this stage, but felt that it couldn't be hard to create the simple site I was looking for. I started teaching myself HTML and CSS and very quickly was able to create a website that I was far more satisfied with but, more importantly, found that I really enjoyed doing it.",[15,42,43],{},"I continued to learn and optimise my company's site. To make the site more maintainable and interactive I started to learn a little PHP and got a firmer grasp of JavaScript.",[15,45,46],{},"I began some other web projects using the ever more popular content management systems such as Joomla, WordPress and MODX. With this came my introduction to databases and MySQL.",[10,48,50],{"id":49},"discovering-nodejs","Discovering NodeJS",[15,52,53],{},"With the growth of JavaScript and NodeJS, web applications were becoming ever more capable and I found my new challenge. JavaScript became my focus.",[15,55,56],{},"BlackBerry has always had a place in my heart, so I used their platform to hone my skills. Creating simple WebWorks\u002FCordova applications gave me small projects to discover the capabilities and pitfalls of JavaScript.",[15,58,59],{},"At the same time I was discovering more about running JavaScript on the server with NodeJS and interacting with NoSQL databases such as MongoDB and CouchDB. I created a couple of applications using the MEAN stack, with Angular on the front end.",[15,61,62],{},"As these new JavaScript frameworks developed I was introduced to a number of different approaches to a development project, but I always found myself striving for faster, more performant websites and applications.",[10,64,66],{"id":65},"fast-modern-websites","Fast, Modern Websites",[15,68,69],{},"My main focus has become building fast, SEO friendly server-side rendered and static websites using modern JavaScript frameworks such as Vue, React, Gatsby, Gridsome and Nuxt (this website). Pages are built ahead of time and served as fast static files, with content, data and shopping handled by separate \"headless\" services, so I am able to quickly create performant and secure websites and web applications that search engines love.",[15,71,72,73,80],{},"I have become increasingly focused on website speed, and since Google introduced ",[74,75,79],"a",{"href":76,"rel":77},"https:\u002F\u002Fweb.dev\u002Fvitals\u002F",[78],"nofollow","Core Web Vitals"," as a metric in their organic search rankings, this way of building websites has moved to the forefront of modern web development.",[15,82,83],{},"As an early adopter of new web technologies I am always looking to embrace new tools and technologies that improve a website's performance and the user's experience.",[15,85,86,87,91],{},"Some of my website design and web application development work can be found on my ",[74,88,90],{"href":89},"\u002Fportfolio\u002F","portfolio page",".",{"title":93,"searchDepth":94,"depth":94,"links":95},"",2,[96,97,98],{"id":12,"depth":94,"text":13},{"id":49,"depth":94,"text":50},{"id":65,"depth":94,"text":66},"Forbes Gray is a freelance website developer in Edinburgh. How a telecoms salesman who wanted rounded corners ended up building websites and web applications.","md",null,{},true,"\u002Fabout",{"title":5,"description":99},"about","-cz7aI7R9H5mg0LuPhaMQ7u3o-jd9nt-UlLB4IdoIHA",{"id":109,"title":110,"extension":111,"groups":112,"intro":171,"meta":172,"stem":173,"__hash__":174},"toolbox\u002Ftoolbox.yml","The toolbox","yml",[113,126,138,149,161],{"name":114,"tagline":115,"icon":116,"tools":117},"Front end","What your visitors see and click","layout",[118,119,120,121,122,123,124,125],"HTML & CSS","SCSS","Tailwind CSS","JavaScript","Vue","Nuxt","React","Progressive Web Apps",{"name":127,"tagline":128,"icon":129,"tools":130},"Content & data","Where your words, pages and bookings live","database",[131,132,133,134,135,136,137],"DatoCMS","Prismic CMS","WordPress","Firebase","GraphQL","MySQL","MongoDB",{"name":139,"tagline":140,"icon":141,"tools":142},"Shops & payments","Selling online and taking money","cart",[143,144,145,146,147,148],"Shopify","WooCommerce","ElasticPath","BigCommerce","Swell JS","Stripe",{"name":150,"tagline":151,"icon":152,"tools":153},"Build, host & measure","Getting it live and keeping it fast","rocket",[154,155,156,157,158,159,160],"Node.js","Netlify","GitHub","Firebase Hosting","Lighthouse","Figma","Google Analytics",{"name":162,"tagline":163,"icon":164,"retired":103,"tools":165},"Retired with honours","Where it all started","archive",[166,167,168,169,170],"BlackBerry WebWorks","Apache Cordova","AngularJS","Bootstrap","PHP","The tools I reach for most. I pick whatever suits the job and your budget, not whatever's fashionable, and I'm always happy to explain why.",{},"toolbox","Cpq7DKQmJmp65Di57MrCTJtSbUZckElic4rXBmRqHrw",1794400656014]