# Joshua Finnis (@joshfinnis.bsky.social)

Profile: https://sifa.id/p/joshfinnis.bsky.social
Headline: Senior Frontend Engineer | Building Modern Web Applications | React / TypeScript | Developer Tooling

## About

Frontend engineer with a computer science background and 15 years of practice, recently spent modernizing legacy web apps into fast, server-rendered architectures, and designing the systems teams build on. I stay current with web frameworks, bundlers, linters, and testing practices, and I put real care into web standards, good UX, and accessibility.

Lately I work on both a greenfield product and a legacy one we're modernizing in place: an 18-year-old app running alongside its new server-rendered replacement.

I care about the efficiency of the toolchain around the product and customize it or build my own tools to maximize DX, build performance, conventions, and automation. I've lived in the terminal for nearly two decades, so efficiency is just the default.

## Career

- **Senior Software Engineer at Bunchball** (Jun 2017 - Present)
  Admin dashboard modernization: Led the conversion of a 15-year-old Backbone SPA on a Python/Flask backend that was often determined as too risky to modernize. Implemented a series of incremental prototypes to prove that we could do both old and new dual-served on one instance, cross-page integration via webpack/Apache, while making full reuse of existing SSO/auth. Each prototype would become the shipped v2, now a fully server-rendered SSR app.
  
  Customer-facing dashboard architecture: Architected our greenfield dashboard as a server-rendered React Router app (the team's first SSR), from design sprint through rollout. Set the patterns the whole team follows: auth for third-party iframe embeds, routing/repo structure for multiple embeds, and new standards for CSS and semantic HTML.
  
  Stack modernization: Moved the team TypeScript-first with Vite and biome.js, and overhauled frontend testing: modernizing unit tests to Vitest and introduced browser-level end-to-end tests with Cypress.
- **Software Engineer at VirtuOps, an MKAdvantage, Inc. company** (Dec 2015 - May 2017)
- **Software Engineer at Reynolds and Reynolds** (Jul 2012 - Nov 2015)
- **Research Assistant at University of South Florida** (Aug 2008 - Dec 2011)

## Skills

### Other
- Amazon Web Services (AWS)
- Backbone.js
- biome.js
- Bitbucket
- CSS
- Cypress
- Docker
- Figma (Software)
- Front-end Development
- Git
- HTML
- HTML5
- iOS Development
- Java
- JavaScript
- Jenkins
- jQuery
- jujutsu vcs
- Linux
- MySQL
- neovim
- Node.js
- Python
- react-redux
- react-router
- React.js
- Redux.js
- remix
- SASS
- scss
- Software Development
- SQL
- Storybook
- tmux
- TypeScript
- Unix Shell Scripting
- Vim
- vite
- vitest
- zsh

## Publications

- Tweak: New Jujutsu Tug and Push Alias — joshfinnis.leaflet.pub (Aug 2026) https://joshfinnis.leaflet.pub/3msotd6jwhk22
- Tweaks: Refreshing Neovim Config for v0.12 — joshfinnis.leaflet.pub (Aug 2026) https://joshfinnis.leaflet.pub/3msmdtwnhwc2l
- Improving My Neovim Spellcheck Workflow — joshfinnis.leaflet.pub (Jul 2026) https://joshfinnis.leaflet.pub/3mrl6jcprbc2g
- Tweaks: Zsh Startup Time (2.5s -> 0.08s) — joshfinnis.leaflet.pub (Jun 2026) https://joshfinnis.leaflet.pub/3mocfirs54c2l
- A Location-based Policy-specification Language for Mobile Devices — Journal of Pervasive and Mobile Computing (Nov 2011) http://www.sciencedirect.com/science/article/pii/S1574119210001203
- Prometheus: User-Controlled P2P Social Data Management for Socially-Aware Applications — 11th International Middleware Conference (Nov 2010) http://www.springerlink.com/content/u69513343285571w/
- On managing social data for enabling socially-aware applications and services — ACM (Apr 2010) http://dl.acm.org/citation.cfm?doid=1852658.1852665

## Education

- **University of South Florida** — Completed 75 hours towards a PhD degree (2010 - 2011)
- **University of South Florida** — Master's Degree (2008 - 2010)

## Languages

- Spanish (elementary)

## Links

- linkedin: https://www.linkedin.com/in/jfinnis
- GitHub: https://github.com/jfinnis
