I'm James
Driven self taught developer, on a mission to learn, build, and grow. Bringing ideas to life with a love of coding and a hunger for exciting new challenges. Interested in opportunities to use my skills and gain new experience in a dynamic environment.
Skills
-
Go
Favourite language. Determined to write idiomatic Go with high test coverage; resulting in highly concurrent, scalable, and maintainable programs.
-
Front End
Confident in Typescript, competent at Javascript. Experimented with and learning several JS frameworks; presently using Svelte, React, TailwindCSS and Astro.
-
C#
Confident with .NET; interested in learning more about F#. Have worked with C# for hobbyist projects (Game Development) in Unity, Godot, and Silk.NET
-
Docker
Familiar with Docker containers. Confident in dockerising and deploying a full stack application. Proficient in both Docker Compose & Dockerfile syntax.
-
Git
Experienced with git development. Primarily using CLI or IDE for interface. Have used primarily GitHub since 2013, as well as a self hosted Gitea server.
-
Linux
Used as primary desktop computer, and confident with remote server management. Capable of writing shell scripts, and extremely comfortable with command line interfaces.
-
DevOps
Enthusiastic about Continuous Integration / Deployment pipelines. Experience with using DroneCI as well as Github Actions to deploy dockerised containers.
-
TDD / BDD
Familiar with both Test & Behaviour Driven Development. Knowledge of their limitations / pitfalls, though enthusiatic about benefits.
-
VSCode
Familiar with VSCode, Visual Studio Code and JetBrains IDEs. (Rider, Goland, & Webstorm). Confident in any IDE.
Projects
-
This Website
This website is a static site written in Astro & Tailwind, and deployed to Cloudflare Pages, It has a perfect score on Google Lighthouse.
-
Go Fetch!
Go Fetch is a Pet-form as a Service (PaaS); allowing users to submit images to the Internet's biggest collection of Open Source Dog Pictures via a GitHub App backend written in Go that uses a Neural Network to scan uploads to ensure that the image contains both a dog and does not contain a human. Uses NextJS & Go.
-
simul.games
Simul Games is a free online party game server focused on varied, online, realtime, gameplay and ease of use across all devices. Simul.Games' server is written in Go, using WebSockets for reliable, quick, communication. The Web Client is styled with Tailwind CSS and written in TypeScript using the Svelte Framework. Both front and back end can be easily proxied by Caddy or Nginx webservers (when deployed using Sveltekit's static site adapter.)