const ryan = {
contact: 'ryan.mulready@gmail.com',
technologies: {
browser: {
js: ['typescript', 'vue', 'nuxt', 'vuex', 'pinia'],
css: ['sass', 'bootstrap', 'tailwind'],
test: ['vitest', 'jest', 'cypress', 'playwright'],
monitoring: ['sentry', 'datadog'],
},
node: {
package_managers: ['npm', 'yarn', 'pnpm'],
build_tools: ['vite', 'webpack', 'turbo', 'lerna'],
frameworks: ['express', 'nestjs', 'h3'],
},
devops: {
ci_cd: ['bitbucket pipelines', 'github actions', 'dependabot', 'renovate', 'snyk', 'sonarqube'],
containers: ['docker'],
aws: [
's3', 'cloudfront', 'elastic beanstalk', 'ec2', 'rds', 'cognito', 'lambda', 'codeartifact',
'dynamodb', 'route 53', 'secrets manager', 'cdk',
],
observability: ['grafana', 'prometheus', 'new relic'],
},
linting: [
'eslint', 'stylelint', 'prettier', 'markdownlint', 'commitlint',
],
analytics: [
'ga', 'gtag', 'facebook', 'hubspot',
],
tooling: [
'storybook', 'figma', 'jira', 'postman',
],
},
};
const ryan = {
contact: 'ryan.mulready@gmail.com',
technologies: {
browser: {
js: ['typescript', 'vue', 'nuxt', 'vuex', 'pinia'],
css: ['sass', 'bootstrap', 'tailwind'],
test: ['vitest', 'jest', 'cypress', 'playwright'],
monitoring: ['sentry', 'datadog'],
},
node: {
package_managers: ['npm', 'yarn', 'pnpm'],
build_tools: ['vite', 'webpack', 'turbo', 'lerna'],
frameworks: ['express', 'nestjs', 'h3'],
},
devops: {
ci_cd: ['bitbucket pipelines', 'github actions', 'dependabot', 'renovate', 'snyk', 'sonarqube'],
containers: ['docker'],
aws: [
's3', 'cloudfront', 'elastic beanstalk', 'ec2', 'rds', 'cognito', 'lambda', 'codeartifact',
'dynamodb', 'route 53', 'secrets manager', 'cdk',
],
observability: ['grafana', 'prometheus', 'new relic'],
},
linting: [
'eslint', 'stylelint', 'prettier', 'markdownlint', 'commitlint',
],
analytics: [
'ga', 'gtag', 'facebook', 'hubspot',
],
tooling: [
'storybook', 'figma', 'jira', 'postman',
],
},
};