making progress
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
node_modules
|
||||
|
|
@ -4,8 +4,8 @@
|
|||
position: relative;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
max-width: unset;
|
||||
width: 90vw;
|
||||
width: unset;
|
||||
max-width: unset;
|
||||
margin-left: -0.5rem;
|
||||
margin-right: -0.5rem;
|
||||
margin-top: 0.8rem;
|
||||
|
@ -21,8 +21,7 @@
|
|||
img {}
|
||||
|
||||
.project-image > img {
|
||||
max-width: 90%;
|
||||
margin: 0.5rem;
|
||||
margin: 0 0.5rem;
|
||||
}
|
||||
|
||||
.social-links img {
|
||||
|
|
|
@ -64,7 +64,7 @@ h4 {
|
|||
}
|
||||
|
||||
.project-image > img {
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
margin-bottom: 3rem;
|
||||
-webkit-box-shadow: 2px 2px 8px 1px rgba(0,0,0,0.17);
|
||||
-moz-box-shadow: 2px 2px 8px 1px rgba(0,0,0,0.17);
|
||||
|
|
BIN
images/curricular-skills-api.png
Normal file
After Width: | Height: | Size: 184 KiB |
BIN
images/skillabi-1-login.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
images/skillabi-2.gif
Normal file
After Width: | Height: | Size: 417 KiB |
BIN
images/skillabi-3.webp
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
images/skills-match-2.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
images/skills-match-img-1.webp
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
images/skills-match-img-3.webp
Normal file
After Width: | Height: | Size: 31 KiB |
106
index.html
|
@ -3,7 +3,7 @@
|
|||
<link rel="stylesheet" href="css/main.css" />
|
||||
<link rel="stylesheet" media="screen and (max-width: 700px)" href="css/700.css" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,500i" rel="stylesheet">
|
||||
<title>Javascipt Developer - Portfolio</title>
|
||||
<title>Fullstack Developer - Portfolio</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="flex-container">
|
||||
|
@ -33,24 +33,100 @@
|
|||
<section class="section about">
|
||||
<h2>About Me</h2>
|
||||
<p class="attention">I'm a full-stack engineer with experience building
|
||||
and deploying web based applications from the ground up as well as
|
||||
debugging and maintaining legacy systems. I am looking for a remote
|
||||
full-stack/frontend position with a team that embraces remote work.</p>
|
||||
and deploying web based applications from the ground up as well as
|
||||
debugging and maintaining legacy applications. I am looking for a remote
|
||||
position building web based software with a team that embraces remote
|
||||
work.</p>
|
||||
|
||||
<p>I have been working with websites and code since I was a kid and then
|
||||
worked 7 years in technical support where I gained a solid
|
||||
understanding of the web and how it works under the hood. I have spent
|
||||
the last 4 years designing, building, deploying and maintaining
|
||||
javascript applications. I've worked with iOS, PHP, NodeJS, and
|
||||
React/Redux. I enjoy learning better ways to do things, solving
|
||||
difficult problems and building software that assists my clients/users
|
||||
in achieving success. I live in Hayden Idaho and my hobbies include
|
||||
Devops, listening to podcasts, playing ukulele and, especially,
|
||||
spending time with my wife and 3 kids.</p>
|
||||
worked 7 years in technical support where I gained a solid understanding
|
||||
of the web and how it works under the hood. I have spent the last 8 years
|
||||
designing, building, deploying and maintaining javascript and typescript
|
||||
applications. I've worked with PHP, NodeJS, React, and Serverless.js. I
|
||||
enjoy learning better ways to do things, solving difficult problems and
|
||||
building software that helps people. I live in Moscow Idaho and my
|
||||
hobbies include Devops, listening to podcasts, playing ukulele and,
|
||||
especially, spending time with my wife and 4 kids.</p>
|
||||
</section>
|
||||
<section class="section projects">
|
||||
<h2>Recent Software Projects</h2>
|
||||
<h3>Dashdrop</h3>
|
||||
<h3><a href="https://www.economicmodeling.com/skillabi/">Skillabi</a></h3>
|
||||
<div class="project">
|
||||
<div class="project-image">
|
||||
<img class="main-image" src="images/skillabi-1-login.png"/>
|
||||
<img class="main-image" src="images/skillabi-2.gif"/>
|
||||
<img class="main-image" src="images/skillabi-3.webp"/>
|
||||
<img class="main-image" src="images/curricular-skills-api.png"/>
|
||||
</div>
|
||||
<div class="project-info">
|
||||
<h4>Project Goals</h4>
|
||||
<p>Skillabi is a tool to help Higher Education institutionsand to
|
||||
find skills that are in-demand in the market place so they can
|
||||
adjust they're curriculum to teach those skills. Skills are parsed
|
||||
from course data and then compared with skills job postings data
|
||||
for relevant occupations.</p>
|
||||
<h4>My Contributions</h4>
|
||||
|
||||
<p>I worked on a 2-3 man team to build a prototype using netlify. We then
|
||||
itterated on it in 3 phases. The prototype was successful enough
|
||||
that customers requested to pay to use it (although it chock full
|
||||
of technical debt on the inside.) When it came time to build a
|
||||
production version, I took over as the technical lead on the
|
||||
project. This included designing a new version of the backend APIs
|
||||
and leading the reimplementation the frontend.</p>
|
||||
|
||||
<p>The new APIs for storing curricular data and user profiles
|
||||
needed to be secure, easy to use, well tested, well documented,
|
||||
scalable and reliable. We ensured that security was implemeted in
|
||||
the back end first. We used cognito tokens and JWT claims to scope
|
||||
user access at the API level on a per user basis. We adopted a
|
||||
search query language for searching a curricular data that ensured
|
||||
the API could be easily expanded and would be consistant across
|
||||
endpoints. We implemented the API on AWS serverless lambdas for
|
||||
scalability and reliability and used typescript on serverless.js
|
||||
for ease of development.</p>
|
||||
|
||||
<p>The new frontend was developed with react, written in typescript
|
||||
and served via cloudfront and s3 for scalabilty, reliability and
|
||||
simplicity. I developed the solutions to the most complicated
|
||||
problems, including realtime highlighting of skills within a text
|
||||
area as users type (The parsing of the skills was handled by an
|
||||
external API), and identifying boilerplate text accross many
|
||||
courses in a curriculum for parsing. </p>
|
||||
<h4>Technologies Used</h4>
|
||||
<p>Typescript, Terraform, Gitlab CI, Fugue, OpenId/OAuth, React, Serverless.js, react-query, JWT, KONG</p>
|
||||
</div>
|
||||
</div>
|
||||
<h3>Skillsmatch</h3>
|
||||
<div class="project">
|
||||
<div class="project-image">
|
||||
<img class="main-image" src="images/dashdrop-1.png"/>
|
||||
<img class="main-image" src="images/dashdrop-2.png"/>
|
||||
<img class="main-image" src="images/dashdrop-3.png"/>
|
||||
</div>
|
||||
<div class="project-info">
|
||||
<h4>Project Goals</h4>
|
||||
<p>Skillsmtch is an web based app that schools can provide to their
|
||||
students and potential student who are coming back to school after
|
||||
some time in the workplace. Skillsmatch helps these adult learners
|
||||
catalogue the skills they already have so they can see what skills
|
||||
they could then learn to make help with either making themselves
|
||||
more marketable or shifting careers. It then helps them identify
|
||||
courses or degrees that could help them to learn and demonstrate
|
||||
those skills to potential employers.</p>
|
||||
<h4>My Contributions</h4>
|
||||
<p>I worked with my team as a newly hired developer at the company
|
||||
to quickly rebuild the already developed prototype. We build out
|
||||
out necessary APIs using serverless.js/Mongodb and frontend in
|
||||
Javascript with React/Redux. I wrote code for, reviewed and QA'd
|
||||
tickets. I particularly enjoyed teaching new developers and interns
|
||||
as they were hired, implementing API tests on our new APIs and
|
||||
building out dev ops systems to automatically deploy to AWS.</p>
|
||||
<h4>Technologies Used</h4>
|
||||
<p>React, Cypress, AWS Elastic Beanstalk, Serverless.js, Redux, Docker, Codeship CI</p>
|
||||
</div>
|
||||
</div>
|
||||
<h3>Dash Drop</h3>
|
||||
<div class="project">
|
||||
<div class="project-image">
|
||||
<img class="main-image" src="images/dashdrop-1.png"/>
|
||||
|
@ -184,7 +260,7 @@
|
|||
built to wrap the current web interface and allow
|
||||
reusing the existing web based code as much as
|
||||
possible.</p>
|
||||
<h4>My Contrinbutions</h4>
|
||||
<h4>My Contributions</h4>
|
||||
<p>Initially I helped write many of the api calls for
|
||||
the js library the web app used to communicate through
|
||||
the webFrame to the native code. Later I helped out
|
||||
|
|
27
scripts/process-images.sh
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
|
||||
IMAGES_DIR="./images"
|
||||
|
||||
WIDTH=
|
||||
|
||||
for f in ./images/*
|
||||
do
|
||||
echo "Processing $f"
|
||||
case "$f" in
|
||||
*.jpeg|*.jpg)
|
||||
convert $f [320] ./images/thumbnails/`basename $f`;
|
||||
;;
|
||||
*.png)
|
||||
echo "PNG $f"
|
||||
;;
|
||||
*.webp)
|
||||
echo "WEBP $f"
|
||||
;;
|
||||
*.gif)
|
||||
echo "GIF $f"
|
||||
;;
|
||||
*)
|
||||
echo "OTHER ${f}"
|
||||
;;
|
||||
esac
|
||||
done
|