chore: update resume

This commit is contained in:
Art Rosnovsky
2025-01-09 14:31:55 -08:00
parent 4440125308
commit 6ce0bb42b1
4 changed files with 74 additions and 118 deletions

View File

@@ -19,17 +19,18 @@
"dependencies": {
"markdown-pdf": "^11.0.0",
"md-to-pdf": "^5.2.4",
"pino": "^9.4.0",
"pino-pretty": "^11.2.2",
"typescript": "^5.6.2"
"pino": "^9.6.0",
"pino-pretty": "^13.0.0",
"typescript": "^5.7.3"
},
"devDependencies": {
"@types/markdown-pdf": "^9.0.5",
"@types/node": "^22.5.4",
"@types/node": "^22.10.5",
"ts-node": "^10.9.2",
"typescript": "latest"
},
"engines": {
"node": ">=20.5.0"
}
},
"packageManager": "pnpm@9.15.2+sha512.93e57b0126f0df74ce6bff29680394c0ba54ec47246b9cf321f0121d8d9bb03f750a705f24edc3c1180853afd7c2c3b94196d0a3d53d3e069d9e2793ef11f321"
}

148
pnpm-lock.yaml generated
View File

@@ -13,26 +13,26 @@ importers:
version: 11.0.0
md-to-pdf:
specifier: ^5.2.4
version: 5.2.4(typescript@5.6.2)
version: 5.2.4(typescript@5.7.3)
pino:
specifier: ^9.4.0
version: 9.4.0
specifier: ^9.6.0
version: 9.6.0
pino-pretty:
specifier: ^11.2.2
version: 11.2.2
specifier: ^13.0.0
version: 13.0.0
typescript:
specifier: ^5.6.2
version: 5.6.2
specifier: ^5.7.3
version: 5.7.3
devDependencies:
'@types/markdown-pdf':
specifier: ^9.0.5
version: 9.0.5
'@types/node':
specifier: ^22.5.4
version: 22.5.4
specifier: ^22.10.5
version: 22.10.5
ts-node:
specifier: ^10.9.2
version: 10.9.2(@types/node@22.5.4)(typescript@5.6.2)
version: 10.9.2(@types/node@22.10.5)(typescript@5.7.3)
packages:
@@ -97,16 +97,12 @@ packages:
'@types/markdown-pdf@9.0.5':
resolution: {integrity: sha512-0FJtLFwfr0zZW69a/qbv/sSqFGr7YUdfIB+ytVhm7If7zIQ/UXXoOHXsTDwCz30/PLf8ya6JjD3mRL+lFnbT5g==}
'@types/node@22.5.4':
resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==}
'@types/node@22.10.5':
resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==}
'@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
abort-controller@3.0.0:
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
engines: {node: '>=6.5'}
acorn-walk@8.3.4:
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'}
@@ -245,9 +241,6 @@ packages:
buffer@5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
bytes@3.0.0:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
engines: {node: '>= 0.8'}
@@ -445,14 +438,6 @@ packages:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
event-target-shim@5.0.1:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
events@3.3.0:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
engines: {node: '>=0.8.x'}
extend-shallow@2.0.1:
resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
engines: {node: '>=0.10.0'}
@@ -944,29 +929,25 @@ packages:
resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==}
engines: {node: '>=0.10.0'}
pino-abstract-transport@1.2.0:
resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
pino-abstract-transport@2.0.0:
resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
pino-pretty@11.2.2:
resolution: {integrity: sha512-2FnyGir8nAJAqD3srROdrF1J5BIcMT4nwj7hHSc60El6Uxlym00UbCCd8pYIterstVBFlMyF1yFV8XdGIPbj4A==}
pino-pretty@13.0.0:
resolution: {integrity: sha512-cQBBIVG3YajgoUjo1FdKVRX6t9XPxwB9lcNJVD5GCnNM4Y6T12YYx8c6zEejxQsU0wrg9TwmDulcE9LR7qcJqA==}
hasBin: true
pino-std-serializers@7.0.0:
resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
pino@9.4.0:
resolution: {integrity: sha512-nbkQb5+9YPhQRz/BeQmrWpEknAaqjpAqRK8NwJpmrX/JHu7JuZC5G1CeAwJDJfGes4h+YihC6in3Q2nGb+Y09w==}
pino@9.6.0:
resolution: {integrity: sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==}
hasBin: true
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
process-warning@4.0.0:
resolution: {integrity: sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==}
process@0.11.10:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
process-warning@4.0.1:
resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==}
progress@1.1.8:
resolution: {integrity: sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==}
@@ -1025,10 +1006,6 @@ packages:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
readable-stream@4.5.2:
resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@@ -1120,8 +1097,8 @@ packages:
resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==}
engines: {node: '>= 10.13.0', npm: '>= 3.0.0'}
sonic-boom@4.1.0:
resolution: {integrity: sha512-NGipjjRicyJJ03rPiZCJYjwlsuP2d1/5QUviozRXC7S3WdVWNK5e3Ojieb9CCyfhq2UC+3+SRd9nG3I2lPRvUw==}
sonic-boom@4.2.0:
resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==}
source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
@@ -1261,16 +1238,16 @@ packages:
typedarray@0.0.6:
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
typescript@5.6.2:
resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
typescript@5.7.3:
resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
engines: {node: '>=14.17'}
hasBin: true
unbzip2-stream@1.4.3:
resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
undici-types@6.19.8:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
undici-types@6.20.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
universalify@0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
@@ -1412,19 +1389,15 @@ snapshots:
'@types/markdown-pdf@9.0.5': {}
'@types/node@22.5.4':
'@types/node@22.10.5':
dependencies:
undici-types: 6.19.8
undici-types: 6.20.0
'@types/yauzl@2.10.3':
dependencies:
'@types/node': 22.5.4
'@types/node': 22.10.5
optional: true
abort-controller@3.0.0:
dependencies:
event-target-shim: 5.0.1
acorn-walk@8.3.4:
dependencies:
acorn: 8.12.1
@@ -1537,11 +1510,6 @@ snapshots:
base64-js: 1.5.1
ieee754: 1.2.1
buffer@6.0.3:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
bytes@3.0.0: {}
callsites@3.1.0: {}
@@ -1637,14 +1605,14 @@ snapshots:
core-util-is@1.0.3: {}
cosmiconfig@8.3.6(typescript@5.6.2):
cosmiconfig@8.3.6(typescript@5.7.3):
dependencies:
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
typescript: 5.6.2
typescript: 5.7.3
create-require@1.1.1: {}
@@ -1723,10 +1691,6 @@ snapshots:
esutils@2.0.3: {}
event-target-shim@5.0.1: {}
events@3.3.0: {}
extend-shallow@2.0.1:
dependencies:
is-extendable: 0.1.1
@@ -2085,7 +2049,7 @@ snapshots:
marked@4.3.0: {}
md-to-pdf@5.2.4(typescript@5.6.2):
md-to-pdf@5.2.4(typescript@5.7.3):
dependencies:
arg: 5.0.2
chalk: 4.1.2
@@ -2097,7 +2061,7 @@ snapshots:
iconv-lite: 0.6.3
listr: 0.14.3
marked: 4.3.0
puppeteer: 21.5.2(typescript@5.6.2)
puppeteer: 21.5.2(typescript@5.7.3)
semver: 7.5.4
serve-handler: 6.1.5
transitivePeerDependencies:
@@ -2231,12 +2195,11 @@ snapshots:
pinkie@2.0.4: {}
pino-abstract-transport@1.2.0:
pino-abstract-transport@2.0.0:
dependencies:
readable-stream: 4.5.2
split2: 4.2.0
pino-pretty@11.2.2:
pino-pretty@13.0.0:
dependencies:
colorette: 2.0.20
dateformat: 4.6.3
@@ -2246,34 +2209,31 @@ snapshots:
joycon: 3.1.1
minimist: 1.2.8
on-exit-leak-free: 2.1.2
pino-abstract-transport: 1.2.0
pino-abstract-transport: 2.0.0
pump: 3.0.2
readable-stream: 4.5.2
secure-json-parse: 2.7.0
sonic-boom: 4.1.0
sonic-boom: 4.2.0
strip-json-comments: 3.1.1
pino-std-serializers@7.0.0: {}
pino@9.4.0:
pino@9.6.0:
dependencies:
atomic-sleep: 1.0.0
fast-redact: 3.5.0
on-exit-leak-free: 2.1.2
pino-abstract-transport: 1.2.0
pino-abstract-transport: 2.0.0
pino-std-serializers: 7.0.0
process-warning: 4.0.0
process-warning: 4.0.1
quick-format-unescaped: 4.0.4
real-require: 0.2.0
safe-stable-stringify: 2.5.0
sonic-boom: 4.1.0
sonic-boom: 4.2.0
thread-stream: 3.1.0
process-nextick-args@2.0.1: {}
process-warning@4.0.0: {}
process@0.11.10: {}
process-warning@4.0.1: {}
progress@1.1.8: {}
@@ -2319,10 +2279,10 @@ snapshots:
- supports-color
- utf-8-validate
puppeteer@21.5.2(typescript@5.6.2):
puppeteer@21.5.2(typescript@5.7.3):
dependencies:
'@puppeteer/browsers': 1.8.0
cosmiconfig: 8.3.6(typescript@5.6.2)
cosmiconfig: 8.3.6(typescript@5.7.3)
puppeteer-core: 21.5.2
transitivePeerDependencies:
- bufferutil
@@ -2355,14 +2315,6 @@ snapshots:
string_decoder: 1.3.0
util-deprecate: 1.0.2
readable-stream@4.5.2:
dependencies:
abort-controller: 3.0.0
buffer: 6.0.3
events: 3.3.0
process: 0.11.10
string_decoder: 1.3.0
readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
@@ -2469,7 +2421,7 @@ snapshots:
ip: 2.0.0
smart-buffer: 4.2.0
sonic-boom@4.1.0:
sonic-boom@4.2.0:
dependencies:
atomic-sleep: 1.0.0
@@ -2597,21 +2549,21 @@ snapshots:
tr46@0.0.3: {}
ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2):
ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 22.5.4
'@types/node': 22.10.5
acorn: 8.12.1
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
typescript: 5.6.2
typescript: 5.7.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
@@ -2627,14 +2579,14 @@ snapshots:
typedarray@0.0.6: {}
typescript@5.6.2: {}
typescript@5.7.3: {}
unbzip2-stream@1.4.3:
dependencies:
buffer: 5.7.1
through: 2.3.8
undici-types@6.19.8: {}
undici-types@6.20.0: {}
universalify@0.1.2: {}

