2023-01-30 00:04:05 +00:00
|
|
|
<script lang="ts">
|
2023-01-30 06:56:53 +00:00
|
|
|
import Graphql from '@iconify-icons/simple-icons/graphql';
|
2023-09-26 08:18:42 +00:00
|
|
|
import Nextdotjs from '@iconify-icons/simple-icons/nextdotjs';
|
2023-01-30 06:56:53 +00:00
|
|
|
import Prisma from '@iconify-icons/simple-icons/prisma';
|
|
|
|
|
import Gatsby from '@iconify-icons/simple-icons/gatsby';
|
|
|
|
|
import Docker from '@iconify-icons/simple-icons/docker';
|
|
|
|
|
import React from '@iconify-icons/simple-icons/react';
|
|
|
|
|
import Remix from '@iconify-icons/simple-icons/remix';
|
|
|
|
|
import Svelte from '@iconify-icons/simple-icons/svelte';
|
|
|
|
|
import TypeScript from '@iconify-icons/simple-icons/typescript';
|
2023-11-12 22:57:07 +00:00
|
|
|
import LazyImage from '$lib/components/LazyImage.svelte';
|
2023-12-15 23:13:59 +00:00
|
|
|
import rural from '$lib/assets/images/rural.png?as=run:0';
|
2023-09-27 04:40:49 +00:00
|
|
|
import tortie_derp from '$lib/assets/images/tortie_derp.jpg?as=run';
|
|
|
|
|
import orange_derp from '$lib/assets/images/orange_derp.jpg?as=run';
|
2023-04-20 06:19:27 +00:00
|
|
|
import turnip from '$lib/assets/images/turnip.svg';
|
2023-12-15 23:13:59 +00:00
|
|
|
import CourseCard from './CourseCard.svelte';
|
|
|
|
|
import courseData from './course.json';
|
|
|
|
|
import type { Course } from '$root/lib/types/courses';
|
|
|
|
|
import TechListItem from './TechListItem.svelte';
|
|
|
|
|
|
|
|
|
|
const courses: Course[] = courseData.courses;
|
2023-01-30 00:04:05 +00:00
|
|
|
</script>
|
|
|
|
|
|
2023-01-30 06:56:53 +00:00
|
|
|
<div class="about">
|
|
|
|
|
<div>
|
|
|
|
|
<h1>About</h1>
|
|
|
|
|
<p>Hey! My name is Bradley Shellnut.</p>
|
|
|
|
|
<p>
|
|
|
|
|
I'm {new Date().getFullYear() - 1991} years old and I am a full stack
|
|
|
|
|
software engineer who's interested in new tech and not afraid to
|
|
|
|
|
discover new interests.
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h2>More deets</h2>
|
|
|
|
|
<p>
|
|
|
|
|
I graduated from Cal Poly San Luis Obispo in 2013 with a Bachelor's
|
|
|
|
|
degree in Computer Engineering.{' '}
|
|
|
|
|
<span class="emoji" title="Software + Hardware">
|
|
|
|
|
💻
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
At work I develop in Java Spring, Spring Boot, PostgreSQL, and React /
|
|
|
|
|
Angular.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
At home I delve into other frameworks, languages, and platforms such
|
|
|
|
|
as:
|
|
|
|
|
</p>
|
2023-12-15 23:13:59 +00:00
|
|
|
<div class="tech-list">
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="React"
|
|
|
|
|
ariaLabel="React"
|
2023-01-30 06:56:53 +00:00
|
|
|
href="https://reactjs.org/"
|
2023-12-15 23:13:59 +00:00
|
|
|
clazz="center"
|
|
|
|
|
icon={React}
|
|
|
|
|
/>
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="TypeScript"
|
|
|
|
|
ariaLabel="TypeScript"
|
|
|
|
|
href="https://www.typescriptlang.org/"
|
|
|
|
|
clazz="center"
|
|
|
|
|
icon={TypeScript}
|
|
|
|
|
/>
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="Svelte"
|
|
|
|
|
ariaLabel="Svelte"
|
2023-01-30 06:56:53 +00:00
|
|
|
href="https://svelte.dev"
|
2023-12-15 23:13:59 +00:00
|
|
|
clazz="center"
|
|
|
|
|
icon={Svelte}
|
|
|
|
|
/>
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="NextJS"
|
|
|
|
|
ariaLabel="NextJS"
|
2023-02-27 06:18:16 +00:00
|
|
|
href="https://nextjs.org/"
|
2023-12-15 23:13:59 +00:00
|
|
|
clazz="center"
|
|
|
|
|
icon={Nextdotjs}
|
|
|
|
|
/>
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="Remix"
|
|
|
|
|
ariaLabel="Remix"
|
2023-01-30 06:56:53 +00:00
|
|
|
href="https://remix.run/"
|
2023-12-15 23:13:59 +00:00
|
|
|
clazz="center"
|
|
|
|
|
icon={Remix}
|
|
|
|
|
/>
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="GraphQL"
|
|
|
|
|
ariaLabel="GraphQL"
|
2023-01-30 06:56:53 +00:00
|
|
|
href="https://graphql.org/"
|
2023-12-15 23:13:59 +00:00
|
|
|
clazz="center"
|
|
|
|
|
icon={Graphql}
|
|
|
|
|
/>
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="Prisma"
|
|
|
|
|
ariaLabel="Prisma"
|
2023-01-30 06:56:53 +00:00
|
|
|
href="https://prisma.io/"
|
2023-12-15 23:13:59 +00:00
|
|
|
clazz="center"
|
|
|
|
|
icon={Prisma}
|
|
|
|
|
/>
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="GatsbyJS"
|
|
|
|
|
ariaLabel="GatsbyJS"
|
2023-01-30 06:56:53 +00:00
|
|
|
href="https://gatsbyjs.com/"
|
2023-12-15 23:13:59 +00:00
|
|
|
clazz="center"
|
|
|
|
|
icon={Gatsby}
|
|
|
|
|
/>
|
|
|
|
|
<TechListItem
|
|
|
|
|
itemText="Docker"
|
|
|
|
|
ariaLabel="Docker"
|
2023-01-30 06:56:53 +00:00
|
|
|
href="https://docker.com/"
|
2023-12-15 23:13:59 +00:00
|
|
|
clazz="center"
|
|
|
|
|
icon={Docker}
|
|
|
|
|
/>
|
2023-01-30 06:56:53 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h2>Extracurricular</h2>
|
|
|
|
|
<p>
|
|
|
|
|
Outside of work I like to take tutorials from many instructors like
|
|
|
|
|
those below:
|
|
|
|
|
</p>
|
|
|
|
|
<div class="extracurricular">
|
2023-12-15 23:13:59 +00:00
|
|
|
{#each courses as course}
|
|
|
|
|
<CourseCard {course} />
|
|
|
|
|
{/each}
|
2023-01-30 06:56:53 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h2>Other fun things about me…</h2>
|
|
|
|
|
<div style="display: grid;">
|
|
|
|
|
<p>
|
2023-12-15 23:13:59 +00:00
|
|
|
Living it up in Mountain View
|
2023-01-30 06:56:53 +00:00
|
|
|
</p>
|
|
|
|
|
<div
|
|
|
|
|
style="
|
|
|
|
|
display: grid;
|
2023-04-17 19:02:41 +00:00
|
|
|
grid-template-columns: minmax(200px, 400px);
|
2023-01-30 06:56:53 +00:00
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
"
|
|
|
|
|
>
|
2023-12-15 23:13:59 +00:00
|
|
|
<LazyImage src={rural} alt="Clip art of house near trees" />
|
|
|
|
|
<p class="center">Mountain View</p>
|
2023-01-30 06:56:53 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
2023-12-15 23:13:59 +00:00
|
|
|
<p>Hanging out with these two cats, Turnip and Taco.</p>
|
2023-01-30 06:56:53 +00:00
|
|
|
<div class="cat-pics">
|
|
|
|
|
<figure>
|
2023-09-27 04:40:49 +00:00
|
|
|
<LazyImage src={tortie_derp} alt="Turnip Cat" />
|
2023-12-15 23:13:59 +00:00
|
|
|
<p class="center">Turnip <img class="icon" src={String(turnip)} width="25px" height="25px" alt="Turnip" /></p>
|
2023-01-30 06:56:53 +00:00
|
|
|
</figure>
|
|
|
|
|
<figure>
|
2023-09-27 04:40:49 +00:00
|
|
|
<LazyImage src={orange_derp} alt="Taco Cat" />
|
2023-01-30 06:56:53 +00:00
|
|
|
<p class="center">Taco 🌮</p>
|
|
|
|
|
</figure>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<style lang="postcss">
|
2023-02-03 04:20:59 +00:00
|
|
|
:global(img) {
|
|
|
|
|
height: auto;
|
|
|
|
|
max-width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
2023-04-20 06:19:27 +00:00
|
|
|
.icon {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-30 06:56:53 +00:00
|
|
|
.about {
|
|
|
|
|
display: grid;
|
|
|
|
|
grid-gap: 2.5rem;
|
|
|
|
|
|
2023-06-05 23:27:51 +00:00
|
|
|
& p {
|
2023-01-30 06:56:53 +00:00
|
|
|
margin: 1rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tech-list {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
flex-direction: row;
|
2023-02-27 06:18:16 +00:00
|
|
|
place-content: center;
|
|
|
|
|
gap: 1rem;
|
2023-01-30 06:56:53 +00:00
|
|
|
margin-top: 1rem;
|
|
|
|
|
font-size: 2rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.extracurricular {
|
2023-04-20 22:49:03 +00:00
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
place-content: center;
|
2023-01-30 06:56:53 +00:00
|
|
|
gap: 1.5rem;
|
|
|
|
|
|
|
|
|
|
@media (max-width: 1000px) {
|
|
|
|
|
grid-template-columns: repeat(2, auto);
|
|
|
|
|
--cardHeightMin: 20rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@media (max-width: 700px) {
|
|
|
|
|
--cardHeightMin: 10rem;
|
2023-02-27 06:18:16 +00:00
|
|
|
grid-template-columns: 1fr;
|
2023-01-30 06:56:53 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.cat-pics {
|
|
|
|
|
display: grid;
|
|
|
|
|
grid-template-columns: repeat(2, minmax(200px, 0.3fr));
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
2023-04-20 06:19:27 +00:00
|
|
|
gap: 2rem;
|
2023-01-30 06:56:53 +00:00
|
|
|
}
|
|
|
|
|
</style>
|