1
0

index.html 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta name="description" content="I have been working with computers for over twenty years and love to solve technical and business problems for a fair price." />
  7. <title>Aneurin Barker Snook</title>
  8. <link x-data="font" rel="preload" as="style" onload="this.onload=null; this.rel='stylesheet'" x-bind:href="url">
  9. </head>
  10. <body>
  11. <main x-data="external">
  12. <section id="top">
  13. <header>
  14. <h1>
  15. <span>Aneurin</span>
  16. <span>Barker Snook</span>
  17. </h1>
  18. </header>
  19. <p><strong>Software engineer extraordinaire</p>
  20. <p>I have been working with computers for over twenty years and love to solve technical and business problems for a fair price.</p>
  21. <p>
  22. I am a skilled and imaginative programmer with deep insight and excellent communication skills&#11834;and
  23. a keen collaborator with colleagues in all aspects of business, including other engineers, project management, sales and marketing, and leadership.
  24. </p>
  25. <p>
  26. <a href="#contact" data-umami-event="Jump to contact">Let me know what I can do for you,</a> or read on to learn more about me and what I might be able to offer.
  27. </p>
  28. </section>
  29. <section id="services">
  30. <header>
  31. <h2>Services</h2>
  32. </header>
  33. <p>
  34. I specialise in full-stack software development, and I also offer a vast breadth of skills
  35. and knowledge in many aspects of business and operations.
  36. </p>
  37. <ul>
  38. <li>Software architecture and implementation</li>
  39. <li>Software integrations and API design</li>
  40. <li>Infrastructure, methodology and documentation</li>
  41. <li>Web UI/UX design and implementation</li>
  42. <li>Code review, debugging, and profiling</li>
  43. <li>Security audits</li>
  44. <li>Legacy platform maintenance and migration</li>
  45. <li>Requirements gathering, stakeholder engagement, and R&D</li>
  46. <li>Technical leadership and mentoring</li>
  47. <li>Consulting</li>
  48. </ul>
  49. <p>
  50. I am always open to new challenges. <a href="#contact" data-umami-event="Jump to contact">Send me a message</a> to let me know what I can help you with.
  51. </p>
  52. </section>
  53. <section id="skills" x-data="skills">
  54. <header>
  55. <h2>Skills</h2>
  56. </header>
  57. <p>
  58. Are you looking for expertise in a specific domain? This list provides an overview of pretty much everything I know.
  59. If you have any questions, or something you need isn't on the list, <a href="#contact" data-umami-event="Jump to contact">get in touch</a> and I'd be happy to talk about it.
  60. </p>
  61. <div class="data-view">
  62. <nav class="tags filter">
  63. <header>
  64. <h3>Filter</h3>
  65. </header>
  66. <template x-for="tag in tags" :key="tag">
  67. <a x-bind:class="tagClass(tag)" x-on:click="setCurrentTag" x-text="tag" x-bind:href="`?skill=${tag}`" x-bind:data-tag="tag"></a>
  68. </template>
  69. </nav>
  70. <ul class="data">
  71. <template x-for="skill in visibleSkills">
  72. <li>
  73. <header>
  74. <h3>
  75. <span x-bind:title="`Tags: ${skill.tags.join(', ')}`" x-text="skill.name"></span>
  76. </h3>
  77. </header>
  78. <template x-if="descriptions">
  79. <p class="description" x-text="skill.description"></p>
  80. </template>
  81. </li>
  82. </template>
  83. </ul>
  84. </div>
  85. <template x-if="descriptions">
  86. <p>
  87. To see a bit less information, <a href="#" x-on:click="toggleDescriptions" href="">hide descriptions</a>.
  88. </p>
  89. </template>
  90. <template x-if="!descriptions">
  91. <p>
  92. To see even more information, <a x-on:click="toggleDescriptions" x-bind:href="`?descriptions=1`">show descriptions</a>.
  93. </p>
  94. </template>
  95. </section>
  96. <section id="work">
  97. <header>
  98. <h2>Work</h2>
  99. </header>
  100. <p>
  101. You are welcome to browse <a x-bind:href="codeUrl" target="_blank">my public code online</a>, including the <a x-bind:href="repoUrl" target="_blank" data-umami-event="Clicked link" data-umami-event-link="Website code">code of the website you're looking at right now</a>.
  102. </p>
  103. <p>
  104. I also have an extensive history of professional work that I am happy to discuss in general terms.
  105. Please <a href="#contact" data-umami-event="Jump to contact">send me a message</a> if you'd like to know more.
  106. </p>
  107. </section>
  108. <section id="pricing">
  109. <header>
  110. <h2>Pricing</h2>
  111. </header>
  112. <p>
  113. I am happy to negotiate a rate that works for you:
  114. </p>
  115. <ul>
  116. <li>Day rate or hourly rate</li>
  117. <li>Fixed project cost</li>
  118. <li>Out-of-hours retainer</li>
  119. <li>Reduced rates for charitable organisations</li>
  120. </ul>
  121. <p>
  122. <a href="#contact" data-umami-event="Jump to contact">Get in touch</a> to discuss what you need from me.
  123. </p>
  124. </section>
  125. <section id="availability">
  126. <header>
  127. <h2>Availability</h2>
  128. </header>
  129. <p>
  130. I am currently offering <span class="cta">availability</span> to work.
  131. </p>
  132. <p>
  133. I have a fully-equipped private office and favour remote working.
  134. I am able to join captioned video calls or discuss your needs by email or instant messaging.
  135. </p>
  136. <p>
  137. if you would like to see me in person, I am based in Nottingham (UK) and willing to travel, within reason, for meetings or hybrid working.
  138. </p>
  139. </section>
  140. <section id="contact">
  141. <header>
  142. <h2>Contact</h2>
  143. </header>
  144. <p>
  145. The best way to reach me is by email.
  146. Send a message to <a x-bind:href="`mailto:${email}`" x-text="email" data-umami-event="Clicked link" data-umami-event-link="Email"></a> summarising what you're looking for&#11834;or just to say hello!
  147. I look forward to hearing from you.
  148. </p>
  149. <p>
  150. You can also find me on <a x-bind:href="githubUrl" target="_blank" data-umami-event="Clicked link" data-umami-event-link="GitHub">GitHub</a> and <a x-bind:href="linkedinUrl" target="_blank" data-umami-event="Clicked link" data-umami-event-link="LinkedIn">LinkedIn</a>.
  151. </p>
  152. </section>
  153. </main>
  154. <div x-data="color" id="color">
  155. <button title="Change colour scheme" x-on:click="rotateColorScheme" data-umami-event="Change colour scheme">
  156. <template x-if="currentScheme === 'auto'">
  157. <!-- clock @ https://heroicons.com/mini -->
  158. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5">
  159. <path fill-rule="evenodd" d="M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm.75-13a.75.75 0 0 0-1.5 0v5c0 .414.336.75.75.75h4a.75.75 0 0 0 0-1.5h-3.25V5Z" clip-rule="evenodd" />
  160. </svg>
  161. </template>
  162. <template x-if="currentScheme === 'light'">
  163. <!-- sun @ https://heroicons.com/mini -->
  164. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5">
  165. <path d="M10 2a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 10 2ZM10 15a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 10 15ZM10 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM15.657 5.404a.75.75 0 1 0-1.06-1.06l-1.061 1.06a.75.75 0 0 0 1.06 1.06l1.06-1.06ZM6.464 14.596a.75.75 0 1 0-1.06-1.06l-1.06 1.06a.75.75 0 0 0 1.06 1.06l1.06-1.06ZM18 10a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1 0-1.5h1.5A.75.75 0 0 1 18 10ZM5 10a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1 0-1.5h1.5A.75.75 0 0 1 5 10ZM14.596 15.657a.75.75 0 0 0 1.06-1.06l-1.06-1.061a.75.75 0 1 0-1.06 1.06l1.06 1.06ZM5.404 6.464a.75.75 0 0 0 1.06-1.06l-1.06-1.06a.75.75 0 1 0-1.061 1.06l1.06 1.06Z" />
  166. </svg>
  167. </template>
  168. <template x-if="currentScheme === 'dark'">
  169. <!-- moon @ https://heroicons.com/mini -->
  170. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5">
  171. <path fill-rule="evenodd" d="M7.455 2.004a.75.75 0 0 1 .26.77 7 7 0 0 0 9.958 7.967.75.75 0 0 1 1.067.853A8.5 8.5 0 1 1 6.647 1.921a.75.75 0 0 1 .808.083Z" clip-rule="evenodd" />
  172. </svg>
  173. </template>
  174. </button>
  175. </div>
  176. <div x-data="analytics">
  177. <template x-if="scriptUrl && websiteId">
  178. <script defer x-bind:src="scriptUrl" x-bind:data-website-id="websiteId"></script>
  179. </template>
  180. </div>
  181. <script type="module" src="/src/main.ts"></script>
  182. </body>
  183. </html>