replace index.html with index.js file
This commit is contained in:
parent
14e051515a
commit
712d09e96c
360
pages/index.html
360
pages/index.html
@ -1,360 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Triston Armstrong Portfolio</title>
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css"> -->
|
||||
</head>
|
||||
|
||||
<body
|
||||
class="bg-gradient-to-b from-gray-300 to-blue-200 container max-w-xl mx-auto text-gray-800 py-24 px-8 w-full font-mono">
|
||||
<!-- Header section -->
|
||||
<header><!-- put nav stuff here --></header>
|
||||
<!-- Main Content Section -->
|
||||
<main class="flex gap-6 flex-col">
|
||||
|
||||
<!-- ABOUT -->
|
||||
<section>
|
||||
<div class="flex flex-col gap-2">
|
||||
<div class="flex gap-4 items-center">
|
||||
<img class="inline-block h-10 w-10 rounded-full ring-2 ring-white"
|
||||
src="https://gitlab.com/uploads/-/system/user/avatar/5083849/avatar.png?width=400" alt="">
|
||||
<h1 class="text-2xl text-gray-900 font-bold">Triston Armstrong</h1>
|
||||
</div>
|
||||
<p class="text-sm">Full Stack Software Developer @ <a href="ventrahealth.com"
|
||||
class="text-blue-500">VentraHealth</a></p>
|
||||
<div class="w-full border-dashed border-gray-700 border-opacity-10 my-4 border "></div>
|
||||
<p class="text-sm">I am a self taught Full Stack Software Developer with an unhealthy addiction to solving
|
||||
problems using code.</p>
|
||||
<div class="w-full border-dashed border-gray-700 border-opacity-10 my-4 border "></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- SKILLS -->
|
||||
<section>
|
||||
<h2 class="text-1xl text-gray-900 font-bold uppercase">Skills</h2>
|
||||
<div class="flex gap-2 py-4" id="skills">
|
||||
<script type="text/Javascript" src="scripts/skills.js"></script>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- JOBS -->
|
||||
<section>
|
||||
<h2 class="text-1xl text-gray-900 font-bold uppercase">Jobs</h2>
|
||||
<div class="flex flex-col gap-3 py-4" id="jobs">
|
||||
<script type="text/Javascript" src="scripts/jobs.js"></script>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- PERSONAL PROJECTS -->
|
||||
<section>
|
||||
<h2 class="text-1xl text-gray-900 font-bold uppercase">Personal Projects</h2>
|
||||
<div class="flex flex-col gap-3 py-4" id="projects">
|
||||
<script type="text/Javascript" src="scripts/projects.js"></script>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- NOTES -->
|
||||
<section>
|
||||
<h2 class="text-1xl text-gray-900 font-bold uppercase">Notes</h2>
|
||||
<p>An endless trail of links to my personal notes</p>
|
||||
<a href="?id=banana">note</a>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<!-- SOCIALS SECTION -->
|
||||
<!--
|
||||
<section>
|
||||
<h2>🌐 Socials</h2>
|
||||
<p>
|
||||
<button href="https://github.com/tristonarmstrong">Github</button>
|
||||
<button href="https://twitter.com/triston_armstr">Twitter</button>
|
||||
<button href="https://www.linkedin.com/in/triston95strong">LinkedIn</button>
|
||||
</p>
|
||||
</section>
|
||||
-->
|
||||
|
||||
|
||||
<!-- ABOUT ME SECTION -->
|
||||
<!--
|
||||
<section>
|
||||
<h2>📝 About Me</h2>
|
||||
<p>
|
||||
My name's Triston. I'm a Software Engineer with a passion for building complex systems and debating the best way
|
||||
to solve technical problems with my team. I love it when architecture and design rigor results in consensus that
|
||||
produces fantastic outcomes! 🚀
|
||||
</p>
|
||||
</section>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<section>
|
||||
<h4>🛠 Hobbies</h4>
|
||||
<p>
|
||||
I enjoy off-grid living and all things involved with making that possible. Tinkering with hardware, building
|
||||
automated monitoring systems for my solar panels, and other off-grid systems like rain catchment bring me joy.
|
||||
🌞🏡
|
||||
</p>
|
||||
</section>
|
||||
-->
|
||||
|
||||
|
||||
<!-- SKILLS SECTION-->
|
||||
<!--
|
||||
<section>
|
||||
<h2>💡 Skills</h2>
|
||||
<fieldset>
|
||||
<legend>Languages</legend>
|
||||
<code>JavaScript</code>
|
||||
<code>TypeScript</code>
|
||||
<code>Python</code>
|
||||
<code>Rust</code>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Tools</legend>
|
||||
<code>NeoVim</code>
|
||||
<code>Jest</code>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Operating Systems</legend>
|
||||
<code>Mac</code>
|
||||
<code>Linux (Arch)</code>
|
||||
</fieldset>
|
||||
</section>
|
||||
-->
|
||||
|
||||
|
||||
<!-- EDUCATION SECTION -->
|
||||
<!--
|
||||
<section>
|
||||
<h2>🎓 Education</h2>
|
||||
<div>
|
||||
<p>
|
||||
I discovered a passion for software development after the completion of my formal education. My
|
||||
technical
|
||||
education has primarily been in the form of boot camps and online classes, but mostly on-the-job
|
||||
experience.
|
||||
</blockquote>
|
||||
</p>
|
||||
</section>
|
||||
-->
|
||||
|
||||
|
||||
<!-- PROJECTS SECTION -->
|
||||
<!--
|
||||
<section>
|
||||
<h1 id="projects">🚀 Projects</h1>
|
||||
<p>Here is a small sample of the many projects I've worked on over the years.</p>
|
||||
|
||||
<!-- Project 1: Zip Code App -->
|
||||
<!--
|
||||
<details>
|
||||
<summary><strong>Zip Code App</strong></summary>
|
||||
<fieldset>
|
||||
<legend>🛠 Technologies: React - JavaScript - Python</legend>
|
||||
<img src="./zip-app.webp" alt="Zip Code App Screenshot" width="200" height="auto" />
|
||||
<p>
|
||||
I developed this app as a crucial part of a technical assessment. Handling a large CSV file with over
|
||||
80,000+ data points, I wrote a script to disintegrate the CSV into smaller JSON files based on zip codes'
|
||||
RST numbers 0-9. This improved user input evaluation and facilitated quick searches in smaller, unsorted
|
||||
data files. The result was an app that reduces the time taken to calculate distances between two zip codes.
|
||||
</p>
|
||||
<a href="https://github.com/tristonarmstrong/zipapp">Github</a>
|
||||
</fieldset>
|
||||
</details>
|
||||
|
||||
|
||||
<!-- Project 2: Another Project -->
|
||||
<!--
|
||||
<details>
|
||||
<summary><strong>Another Project</strong></summary>
|
||||
<fieldset>
|
||||
<legend>🛠 Technologies: HTML - CSS - JavaScript</legend>
|
||||
<img src="./another-project.webp" alt="Another Project Screenshot" width="200" height="auto" />
|
||||
<p>
|
||||
This is another exciting project where I utilized HTML, CSS, and JavaScript to create an interactive and
|
||||
user-friendly application. The project involved implementing modern design principles and ensuring
|
||||
cross-browser compatibility.
|
||||
</p>
|
||||
<a href="https://github.com/tristonarmstrong/anotherproject">Github</a>
|
||||
</fieldset>
|
||||
</details>
|
||||
|
||||
<!-- Project 3: Yet Another Project -->
|
||||
<!--
|
||||
<details>
|
||||
<summary><strong>Yet Another Project</strong></summary>
|
||||
<fieldset>
|
||||
<legend>🛠 Technologies: Node.js - Express - MongoDB</legend>
|
||||
<img src="./yet-another-project.webp" alt="Yet Another Project Screenshot" width="200" height="auto" />
|
||||
<p>
|
||||
In this project, I explored the world of backend development using Node.js, Express, and MongoDB. I built
|
||||
scalable and efficient APIs, demonstrating my skills in server-side programming and database management.
|
||||
</p>
|
||||
<a href="https://github.com/tristonarmstrong/yetanotherproject">Github</a>
|
||||
</fieldset>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<hr />
|
||||
|
||||
<!-- EXPERIENCE SECTION -->
|
||||
<!--
|
||||
<section>
|
||||
<h2>🌟 Experience</h2>
|
||||
<p>
|
||||
Below is a listing of my development experience. I have been fortunate enough to be entrusted with leadership
|
||||
responsibilities at every position I've held.
|
||||
</p>
|
||||
|
||||
<!-- Experience 1: Ventra Health -->
|
||||
<!--
|
||||
<details>
|
||||
<summary>
|
||||
<a href="https://ventrahealth.com/" target="__blank">
|
||||
<strong>Ventra Health</strong>
|
||||
</a>
|
||||
<i><small>(May 2023 - Present)</small></i>
|
||||
</summary>
|
||||
<p>Software Developer II</p>
|
||||
<ul>
|
||||
<li>Eliminated tech debt by updating our internal application's interface code to follow best practices,
|
||||
decreasing individual components' footprint by 10-20%</li>
|
||||
<li>Spearheaded the engineering of a window manager using TypeScript to efficiently manage our application's
|
||||
windows, saving users an extra 5-15 seconds of time when logging out for the day</li>
|
||||
<li>Increased overall test coverage of our React components to 80% coverage from a weeping 20%</li>
|
||||
<li>Created a Component Test Helper Typescript class for use in frontend Jest testing to ensure testing code
|
||||
is
|
||||
declarative and DRY improving development and testing experience</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
|
||||
<!-- Experience 2: Randstad Technologies -->
|
||||
<!--
|
||||
<details>
|
||||
<summary>
|
||||
<a href="https://www.randstadusa.com/about/" target="__blank">
|
||||
<strong>Randstad Technologies</strong>
|
||||
</a>
|
||||
<i><small>(May 2022 - May 2023)</small></i>
|
||||
</summary>
|
||||
<p>Software Developer</p>
|
||||
<ul>
|
||||
<li>Eliminated tech debt by updating our internal application's interface code to follow best practices,
|
||||
decreasing individual components' footprint by 10-20%</li>
|
||||
<li>Spearheaded the engineering of a window manager using TypeScript to efficiently manage our application's
|
||||
windows, saving users an extra 5-15 seconds of time when logging out for the day</li>
|
||||
<li>Increased overall test coverage of our React components to 80% coverage from a weeping 20%</li>
|
||||
<li>Created a Component Test Helper Typescript class for use in frontend Jest testing to ensure testing code
|
||||
is
|
||||
declarative and DRY improving development and testing experience</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
|
||||
<!-- Experience 3: Damiano Global Corporation -->
|
||||
<!--
|
||||
<details>
|
||||
<summary>
|
||||
<a href="https://damianoglobal.com/" target="__blank">
|
||||
<strong>Damiano Global Corporation</strong>
|
||||
</a>
|
||||
<i><small>(July 2020 - Nov 2021)</small></i>
|
||||
</summary>
|
||||
<p>Python Developer</p>
|
||||
<ul>
|
||||
<li>Supervised a team of 4-8 engineering personnel, ensuring 100% error-free Python code and design</li>
|
||||
<li>Peer-reviewed and revised software designs to ensure technical compliance and propose architectural
|
||||
improvements</li>
|
||||
<li>Developed ~90% of the code of our IoT user interface using Python</li>
|
||||
<li>Integrated with zoom APIs for the automation of the virtual office experience reducing the time needed to
|
||||
set up conference calls by ~5 minutes</li>
|
||||
<li>Programmed modules that utilize various sensors to provide technical solutions such as tracking the
|
||||
device's
|
||||
position in space at all times, notifying our system if devices have been moved and where to.</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
|
||||
<!-- Experience 4: Makers Ladder LLC -->
|
||||
<!--
|
||||
<details>
|
||||
<summary>
|
||||
<a href="http://makersladder.com/" target="__blank">
|
||||
<strong>Makers Ladder LLC</strong>
|
||||
</a>
|
||||
<i><small>(Dec 2019 - Apr 2022)</small></i>
|
||||
</summary>
|
||||
<p>Software Developer</p>
|
||||
<ul>
|
||||
<li>Headed the full-stack development of a custom video conferencing home appraisal application using
|
||||
JavaScript
|
||||
and various frameworks such as React native, integrating with Agora to provide cloud recording</li>
|
||||
<li>Constructed the core video streaming components of a social media platform tailored around video
|
||||
entertainment using React Native</li>
|
||||
<li>Custom-built backends for 4 clients using DynamoDB and GraphQL.</li>
|
||||
</ul>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
<!-- USEFUL TOOLS -->
|
||||
<!--
|
||||
<section>
|
||||
<h2>Useful Tools</h2>
|
||||
<p>A collection of useful tools </p>
|
||||
<button onclick="window.open('https://watercss.kognise.dev/','__blank')">Waterize</button>
|
||||
<button onclick="window.open('https://yofou.dev/blogs/cursor', '__blank')">Yofou
|
||||
Cursor</button>
|
||||
</section>
|
||||
|
||||
<hr />
|
||||
|
||||
<!-- CONTACT SECTION -->
|
||||
<!--
|
||||
<section>
|
||||
<h2>📧 Contact</h2>
|
||||
<p>Feel free to reach out!</p>
|
||||
<div>
|
||||
<form action="mailto:triston95strong@gmail.com" method="post" enctype="text/plain">
|
||||
<div>
|
||||
<label for="subject">Subject:</label>
|
||||
<input type="text" name="subject" id="subject" placeholder="Your Name" required />
|
||||
</div>
|
||||
<div>
|
||||
<label for="email">Email:</label>
|
||||
<input type="email" name="email" id="email" placeholder="Your Email" required />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="body">Message:</label>
|
||||
<textarea name="body" id="body" rows="5" cols="30" placeholder="Your Message" required></textarea>
|
||||
</div>
|
||||
|
||||
<input type="submit" value="Send" />
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<!-- Footer Section -->
|
||||
<!--
|
||||
<footer>
|
||||
<p>
|
||||
<small>© 2023 - 2024 Triston Armstrong. All rights reserved. 📅</small>
|
||||
</p>
|
||||
</footer>
|
||||
-->
|
||||
</body>
|
||||
|
||||
</html>
|
120
pages/index.js
Normal file
120
pages/index.js
Normal file
@ -0,0 +1,120 @@
|
||||
import Script from "next/script";
|
||||
import Job from "../components/Job";
|
||||
import Skill from "../components/Skill";
|
||||
import Project from "../components/Project";
|
||||
import Head from "next/head";
|
||||
|
||||
export default function Landing({ jobs, skills, projects }) {
|
||||
return (
|
||||
<div>
|
||||
<Head>
|
||||
<body className="bg-gradient-to-b from-gray-300 to-blue-200 container max-w-xl mx-auto text-gray-800 py-24 px-8 w-full font-mono" />
|
||||
</Head>
|
||||
|
||||
<main className="flex gap-6 flex-col">
|
||||
<section>
|
||||
<div className="flex flex-col gap-2">
|
||||
<div className="flex gap-4 items-center">
|
||||
<img className="inline-block h-10 w-10 rounded-full ring-2 ring-white"
|
||||
src="https://gitlab.com/uploads/-/system/user/avatar/5083849/avatar.png?width=400" alt="" />
|
||||
<h1 className="text-2xl text-gray-900 font-bold">Triston Armstrong</h1>
|
||||
</div>
|
||||
<p className="text-sm">Full Stack Software Developer @ <a href="ventrahealth.com"
|
||||
className="text-blue-500">VentraHealth</a></p>
|
||||
<div className="w-full border-dashed border-gray-700 border-opacity-10 my-4 border "></div>
|
||||
<p className="text-sm">I am a self taught Full Stack Software Developer with an unhealthy addiction to solving
|
||||
problems using code.</p>
|
||||
<div className="w-full border-dashed border-gray-700 border-opacity-10 my-4 border "></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-1xl text-gray-900 font-bold uppercase">Skills</h2>
|
||||
<div className="flex gap-2 py-4" id="skills">
|
||||
{skills.map(skill => <Skill key={skill.label} label={skill.label} color={skill.color} />)}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-1xl text-gray-900 font-bold uppercase">Jobs</h2>
|
||||
<div className="flex flex-col gap-3 py-4" id="jobs">
|
||||
{jobs.map(job => <Job key={job.name} logo={job.logo} name={job.name} details={job.details} dateFrom={job.dateFrom} dateTo={job.dateTo} />)}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-1xl text-gray-900 font-bold uppercase">Personal Projects</h2>
|
||||
<div className="flex flex-col gap-3 py-4" id="projects">
|
||||
{projects.map(project => <Project key={project.label} label={project.label} date={project.date} url={project.url} />)}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-1xl text-gray-900 font-bold uppercase">Notes</h2>
|
||||
<p>An endless trail of links to my personal notes</p>
|
||||
<a href="/note">note</a>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
export function getStaticProps() {
|
||||
return {
|
||||
props: {
|
||||
projects: [
|
||||
{ label: "Web Window Manager", date: "9/18/2022", url: "https://github.com/tristonarmstrong/web-window-manager" },
|
||||
{ label: "Component Test Helper", date: "6/18/2022", url: "https://github.com/tristonarmstrong/component-test-helper" },
|
||||
{ label: "Hive DAPP", date: "3/8/2022", url: "https://github.com/tristonarmstrong/hive-dapp" },
|
||||
{ label: "Kivy Twisted Input Capture", date: "6/27/2021", url: "https://github.com/tristonarmstrong/KivyTwistedInputCapture" },
|
||||
{ label: "Plant Monitor Node MCU", date: "6/27/2021", url: "https://github.com/tristonarmstrong/PlantMonitorNodeMCU" },
|
||||
{ label: "Oppo BDP 103 CLI", date: "4/10/2021", url: "https://github.com/tristonarmstrong/oppo_bdp_103_CLI" },
|
||||
{ label: "Sony Bravia Pro Server", date: "4/10/2021", url: "https://github.com/tristonarmstrong/sony_bravia_pro_display_mock_server" },
|
||||
{ label: "Chat IO", date: "6/10/2020", url: "https://github.com/tristonarmstrong/chat.io" },
|
||||
{ label: "Solar Battery Monitor API", date: "7/18/2023", url: "https://github.com/tristonarmstrong/SolarBatteryMonitorApi" },
|
||||
{ label: "Zip Code Distance App", date: "1/28/2020", url: "https://github.com/tristonarmstrong/zipapp" },
|
||||
{ label: "Armstrong Editor", date: "12/14/2022", url: "https://github.com/tristonarmstrong/armstrong-editor" },
|
||||
],
|
||||
skills: [
|
||||
{ label: "Typescript", color: "blue-500" },
|
||||
{ label: "Python", color: "green-800" },
|
||||
{ label: "Rust", color: "yellow-800" },
|
||||
{ label: "Javascript", color: "yellow-500" },
|
||||
],
|
||||
jobs: [
|
||||
{
|
||||
logo: 'https://ventrahealth.com/wp-content/uploads/2023/08/cropped-Ventra-Health-favicon-circle-192x192.png',
|
||||
name: 'Ventra Health',
|
||||
details: 'Maintaining and iterating on an internal web application',
|
||||
dateFrom: "May 2023",
|
||||
dateTo: "Present"
|
||||
}, {
|
||||
logo: 'https://www.randstadusa.com/themes/custom/bluex/favicon.ico',
|
||||
name: 'Randstad Technologies',
|
||||
details: 'Built Web Applications for external clients',
|
||||
dateFrom: "May 2022",
|
||||
dateTo: "May 2023"
|
||||
|
||||
}, {
|
||||
logo: 'https://img1.wsimg.com/isteam/ip/9ba626a3-41c9-4092-90b5-cb351983b726/favicon/a8beec51-e35d-4cca-8e88-befa12f687b0.png/:/rs=w:64,h:64,m',
|
||||
name: 'Damiano Global Corporation',
|
||||
details: 'Built Web Applications for external clients',
|
||||
dateFrom: "July 2020",
|
||||
dateTo: "Nov 2021"
|
||||
|
||||
}, {
|
||||
logo: '#',
|
||||
name: 'Makers Ladder LLC',
|
||||
details: 'Did some thangs',
|
||||
dateFrom: "Dec 2019",
|
||||
dateTo: "Apr 2022"
|
||||
|
||||
},
|
||||
]
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user