index.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>Aneurin Barker Snook</title>
  8. <link rel="preconnect" href="https://fonts.googleapis.com">
  9. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  10. <link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap" rel="stylesheet">
  11. </head>
  12. <body>
  13. <main>
  14. <section id="top">
  15. <header>
  16. <h1>
  17. <span>Aneurin</span>
  18. <span>Barker Snook</span>
  19. </h1>
  20. </header>
  21. <p class="description">Software engineer extraordinaire</p>
  22. </section>
  23. <section id="services">
  24. <header>
  25. <h2>Services</h2>
  26. </header>
  27. <p>
  28. I specialise in full-stack software development, and I also offer a vast breadth of skills
  29. and knowledge in many aspects of business and operations.
  30. </p>
  31. <ul>
  32. <li>Software architecture and implementation</li>
  33. <li>Software integrations and API design</li>
  34. <li>Infrastructure, methodology and documentation</li>
  35. <li>Web UI/UX design and implementation</li>
  36. <li>Code review, debugging, and profiling</li>
  37. <li>Security audits</li>
  38. <li>Legacy platform maintenance and migration</li>
  39. <li>Requirements gathering, stakeholder engagement, and R&D</li>
  40. <li>Technical leadership and mentoring</li>
  41. <li>Consulting</li>
  42. </ul>
  43. <p>
  44. I am always open to new challenges. <a href="#contact">Send me a message</a> to let me know what I can help you with.
  45. </p>
  46. </section>
  47. <section id="skills" x-data="skills">
  48. <header>
  49. <h2>Skills</h2>
  50. </header>
  51. <p>
  52. Are you looking for expertise in a specific domain? This list provides an overview of pretty much everything I know.
  53. If you have any questions, or something you need isn't on the list, <a href="#contact">get in touch</a> and I'd be happy to talk about it.
  54. </p>
  55. <nav id="skills-tags" class="tags">
  56. <template x-for="tag in tags" :key="tag">
  57. <a x-bind:class="tagClass(tag)" x-on:click="setCurrentTag" x-text="tag" x-bind:href="`?tag=${tag}`" x-bind:data-tag="tag"></a>
  58. </template>
  59. </nav>
  60. <ul id="skills-list">
  61. <template x-for="skill in visibleSkills">
  62. <li>
  63. <header>
  64. <h3 x-text="skill.name"></h3>
  65. </header>
  66. <p class="description" x-text="skill.description"></p>
  67. <nav class="tags">
  68. <template x-for="tag in skill.tags" :key="tag">
  69. <a x-bind:class="tagClass(tag)" x-on:click="setCurrentTag" x-text="tag" x-bind:href="`?tag=${tag}#skills`" x-bind:data-tag="tag"></a>
  70. </template>
  71. </nav>
  72. </li>
  73. </template>
  74. </ul>
  75. </section>
  76. <section id="pricing">
  77. <header>
  78. <h2>Pricing</h2>
  79. </header>
  80. <p>
  81. I am happy to negotiate a rate that works for you.
  82. As a guideline, my standard rates are:
  83. </p>
  84. <ul>
  85. <li>Day rate (7.5 hours): £300</li>
  86. <li>Hourly rate: £45</li>
  87. </ul>
  88. <p>
  89. I may also be able to offer fixed pricing for a complete project, subject to a discovery phase to define your requirements&#11834;which may be chargeable depending on the time needed.
  90. In some cases, I can also offer an SLA on retainer to ensure my availability to you.
  91. </p>
  92. <p>
  93. If you are a charitable organisation, I would love to work with you and can offer a reduced rate to suit your budgetary
  94. requirements. <a href="#contact">Get in touch</a> to discuss what you need from me.
  95. </p>
  96. </section>
  97. <section id="availability">
  98. <header>
  99. <h2>Availability</h2>
  100. </header>
  101. <p>
  102. I am currently offering <span class="cta">limited availability</span> to work.
  103. </p>
  104. <p>
  105. I have a fully-equipped private office and favour remote working.
  106. I am able to join captioned video calls or discuss your needs by email or instant messaging.
  107. </p>
  108. <p>
  109. 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.
  110. </p>
  111. </section>
  112. <section id="contact">
  113. <header>
  114. <h2>Contact</h2>
  115. </header>
  116. <p x-data="contact">
  117. The best way to reach me is by email.
  118. Send a message to <a x-bind:href="`mailto:${email}`" x-text="email"></a> summarising what you're looking for&#11834;or just to say hello!
  119. I look forward to hearing from you.
  120. </p>
  121. <p>
  122. You can aso find me on these platforms:
  123. </p>
  124. <ul>
  125. <li>GitHub <a href="https://github.com/annybs/" target="_blank">github.com/annybs</a>
  126. <li>LinkedIn <a href="https://www.linkedin.com/in/aneurinbs/" target="_blank">linkedin.com/in/aneurinbs</a>
  127. </ul>
  128. </section>
  129. </main>
  130. <div x-data="color" id="color">
  131. <button x-on:click="rotateColorScheme">
  132. <template x-if="currentScheme === 'auto'">
  133. <!-- clock @ https://heroicons.com/mini -->
  134. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5">
  135. <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" />
  136. </svg>
  137. </template>
  138. <template x-if="currentScheme === 'light'">
  139. <!-- sun @ https://heroicons.com/mini -->
  140. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5">
  141. <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" />
  142. </svg>
  143. </template>
  144. <template x-if="currentScheme === 'dark'">
  145. <!-- moon @ https://heroicons.com/mini -->
  146. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5">
  147. <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" />
  148. </svg>
  149. </template>
  150. </button>
  151. </div>
  152. <div x-data="analytics">
  153. <template x-if="scriptUrl && websiteId">
  154. <script defer x-bind:src="scriptUrl" x-bind:data-website-id="websiteId"></script>
  155. </template>
  156. </div>
  157. <script type="module" src="/src/main.ts"></script>
  158. </body>
  159. </html>