View File

@@ -12,24 +12,24 @@ pdf_options:
## Art Rosnovsky
> job@rosnovsky.us | [github.com/rosnovsky](https://github.com/rosnovsky) | Washington state | **Remote Only** |
> job@rosnovsky.us | (360) 513-6735 | [github.com/rosnovsky](https://github.com/rosnovsky) | Washington state | **Remote Only** |
Dedicated `JavaScript`/`TypeScript` Engineer, passionately working with ` React`, serverless, `Kubernetes` and CI/CD. I champion sustainable, ethical tech that makes a positive impact, by building stable, scalable, efficient, and maintainable software.
Dedicated `JavaScript`/`TypeScript` Engineer, passionately working with `React`, serverless, `Kubernetes`, CI/CD, and **specializing in Customer Identity and Access Management** (`CIAM`). I champion sustainable, ethical tech that makes a positive impact, by building stable, scalable, efficient, and maintainable software.
## Technical Skills
- **Front End**: `JavaScript`, `TypeScript`, `React`, `Svelte`, `Tailwind`, `CSS`, `HTML`
- **Back End**: `Node.js`, `Express`, `Next.js`, `MongoDB`, `PostgreSQL`, `tRPC`, RESTful APIs
- **Back End**: `Node.js`, `Express`, `Next.js`, `Astro`, `Remix`, `MongoDB`, `PostgreSQL`, `tRPC`, RESTful APIs
- **Dev Tools/DevOps**: `Git`, `Docker`, `Kubernetes`, `Jira`, `AWS`, `Azure`, `CI/CD` (`GitHub Actions`, `Gitlab Pipelines`)
- **Other**: former frontline reporter, can fly single-engine aircraft
## Work Experience
### Senior Developer (Auth0)
> **[BeyondID](https://beyondid.com)**, Remote • Apr 2024 - Present
> **[BeyondID](https://beyondid.com)**, Remote • Apr 2024 - Jan 2025
- Implemented end-to-end CIAM solutions for Fortune 500 companies.
- Developed and produced training materials for internal teams.
- Implemented end-to-end CIAM solutions for Fortune 500 companies (primarily, in retail, financial services, and healthcare industries).
- Developed and produced CIAM training materials for internal teams.
- Developed a variety of internal CIAM-related tools.
### Software Engineer
@@ -37,8 +37,8 @@ Dedicated `JavaScript`/`TypeScript` Engineer, passionately working with ` React`
> **[Auth0](https://auth0.com)**, Remote • Mar 2021 - April 2024
- Delivered the [Quarterly Snapshot](https://auth0.com/docs/get-started/tenant-settings/auth0-teams/quarterly-snapshot) feature on schedule.
- Enhanced Technical Account Managers' workflow by building internal tools for Quarterly Snapshots covering **$20M** worth of ARR.
- Developed, deployed, and stabilized an internal AI & ML tool, enhancing knowledge sharing and delivery within the Customer First teams **saving over $10K** of SME productive time every year.
- Enhanced Technical Account Managers' workflow by building internal tools for Quarterly Snapshots.
- Developed, deployed, and stabilized an internal AI & ML tool, enhancing knowledge sharing and delivery within the Customer First teams **saving over 100 hours** of SME productive time every year.
- Saved **$20K** annually on AWS bills by strategically decommissioning idle resources.
- Improved and delivered a multitude of high-profile company-wide internal tools.
- Implemented critical security improvements to key in-house Customer Success tools.
@@ -48,7 +48,7 @@ Dedicated `JavaScript`/`TypeScript` Engineer, passionately working with ` React`
> **[Auth0](https://auth0.com)**, Remote • Dec 2019 - Mar 2021
- Successfully resolved over 2,000 support cases of various complexity with an average **cSAT of 99%** and **on-time SLA of 97%**.
- Assisted hundreds of major enterprise customers with complex CIAM integration use cases.
- Assisted hundreds of major enterprise customers and startup teams with complex CIAM integration use cases.
- Guided hundreds of developers through Identity Management implementations in every environment imaginable.
<div class="page-break"></div>
@@ -90,12 +90,15 @@ Dedicated `JavaScript`/`TypeScript` Engineer, passionately working with ` React`
## Languages
- English — Bilingual
- Russian — Bilingual (comprehend Ukrainian 🇺🇦, Belarusian)
- English — Fluent
- Russian — Fluent (comprehend Ukrainian 🇺🇦, Belarusian)
- Arabic — Basic
## Publications
## Open Source / Hobbie Projects
- Rosnovsky, A. (2001). "About robots, Again." PC Week/RE, (300).
- Rosnovsky, A. (2007). "Mac OS X versus Windows." CNews.
- Rosnovsky, A. (2008). "Podcast practice: Master class from one of the most famous Russian podcasters." Hacker, (181).
- [`rosnovsky/astro-mastodon`](https://github.com/rosnovsky/astro-mastodon) - A simple Astro component for displaying Mastodon posts.
- [`Plex Music Stats`](https://music.rosnovsky.us) - show your Plex music stats. | `typescript`, `react`, `remix`, `tailwind`
- [`SafeSafe`](https://safesafe.app) - a private app to store your important documents, with automatic OCR and transcripts and vector search. | `typescript`, `react`, `nextjs`, `tailwind`, `tesseract`, `typesense`, `S3`, `SQS`
- [`rosnovsky/sanity-autocomplete-tags`](https://github.com/rosnovsky/sanity-plugin-autocomplete-tags) - A Sanity plugin for autocompleting tags.
- [`Current Apple Music`](https://github.com/rosnovsky/current-apple-music) - show what you're listening to on Apple Music.
- [`rosnovsky/spinup`](https://github.com/rosnovsky/spinup) - A simple CLI tool for installing pre-defined software on new machines.