Tech
More information about the tech-stacks that I've worked with, and the kind of things that I've done with them. I've tried to keep things pretty level and just give the highlights to avoid blasting you with a wall of text.
If you are interested something specific try the search to filter whats visible. It'll just show all the things that match any of the options
Akira
Initially all our Frontend applications where large codebases of class-based React components with Redux stores after hooks and context were introduced we started to transition over to that. We initially started off using MaterialUI but transition over to our own component library that I laid the foundation for and that we were able to theme across our different apps.
Working with our design team I built the foundation of our design system, I created the styles layed the foundation for a lot of the code which we were easily able to onboard new devs and adapt to different products and take it through a rebrand with mimimal effort.
One of the final things that I was involved with was worked on was bringing GraphQL into the codebase, we used Relay as the client for that which while had a pretty steep learning curve at the time but seems to have informed a lot of the patterns that the React library has since gone on to expand.
Working in a large RESTful Ruby backend, it was not Rails app though we used Sequel and Grape. I helped build out out 2FA flow along with various projects including eligibility programs for EAP benefits could be delivered through the platform. Honestly it was quite a long time ago now and I can't really remember all of it.
Along side our ruby monolith with had a few smaller Node micro-services, I was heavily involved with our employee eligibility management system that used Fastify. It was responsible to importing and parsing large CSVs from organisations to manage user access to the system. It had to parse CSVs that were sometimes up several hundreds of thousands of rows for multiple orgs and sub-orgs and then compare those against the currently eligible users to see what might have changed.
Labeler
Parsing the response from GitHub's API for branch data I added a lot of extra test coverage for the codebase as well which allowed me, in a collaboration with the maintainers to improve the code organisation.
joshdales.dev
While this site is mostly just statically rendered markdown files there are flashes of interactivity that are there are done with Vue, like that little search box on this page for example.
PocketHealth
I feel that a large part of role to start with was helping to push up the code quality in the frontend, thats included helping move us towards more modern Angular patterns like control flow and signals. I've had a large hand in upgrading the exam viewer that is a core part of our platform and developing new features like our suite of tools for Breast Health.
I've dabbled in our backend which has several Go services, and built out a system to help manage the services that a patient might be relevant or eligible for based on their uploaded exams.
Quick Git
While Raycast is written in Rust the UI is in React, I had to parse command-line output from various git commands and then come up with how to translate that with the available components. It was a really fun challenge in how to rethink a workflow that I've become so accustomed for years.
React starter kit
A small repo to setup a react SPA with the settings that I like. As I don't work regularly with React any more it gives me an excuse to keep up to date and play around with new features and keep up to date with the newest comings and goings like new hooks or the React Compiler.
Tiny Mile
When I first joined the company I made an iOS React Native application in order to allow users to send peer-to-peer deliveries with Geoffrey (the robot). I also worked with our designer to improve the react code of our internal user-interfaces
We wanted a small web app to allow users to track food deliveries and easily interact with their robot courier, and I made it with Svelte as it has great built in support for animations to help inject a lot of fun into the experience. You can see what that looked like here, and thanks to my boss at the time Caio for letting bring in a new framework for that!
The backend was a collection of Go micro-services that used gRPC to communicate with each other and the frontend, we followed the BFF (backend-for-frontend) pattern where each UI application had it's own service to get the data for it.
Tundra
I missed using the old Akira design system after I left so I decided to build my own version of it, or at least how I remember it. Plus updating it with modern CSS features like custom properties, logical properties, colours defined with oklch on the P3 gamut. While the library itself was written in SCSS with lots of mixins and functions, I'm updating it as newer CSS features become available.
The documentation site I built from scratch using SvelteKit, I wanted to be able to use it as a playground to experiment with the system along with making sure that I was keeping the site up to date with the changes that I made. And it was just a nice excuse to dive back into Svelte every once in a while.