Files
leecat.art/_site/resume/index.html

1102 lines
25 KiB
HTML
Raw Normal View History

2026-02-20 11:57:19 -08:00
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
2026-02-21 13:09:59 -08:00
<meta name="viewport" content="width=device-width, initial-scale=1.0">
2026-02-20 11:57:19 -08:00
2026-02-21 13:09:59 -08:00
<title>resume | hello hello</title>
<meta name="description" content="Lee Cattarin... on the internet!">
<link rel="alternate" href="/feed.xml" type="application/atom+xml" title="hello hello">
2026-02-20 11:57:19 -08:00
2026-02-21 13:09:59 -08:00
<meta property="og:title" content="resume">
<meta property="og:type" content="website">
<meta property="og:description" content="Lee Cattarin... on the internet!">
<meta property="og:site_name" content="hello hello">
2026-02-20 11:57:19 -08:00
2026-02-21 13:09:59 -08:00
<meta name="generator" content="Eleventy v3.1.2">
2026-02-20 11:57:19 -08:00
2026-02-21 13:09:59 -08:00
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Mono:ital,wght@0,200..800;1,200..800&family=Atkinson+Hyperlegible+Next:ital,wght@0,200..800;1,200..800&display=swap" rel="stylesheet">
<script src="https://kit.fontawesome.com/884dded219.js" crossorigin="anonymous"></script>
<style>.resume h1 {
margin-top: 2rem;
font-size: 2.8rem;
}
.resume h2 {
margin: 1.7rem 0 1rem;
font-size: 1.9rem;
}
.resume h3 {
margin: 0;
font-size: 1.2rem;
}
.two-col {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
}
.col2 {
text-align: right;
}
.spacer {
margin: 1rem 0;
border-top: solid var(--color-teal);
}
.job-details p {
margin: 0;
}
.job-details a {
font-size: 1rem;
}
.job p {
margin-top: 0;
}
2026-02-25 18:10:11 -08:00
.job li strong:not(a) {
color: var(--color-teal);
}
2026-04-06 10:27:00 -07:00
.testimonial {
font-style: italic;
text-align: right;
color: var(--color-teal);
/* reset some of the default bq styling */
border-left: none;
border-radius: 0;
background-color: transparent;
margin-top: 0;
}
:root {
color-scheme: light dark;
--font-family: 'Atkinson Hyperlegible Next', sans-serif;
--font-family-code: 'Atkinson Hyperlegible Mono', monospace;
--color-dark: #2e303e;
--color-dark-alt: #3c3f52;
--color-light: #ebeeef;
--color-light-alt: #dbe1e3;
--color-teal-dark: #18737b;
--color-teal-light: #25b0bc;
--color-pink-dark: #94195d;
--color-pink-light: #ee9fcb;
--color-shadow: rgba(2, 10, 40, .25);
/* Used for syntax highlighting */
2026-02-20 12:24:10 -08:00
--color-red-light: #f195aa;
--color-orange-light: #fab795;
--color-yellow-light: #fbe6bc;
--color-green-light: #29d398;
--color-blue-light: #26bbd9;
--color-purple-light: #ddaeea;
--color-grey-light: #b9c3c6;
--color-red-dark: #991433;
--color-orange-dark: #883206;
--color-yellow-dark: #6a4906;
--color-green-dark: #125940;
--color-blue-dark: #125663;
--color-purple-dark: #722999;
--color-grey-dark: #4a4b64;
--color-text: light-dark(var(--color-dark), var(--color-light));
--color-bg: light-dark(var(--color-light), var(--color-dark));
--color-text-alt: light-dark(var(--color-dark-alt), var(--color-light-alt));
--color-bg-alt: light-dark(var(--color-light-alt), var(--color-dark-alt));
--color-teal: light-dark(var(--color-teal-dark), var(--color-teal-light));
--color-pink: light-dark(var(--color-pink-dark), var(--color-pink-light));
--color-red: light-dark(var(--color-red-dark), var(--color-red-light));
--color-orange: light-dark(var(--color-orange-dark), var(--color-orange-light));
--color-yellow: light-dark(var(--color-yellow-dark), var(--color-yellow-light));
--color-green: light-dark(var(--color-green-dark), var(--color-green-light));
--color-blue: light-dark(var(--color-blue-dark), var(--color-blue-light));
--color-purple: light-dark(var(--color-purple-dark), var(--color-purple-light));
--color-grey: light-dark(var(--color-grey-dark), var(--color-grey-light));
}
/* Base */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: var(--font-family);
color: var(--color-text);
background-color: var(--color-bg);
}
main {
width: 60vw;
max-width: 1000px;
margin: 0 auto;
2026-02-20 08:36:56 -08:00
scroll-margin-top: 7rem;
}
@media (max-width: 1050px) {
main {
width: 75vw;
}
}
@media (max-width: 650px) {
main {
width: 92vw;
}
}
/* Headers */
h1, h2, h3, h4, h5, h6 {
line-height: 1.25;
color: var(--color-teal);
}
h1 {
margin-top: 3rem;
font-size: 3.5rem;
text-align: center;
}
2026-02-20 08:36:56 -08:00
h2, h3, h4, h5, h6 {
scroll-margin-top: 5rem;
}
h2 {
margin-top: 2rem;
font-size: 2.2rem;
}
h3 {
margin-top: 1.5rem;
font-size: 1.6rem;
}
@media (max-width: 650px) {
h1 { font-size: 2.8rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.35rem; }
}
h4, h5, h6 {
margin-top: 1rem;
font-size: 1.2rem;
}
/* Images */
img {
display: block;
max-width: 100%;
height: auto;
border-radius: 1rem;
}
/* Paragraphs */
p {
margin: 1.25rem 0;
line-height: 1.4;
}
strong,
b {
font-weight: 900;
}
/* Links */
a {
color: var(--color-text);
border-radius: .25rem;
text-decoration: underline;
text-decoration-style: solid;
text-decoration-thickness: .2em;
text-decoration-color: var(--color-teal);
transition: text-decoration-thickness .5s;
}
a:focus-visible {
text-decoration: none;
outline: .15rem solid var(--color-teal);
}
@media (any-hover: hover) {
a:hover {
text-decoration-thickness: .4em;
}
}
a:active {
text-decoration-thickness: .4em;
}
/* Heading anchors */
a.ha,
span.ha-placeholder {
color: var(--color-pink);
2026-03-24 10:11:20 -07:00
font-size: .8em;
vertical-align: .1em;
}
span.ha-placeholder {
2026-02-20 12:24:10 -08:00
opacity: .55;
}
/* Lists */
::marker {
color: var(--color-pink);
}
ul, ol, dl, li {
margin-left: 1rem;
}
li {
line-height: 1.2 5;
margin-top: .65rem;
margin-bottom: .65rem;
}
li ul, li ol {
margin: .5rem 0;
}
dt {
font-weight: 900;
margin-top: .5rem;
}
dd {
margin-left: 2rem;
margin-bottom: .75rem;
}
/* Blockquotes */
blockquote {
margin: .5rem 0;
padding: 0 1rem;
border-radius: .25rem 1rem 1rem .25rem;
line-height: 1.25;
border-left: .5rem solid var(--color-pink);
}
blockquote,
blockquote p,
blockquote ol,
blockquote ul {
background-color: var(--color-bg-alt);
padding: .5rem;
}
blockquote p {
margin: 0;
}
/* Tables */
table {
width: 100%;
border-spacing: 0; /* border collapse doesn't play nice with radii */
border-radius: .3rem;
border: thin solid var(--color-pink);
}
th {
color: var(--color-bg);
background-color: var(--color-pink);
}
th code {
color: var(--color-text); /* Yes, I actually do this somewhere */
}
th, td {
padding: .5rem;
text-align: left;
}
tr:nth-child(even) { background-color: var(--color-bg-alt); }
th:not(:first-child) { border-left: thin solid var(--color-bg); }
th:first-child { border-top-left-radius: .25rem; }
th:last-child { border-top-right-radius: .25rem; }
td:not(:first-child) { border-left: thin solid var(--color-pink); }
/* Times */
time {
color: var(--color-grey);
}
/* Horizontal rules */
hr {
2026-02-20 08:36:56 -08:00
border: .25rem solid var(--color-pink);
margin: 2rem 0;
}
/* Used on home, reference, gallery pages */
.centered {
text-align: center;
}
/* Currently only used for resume, but it's generalizable */
.upper {
text-transform: uppercase;
}
/* Header */
header {
position: sticky;
top: 0;
background-color: var(--color-bg);
padding: .75rem 0;
z-index: 10;
2026-02-20 08:46:50 -08:00
border-bottom: thick solid var(--color-teal);
2026-02-20 08:36:56 -08:00
box-shadow: 0 .25rem .15rem var(--color-shadow);
}
/* Header links, pagination links */
header a,
.pagination a,
.webring ul a {
border-radius: 1rem;
border: .125rem solid var(--color-pink);
color: var(--color-pink);
text-decoration: none;
padding: 0 .25rem;
box-shadow: .15rem .15rem var(--color-shadow);
font-size: 1.2rem;
/* Click animation handling */
position: relative;
top: 0;
left: 0;
transition: top .05s ease-in, left .05s ease-in;
}
header a,
.pagination .older a,
.webring .prev a,
.webring .rand a {
padding-right: .35rem;
}
.pagination .newer a,
.webring .next a,
.webring .rand a {
padding-left: .35rem;
}
header a:focus-visible,
.pagination a:focus-visible,
.webring ul a:focus-visible {
color: var(--color-bg);
border-color: var(--color-pink);
background-color: var(--color-pink);
outline: none;
}
@media (any-hover: hover) {
header a:hover,
.pagination a:hover,
.webring ul a:hover {
color: var(--color-bg);
border-color: var(--color-pink);
background-color: var(--color-pink);
}
}
@media (forced-colors: active) {
header a:focus-visible,
.pagination a:focus-visible,
.webring ul a:focus-visible {
outline-offset: .125rem;
outline: .125rem solid;
}
@media (any-hover: hover) {
header a:hover,
.pagination a:hover,
.webring ul a:hover {
outline-offset: .125rem;
outline: .125rem solid;
}
}
}
/* Click animation */
header a:active,
.pagination a:active,
.webring ul a:active {
top: .1rem;
left: .1rem;
box-shadow: .05rem .05rem var(--color-shadow);
}
/* Current page */
header a[aria-current="page"] {
border-color: var(--color-teal);
color: var(--color-teal);
}
header a[aria-current="page"]:focus-visible {
color: var(--color-bg);
border-color: var(--color-teal);
background-color: var(--color-teal);
}
@media (any-hover: hover) {
header a[aria-current="page"]:hover {
color: var(--color-bg);
background-color: var(--color-teal);
border-color: var(--color-teal);
}
}
/* Header link icons, pagination icons */
header i,
.pagination i,
.webring ul i {
color: var(--color-teal);
}
header i,
.pagination .older i,
.webring .prev i,
.webring .rand i:nth-child(1) {
padding-left: .25rem;
}
.pagination .newer i,
.webring .next i,
.webring .rand i:nth-child(2) {
padding-right: .25rem;
}
header a[aria-current="page"] i {
color: var(--color-pink);
}
header a:focus-visible i,
a[aria-current="page"] a:focus-visible i,
.pagination a:focus-visible i,
.webring ul a:focus-visible i {
color: var(--color-bg);
}
@media (any-hover: hover) {
header a:hover i,
header a[aria-current="page"]:hover i,
.pagination a:hover i,
.webring ul a:hover i {
color: var(--color-bg);
}
}
/* Skip link */
#skip {
left: -999px;
position: absolute;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
z-index: -99;
}
#skip:focus-visible {
display: inline-block;
left: auto;
top: auto;
width: auto;
height: auto;
overflow: auto;
margin: 0 10%;
z-index: 999;
}
/* Nav */
header ul {
display: flex;
list-style: none;
gap: 1rem;
justify-content: center;
}
header ul,
header li {
margin: 0;
}
@media (max-width: 650px) {
.menu-text {
display: none; /* Icons only on small screens */
}
header a {
padding: .15rem .5rem;
}
header i {
padding: 0;
}
}
/* Footer */
footer {
padding: 1rem 0;
font-size: .9rem;
2026-02-20 08:46:50 -08:00
border-top: thick solid var(--color-pink);
2026-02-20 19:22:14 -08:00
margin-top: 2rem;
}
footer ul {
display: flex;
list-style: none;
gap: .5rem;
justify-content: center;
margin: 0;
}
footer li {
margin: 0;
}
footer li:nth-child(2)::before,
footer li:nth-child(2)::after {
content: " ● " / "";
color: var(--color-teal);
}
@media (max-width: 650px) {
footer ul {
flex-flow: column;
text-align: center;
}
footer li:nth-child(2)::before,
footer li:nth-child(2)::after {
content: none;
}
}
footer a {
text-decoration-color: var(--color-pink);
}
footer a:focus-visible {
outline-color: var(--color-pink);
}
/* Pagination */
.pagination,
.pagination li {
margin: 0;
}
.pagination {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-areas: "older newer";
list-style: none;
margin-top: 3rem;
}
@media (max-width: 650px) {
.post-pagination {
grid-template-columns: 1fr;
grid-template-areas:
"older"
"newer";
gap: .75rem;
}
}
.pagination .older {
grid-area: older;
}
.pagination .newer {
grid-area: newer;
text-align: right;
}
/* webring navigation */
.webring {
margin-bottom: 3rem;
}
.webring ul {
display: flex;
flex-flow: row wrap;
list-style: none;
justify-content: space-around;
gap: .35rem;
}
.webring ul,
.webring li {
margin-left: 0;
}
@media print {
/* Nav elements */
header,
footer,
nav {
display: none !important;
}
/* Base */
body {
background-color: #fff;
color: #000;
}
main {
width: 95vw;
}
h1,h2,h3,h4,h5,h6 {
color: #000;
}
/* Links */
/* Hover is not really necessary, but it's annoying when testing otherwise */
a,
a:hover {
text-decoration-style: dotted;
text-decoration-thickness: .1rem;
text-decoration-color: #000;
}
a::after{
content: " (" attr(href) ")";
}
/* Code */
code,
pre,
code[class*=language-],
pre[class*=language-] {
text-shadow: none;
background-color: var(--color-light);
color: #000 !important;
}
.token.namespace {
opacity: 1;
}
.token.block-comment,
.token.cdata,
.token.comment,
.token.doctype,
.token.prolog,
.token.punctuation,
.token.attr-name,
.token.deleted,
.token.namespace,
.token.tag,
.token.boolean,
.token.function,
.token.number,
.token.class-name,
.token.constant,
.token.property,
.token.symbol,
.token.attr-value,
.token.char,
.token.regex,
.token.string,
.token.variable,
.token.inserted,
.token.entity,
.token.operator,
.token.url,
.token.function-name,
.token.atrule,
.token.builtin,
.token.important,
.token.keyword,
.token.selector {
color: #000;
}
}</style>
2026-02-21 13:09:59 -08:00
<script type="module"></script>
2026-02-20 11:57:19 -08:00
</head>
<body>
<header>
2026-02-20 12:24:10 -08:00
<a href="#main" id="skip" title="skip to main content">
<i class="fa-solid fa-forward" aria-hidden="true"></i> skip
</a>
<nav aria-label="main navigation">
<ul>
<li>
2026-02-20 11:57:19 -08:00
<a href="/reference/" title="read reference posts">
<i class="fa-regular fa-folder-open" aria-hidden="true"></i>
<span class="menu-text">reference</span>
</a>
</li>
<li>
2026-02-20 11:57:19 -08:00
<a href="/gallery/" title="view the gallery">
<i class="fa-regular fa-images" aria-hidden="true"></i>
<span class="menu-text">gallery</span>
</a>
</li>
<li>
2026-02-20 11:57:19 -08:00
<a href="/" title="">
<i class="fa fa-solid fa-crow" aria-hidden="true"></i>
<span class="menu-text">home</span>
</a>
</li>
<li>
2026-02-20 11:57:19 -08:00
<a href="/about/" title="about Lee">
<i class="fa-regular fa-user" aria-hidden="true"></i>
<span class="menu-text">about</span>
</a>
</li>
<li>
2026-02-20 11:57:19 -08:00
<a href="/contact/" title="contact Lee">
<i class="fa-solid fa-envelope-open-text" aria-hidden="true"></i>
<span class="menu-text">contact</span>
</a>
</li>
</ul>
</nav>
</header>
2026-02-20 11:57:19 -08:00
<main id="main">
<div class="resume">
<h1 class="centered upper" id="lee-cattarin">Lee Cattarin</h1>
<p class="centered">
2026-03-24 09:50:56 -07:00
he/him or ze/hir • Vashon, WA 98070
<br>
2026-03-24 09:50:56 -07:00
<a href="mailto:lee.cattarin@gmail.com?subject=Resume%20inquiry">lee.cattarin@gmail.com</a>
<a href="/">this very website</a><a href="https://linkedin.com/in/lee-cattarin" target="_blank">linkedin.com/in/lee-cattarin</a>
</p>
<h2 class="centered upper" id="platforms-engineer">Platforms Engineer</h2>
<p>
2026-03-24 09:50:56 -07:00
Design-oriented platforms/infrastructure engineer with a well-rounded
background in algorithms, UI/UX, observabilty, databases, and accessibility.
Consistent customer focus with strong communication skills and a passion for
sharing knowledge.
</p>
<hr>
<h2 class="centered upper" id="toolkit">Toolkit</h2>
<ul>
2026-03-24 09:50:56 -07:00
<li>Git, bash, and the terminal</li>
<li>Containers and Kubernetes</li>
<li>Terraform, Bicep, and infrastructure deployment</li>
<li>GitHub Actions and other pipelines</li>
<li>HTML/CSS, Javascript, and UI/UX design</li>
<li>Languages like Go, C, and Python</li>
<li>Accessiblity knowledge and thoughtful design</li>
</ul>
<hr>
<h2 class="centered upper" id="experience">Experience</h2>
2026-02-25 18:10:11 -08:00
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<h3 id="freelance-web-developer">Freelance Web Developer</h3>
<p class="col2"><time datetime="2026-01">January 2026</time> Present</p>
</div>
<p>
Creates and maintains websites for clients based off their concepts and
ideas.
</p>
<ul>
2026-04-06 10:27:00 -07:00
<li>
<strong>My Liberation Work Has Been Damn Ableist: A Landworker Memoir
(<a href="https://maze-pants.codeberg.page/" target="_blank">maze-pants.codeberg.page</a>):</strong>
a web-friendly version of Maze's ~70 page zine, built as a single-page
static site.
<blockquote class="testimonial">
...a pleasure to work with. Ze pays close attention to detail, and
truly cares about making his creations accessible, including aspects
that I didnt even know to ask for. As a bonus ze is extremely quick
and responsive!
</blockquote>
</li>
2026-03-24 09:50:56 -07:00
<li>
2026-04-06 10:27:00 -07:00
<strong>Gryphon's Roost (<a href="https://gryphonsroost.xyz" target="_blank">gryphonsroost.xyz</a>):</strong>
a major redesign and port of Gryphon's Wix site to an Eleventy and
TinaCMS blog.
<blockquote class="testimonial">I really appreciate your willingness/ability
to meet me where I was at as far as communication and such was. I
feel a lot more comfortable asking clarifying questions than I have
with others.</blockquote>
2026-03-24 09:50:56 -07:00
</li>
<li>
<strong>Mari Hsu (<a href="https://marihsu.com" target="_blank">marihsu.com</a>):</strong>
a redesign of Mari's existing site and full port from pure HTML/CSS to
Eleventy-based blog.
2026-04-07 15:37:23 -07:00
<blockquote class="testimonial">
Having participated in a few tangible projects that Lee has run online
I have admired hir clean, effective, and attractive websites for a
while. When Lee announced ze was taking on more work, I jumped at the
chance to have someone else rebuild my old handcoded one. My new
website from Lee is fantastic! Super easy to customize and update on
my own, which is what I have wanted for a long time. Ze was easy to
work with, very communicative about details of the process, and well
aligned with what I wanted from my site. I would not hesitate to
recommend Lee to anyone, at any technical comfort level, who wants a
nice website.
</blockquote>
2026-03-24 09:50:56 -07:00
</li>
<li>
<strong>Spoonfairies (<a href="https://spoonfairies.help" target="_blank">spoonfairies.help</a>):</strong>
2026-03-25 13:00:47 -07:00
an Eleventy-based website for a just-launching project, designed and
built from the ground up.
2026-04-07 10:00:40 -07:00
<blockquote class="testimonial">
...the site dev of my dreams -- ze brought my vision from a
PowerPoint to a webpage with clarity and a focus on accessibility
that made me feel real hope for the future. I am grateful for his
thought partnership and ongoing site support!
</blockquote>
2026-03-24 09:50:56 -07:00
</li>
<li>
<strong>Beall Greenhouses (<a href="https://beall-greenhouses.com" target="_blank">beall-greenhouses.com</a>):</strong>
2026-04-06 13:27:56 -07:00
a website for the Beall Greenhouses artist studios and markets,
2026-04-06 10:27:00 -07:00
originally pure HTML/CSS/JS before porting to Eleventy for longevity
and ease of maintenance.
2026-04-06 13:27:56 -07:00
<blockquote class="testimonial">
...an absolute delight to work with. His communication is efficient
and timely, and his considerations in design are impeccable. When I
asked him if he could do this project, he came in on a level that I
had not anticipated. His contributions to my event have been
immeasurable. Its exciting to continue to work with him, as we are
constantly finding new ways to upgrade our interface with the public.
The possibilities that he brings to the table are astounding.
</blockquote>
2026-03-24 09:50:56 -07:00
</li>
</ul>
2026-02-25 18:10:11 -08:00
</div>
<div class="spacer"></div>
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<p><b>Microsoft,</b> Redmond, WA</p>
<p class="col2"><time datetime="2018-08">August 2018</time> <time datetime="2025-07">July 2025</time></p>
</div>
<h3 id="software-development-engineer-i-and-ii">Software Development Engineer I & II</h3>
<p>
Worked on green- and brown-field projects with customers, solving emerging
problems in infrastructure, devOps, and LLM/human interaction. Wrote
reports on product feedback to relay to product teams and improved
documentation.
</p>
<ul>
<li>Contributed UI/UX, algorithm, and database design to a new
human-in-the-loop approach to LLM form automation, ensuring both that
content was effectively reviewed and that auditing was smooth.</li>
<li>Deployed and configured Kubernetes for many scenarios, handling
monitoring and observability, scaling, traffic routing, security and
policy, Windows container support, and more.</li>
<li>Maintained team working agreements to ensure team unity and
consistency. Shaped team processes and documentation to improve clarity
and speed up onboarding.</li>
<li>Improved Azure and open source documentation with new, updated, and
corrected information.</li>
<li>Coached multiple learning-oriented hackathons to ensure broader
community understanding and adoption of Azure services.</li>
<li>Presented to groups of 10100 on backend accessibility and queer/trans
education.</li>
</ul>
</div>
<div class="spacer"></div>
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<p><b>Riverside Refuge Studio,</b> Vashon, WA</p>
<p class="col2"><time datetime="2023-10">October 2023</time> Present</p>
</div>
<h3 id="co-owner-and-artist">Co-owner and artist</h3>
<p>
Maintains website, storefront, and inventory for a diverse set of artistic
goods. Communicates with a range of customers, both digitally and
in-person.
</p>
<ul>
<li>Designs and creates art/crafts in a variety of mediums ranging from
visual to functional.</li>
<li>Presents work in art shows in and around Seattle.</li>
<li>Runs booths or studio space at art fairs and markets.</li>
</ul>
</div>
<div class="spacer"></div>
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<p><b>Rensselaer Polytechnic Institute,</b> Troy, NY</p>
<p class="col2"><time datetime="2015-09">September 2015</time> <time datetime="2017-12">December 2017</time></p>
</div>
2026-03-24 09:50:56 -07:00
<h3 id="undergraduate-programming-mentor">Undergraduate Programming Mentor</h3>
2026-03-24 09:50:56 -07:00
<p>
Helped students debug and develop in Python and learn core programming
concepts. Created daily quiz material and graded exams.
</p>
</div>
<div class="spacer"></div>
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<p><b>Microsoft,</b> Redmond, WA</p>
<p class="col2"><time datetime="2017-06">June 2017</time> <time datetime="2017-08">August 2017</time></p>
</div>
<h3 id="software-development-engineering-intern">Software Development Engineering Intern</h3>
<p>
Developed a chatbot add-on for the Azure Android application.
</p>
</div>
<hr>
<h2 class="centered upper" id="projects">Projects</h2>
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<h3 id="siblinghood-of-the-traveling-greeting-card-siblinghood-quest">Siblinghood of the Traveling Greeting Card (<a href="https://siblinghood.quest" target="_blank">siblinghood.quest</a>)</h3>
<p class="col2"><time datetime="2025-11">November 2025</time> Present
</p>
</div>
<p>Designs, develops, and maintains website. Manages communication and
logistics for a ~40 person global community building project.</p>
</div>
<div class="spacer"></div>
2026-02-25 14:37:31 -08:00
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<h3 id="leecat-art-you-are-here-leecat-art">leecat.art (you are here!) (<a href="/">leecat.art</a>)</h3>
<p class="col2"><time datetime="2022-10">October 2022</time> Present</p>
</div>
2026-02-25 14:37:31 -08:00
2026-03-24 09:50:56 -07:00
<p>Designs, maintains, and creates all content.</p>
2026-02-25 14:37:31 -08:00
</div>
<div class="spacer"></div>
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<h3 id="fedizinefest-fedizinefest-fyi">FediZineFest (<a href="https://fedizinefest.fyi" target="_blank">fedizinefest.fyi</a>)</h3>
<p class="col2"><time datetime="2023-12">December 2023</time> <time datetime="2025-07">July 2025</time></p>
</div>
<p>Created and ran a global event for zine artists on the fediverse
(Mastodon) for two years. Coordinated website, physical material shipping
and logistics, payment, and marketing for a 4050 person project.</p>
</div>
<div class="spacer"></div>
<div class="job">
2026-03-24 09:50:56 -07:00
<div class="two-col job-details">
<h3 id="rescue-trans-rescue-rescue-trans-rescue-quest">Rescue Trans Rescue (<a href="https://rescue-trans-rescue.quest" target="_blank">rescue-trans-rescue.quest</a>)</h3>
<p class="col2"><time datetime="2024">2024</time></p>
</div>
<p>Created a digital art exhibit and sale to raise money for charity.
Coordinated ~30 artists to contribute physical and digital work as well as
a collaborative sticker sheet. Raised ~2.3k for Trans Rescue.</p>
</div>
<hr>
<h2 class="centered upper" id="education">Education</h2>
<p class="centered">
2026-03-24 09:50:56 -07:00
<b>Bachelor of Science — Computer Science</b>
<br>
Rensselaer Polytechnic Institute, Troy, NY
</p>
</div>
2026-02-20 11:57:19 -08:00
</main>
2026-02-20 11:57:19 -08:00
<footer>
<ul>
<li>
2026-02-20 12:24:10 -08:00
<a href="/colophon/">
colophon
</a>
</li>
<li>
<a href="/" title="go home" aria-label="go home | hello hello from Lee Cattarin in 2026">
hello hello from Lee Cattarin in 2026</a>
</li>
<li>
<a href="https://heckin.technology/inherentlee/leecat.art" title="source code" aria-label="source code" target="_blank" rel="external">
src
</a>
</li>
</ul>
</footer>
2026-04-07 15:37:23 -07:00
<!-- This page `/resume/` was built on 2026-04-07T22:36:56.779Z -->
2026-03-01 14:41:07 -08:00
</body>
</html>