thomaswilson-sveltekit/src/routes/+page.svelte

198 lines
4.8 KiB
Svelte
Raw Normal View History

2022-04-16 10:43:45 +00:00
<script lang="ts">
2023-04-14 20:50:27 +00:00
import { slide } from "svelte/transition";
import Navbar from "$lib/components/Navbar.svelte";
2022-04-16 10:43:45 +00:00
2023-04-14 20:50:27 +00:00
let isWorkExpanded = false;
let isPersonalExpanded = false;
2022-04-16 10:43:45 +00:00
</script>
<svelte:head>
2023-04-14 20:50:27 +00:00
<title>Thomas Wilson</title>
</svelte:head>
2022-04-16 10:43:45 +00:00
<Navbar />
2022-07-06 20:01:33 +00:00
2022-04-16 10:43:45 +00:00
<main class="thomaswilson-container">
2023-04-14 20:50:27 +00:00
<section class="section thomaswilson-strapline">
<h1 class="title">Thomas Wilson</h1>
<p>
I'm a software engineer who loves the craft of leading teams, and building
software that is reliable and human-friendly. I build good things with
good people for good companies.
</p>
</section>
<section class="work section">
<h2>My work</h2>
{#if isWorkExpanded}
<ul transition:slide="{{ duration: 220 }}">
<li>
Right now I'm leading software engineering at <a
class="oxwash"
target="_blank"
rel="noopener noreferrer"
href="https://www.oxwash.com">Oxwash</a
>, we're building the sustainable and scalable future of laundry.
</li>
<li>
I build full-stack software for the web, especially with TypeScript,
Node, Svelte, and React.
</li>
<li>
I lead teams with domain driven design, and agile (with a little 'a')
opinions about delivery and collaboration.
</li>
<li>
I've previously built software with data privacy, ed-tech, and
sustainability companies.
</li>
<li>
I have a <a
class="thesis"
target="_blank"
rel="noopener noreferrer"
href="https://eprints.soton.ac.uk/418168/"
>Ph.D. in education technology</a
>, where I looked at how we can use tech in the teaching lab to
promote and evidence understanding.
</li>
<li>
I have only ever worked with companies actively solving environment
and societal problems.
</li>
<li>
<button on:click="{() => (isWorkExpanded = false)}">
Ew, show less
</button>
</li>
</ul>
{:else}
<p>
I build software that makes complicated things more human-friendly, and
lead teams to do the same.
</p>
<button on:click="{() => (isWorkExpanded = true)}">
Wow, Show more
</button>
{/if}
</section>
<section class="section personal">
<h2>Me</h2>
{#if isPersonalExpanded}
<ul transition:slide="{{ duration: 210 }}">
<li>
I try to write at least once a month on my <a
class="thesis"
href="/blog">blog</a
>.
</li>
<li>I'm learning to sew my own clothes</li>
<li>I love fruity coffees and botanical gins</li>
<li>I used to dance and produce with a contemporary dance company</li>
<li>
<button on:click="{() => (isPersonalExpanded = false)}"
>Cool, show less</button
>
</li>
</ul>
{:else}
<p>
I like to write on my <a href="/blog">blog</a> and ride bikes. I'm learning
to sew my own clothes, and my French is terrible.
</p>
<button on:click="{() => (isPersonalExpanded = true)}"
>Oh, cool, tell me more</button
>
{/if}
</section>
<section class="section links">
<h2>Links</h2>
<ul>
<li>I write here, <a href="/blog">on my blog</a></li>
<li>
And on <a href="https://www.github.com/thomaswilsonxyz">GitHub</a>
</li>
<li>I stopped checking Twitter when... you know.</li>
</ul>
</section>
2022-04-16 10:43:45 +00:00
</main>
<style>
2023-04-14 20:50:27 +00:00
section {
--link-transition: 0.2s;
--link-padding: 4px;
--link-border-radius: 8px;
}
section ul {
margin-top: 0;
margin-bottom: 0;
}
section p {
padding-bottom: var(--spacing-md);
}
.strapline p {
padding-top: 4px;
padding-bottom: 1rem;
color: var(--gray-700);
}
.oxwash {
padding: var(--link-padding);
transition: var(--link-transition);
border-radius: var(--link-border-radius);
border: 1px solid #0256f2;
color: #0256f2;
text-decoration: none;
}
.oxwash:hover {
background: #6fbbec;
border: 1px solid #6fbbec;
text-decoration: underline;
color: white;
}
.thesis {
padding: var(--link-padding);
transition: var(--link-transition);
border-radius: var(--link-border-radius);
border: 1px solid var(--brand-orange);
color: var(--brand-orange);
text-decoration: none;
}
.thesis:hover {
background: var(--brand-orange);
color: white;
text-decoration: underline;
}
.links a {
color: var(--brand-orange);
}
h1 {
font-size: 2.5rem;
}
h2 {
font-family: var(--font-family-title);
color: var(--gray-800);
}
li {
padding-bottom: 0.3rem;
}
2022-04-16 10:43:45 +00:00
</style>