ethanpisani.com/templates/main.html

547 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="msapplication-TileColor" content="#2cbb00" />
<meta name="theme-color" content="#2cbb00" />
<title>Ethan Pisani - Portfolio</title>
<link
rel="preload"
href="{{ url_for('static',filename='css/main.css') }}"
as="style"
/>
<!-- Google Font -->
<link
href="https://fonts.googleapis.com/css?family=Roboto&display=swap"
rel="stylesheet"
/>
<link
rel="stylesheet"
type="text/css"
href="{{ url_for('static',filename='css/main.css') }}"
/>
<meta name="msapplication-TileColor" content="#000000" />
<meta name="theme-color" content="#000000" />
<link
rel="icon"
href="{{ url_for('static',filename='img/favicon.ico') }}"
/>
<!-- Particles.js Library -->
<script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
</head>
<body>
<div id="particles-js"></div>
<div class="content">
<h1 class="text-pop-up-top">Ethan Pisani.</h1>
<p>
<a href="https://www.linkedin.com/in/ethanpisani" target="_blank"
>LinkedIn</a
>
<a href="https://www.ethanpisani.com" target="_blank">Website</a>
<a href="https://www.github.com/EthanPisani" target="_blank">GitHub</a>
</p>
<div class="section">
<h2>Introduction</h2>
<p>
Hey, I'm Ethan Pisani, a Computer Science student at the University of
Western Ontario, wrapping up my Bachelor's with an Honors
Specialization in 2025. Im passionate about AI, machine learning, and
game development, with a strong focus on creating innovative solutions
through both software engineering and AI techniques.
</p>
<p>
My projects range from developing AI agents for games like CSGO, where
I compare traditional pathfinding with deep learning, to working on
real-time bus visualization using AI/ML for my citys transit system.
Im also building a 3D game in Godot with custom C++ modules that
interface with LLaMA, stable-diffusion, and more.
</p>
<p>
Ive interned as a Junior Software Developer at the Canada Revenue
Agency, gaining hands-on experience with COBOL, JCL, and mainframe
debugging, while also doing QA and bug triaging. Additionally, Ive
had a stint at the DFO Government of Canada as a Junior Communications
Officer, helping streamline communications and manage user stories for
software projects.
</p>
<p>
When Im not coding, Im probably tinkering with my homelab, I just
upgraded to 10gb LAN!, where I self-host apps and experiment with
different systems like Docker, TrueNAS, and Proxmox. Youll often find
me deep-diving into emerging tech, whether its neural networks or new
software, always looking for that next creative challenge.
</p>
</div>
<div class="section">
<h2>Education</h2>
<p class="project-container-p">
<strong
>Bachelor of Computer Science
<em>University of Western Ontario</em></strong
>
<span class="project-date">2021 — 2025</span>
</p>
<p>Honors Specialization in Computer Science</p>
</div>
<div class="section">
<h2>Papers</h2>
<ul class="projects-list">
<hr />
<div name="Paper1">
<p class="project-container-p">
<strong
><a
href="https://github.com/michaelsalton/ProjectLambda/blob/main/Comparing_AI_Navigation_Methods_Using_Counter_Strike__Global_Offensive.pdf"
target="_blank"
>Comparing AI Navigation Methods Using Counter-Strike: Global
Offensive</a
></strong
>
<span class="project-date">2023</span>
</p>
<ul>
<li>
The paper presents two AI agents developed for playing the game
<i>Counter-Strike: Global Offensive</i> (CS:GO).
</li>
<li>
The first agent combines YOLOv7 object detection with the A*
pathfinding algorithm, while the second agent uses a deep neural
network trained through behavioral cloning and offline
reinforcement learning.
</li>
<li>
The project aims to create an AI that mimics human player
performance based solely on visual inputs, comparing the realism
and behavior of pathfinding-based AI versus machine
learning-based AI.
</li>
</ul>
</div>
</ul>
</div>
<div class="section">
<h2>Projects</h2>
<ul class="projects-list">
<!-- Projects: Project Lambda, Portfolio Website, Homelab, Tails of Ailurus, LTC Bus AI/ML, SMPLY-Navigate, Gan website, Project ASH --->
<hr />
<div name="Tails of Ailurus">
<p class="project-container-p">
<strong>Tails of Ailurus</strong>
<span class="project-date">September 2024 — Present</span>
</p>
<ul>
<li>Developing a 3D game in the Godot 4.3 Engine</li>
<li>
Wrote custom GDextension modules in C++ for the game engine
</li>
<li>
Custom modules include interfaces for llama.cpp,
stable-diffusion.cpp, whisper.cpp, and piper TTS
</li>
<li>
Dynamic story-telling and world-building ultizing Meta's Llama 3
models, c0 diffusion model and piper TTS models
</li>
</ul>
</div>
<hr />
<div name="LTC Bus AI/ML">
<p class="project-container-p">
<strong>LTC Bus AI/ML</strong>
<span class="project-date">October 2024 — Present</span>
</p>
<ul>
<li>
Partnered with Dr. Yili Tang and the MoTech Group to develop
tools for real-time bus movement visualization in London using
AI/ML techniques and data from the City of London transit
portal.
</li>
<li>
Utilized SQL and Multiple Linear Regression to store and analyze
real-time bus location data, aiming to enhance the accuracy of
existing bus time information through advanced machine learning
methodologies.
</li>
</ul>
</div>
<hr />
<div name="Project ASH">
<p class="project-container-p">
<strong>Project ASH</strong>
<span class="project-date">2023</span>
</p>
<ul>
<li>
Created a Virtual Personality by using a blend of cutting-edge
open-source AI models. Employed a diverse array of Machine
Learning techniques, including LLM, TTS, STT, and text analysis.
</li>
<li>
Designed a modular system over MQTT to integrate and control
these models and algorithms, resulting in the development of a
human-like real time conversational avatar that can be locally
hosted on consumer hardware.
</li>
</ul>
</div>
<hr />
<div name="ASL-Translate-GPT ">
<p class="project-container-p">
<strong
><a
href="https://github.com/EthanPisani/ASL-Translate-GPT"
target="_blank"
>ASL-Translate-GPT
</a></strong
>
<span class="project-date">2023</span>
</p>
<ul>
<li>
Contributed to a modular design approach that enabled
independent development and testing of project components,
improving team efficiency and streamlining code integration.
</li>
<li>
Addressed server crashes, API instability, and integration
issues through improved version control, error handling, and
coding standardization, resulting in a resilient and functional
application.
</li>
<li>
Led the implementation of an image recognition module that
captured and converted ASL hand signs into text, enabling
seamless communication with a chatbot using OpenAIs GPT-3 API,
while supporting English, Spanish, and French for broader
accessibility.
</li>
<li>
Streamlined collaboration through Bitbucket for version control,
conducted regular in-person group work sessions, and implemented
weekly scrum meetings to enhance communication, track progress
using Jira, and ensure accountability across the team.
</li>
</ul>
</div>
<hr />
<div name="SMPLY-Navigate">
<p class="project-container-p">
<strong
><a
href="https://github.com/EthanPisani/SMPLY-Navigate"
target="_blank"
>SMPLY-Navigate</a
></strong
>
<span class="project-date">2022</span>
</p>
<ul>
<li>
This project for Western University Software Engineering Class
is an app that uses the universitys floor plans, allowing users
to search and navigate each floor of select buildings. The
application allows users to search for points of interest,
browse floor maps, and save personal points of interest. The
application will also have an editing tool for developers to
create and edit map metadata.
</li>
<li>
Involved using the complete software development cycle, from
initial requirements to design, to development utilizing Java,
JUnit 5, Git, BitBucket, and Swing, to testing a fully featured
desktop application.
</li>
</ul>
</div>
<hr />
<div name="Gan Flask Website">
<p class="project-container-p">
<strong
><a
href="https://github.com/EthanPisani/gan.ethanpisani.com"
target="_blank"
>Gan Flask Website</a
></strong
>
<span class="project-date">2021</span>
</p>
<ul>
<li>
Trained NVIDIAs StyleGAN2-ADA on dataset of Galaxy Images to
generate new images
</li>
<li>
Developed and hosted a website for displaying the images using
Flask and Docker
</li>
</ul>
</div>
<hr />
<div name="chemistry Study Guide">
<p class="project-container-p">
<strong>
<a href="/chem12cpt" target="_blank">Chemistry Study Guide</a>
</strong>
<span class="project-date">2021</span>
</p>
<ul>
<li>
Developed a Flask web application to help students study for
their Chemistry 12 CPT exam
</li>
<li>
4 sections using different interactive study methods:
flashcards, quizzes, and a follow along, and 3D visualizer
</li>
<li>
Utilized Python, Flask, HTML, CSS, and JavaScript to create a
user-friendly study guide
</li>
</ul>
</div>
<hr />
<div name="Homelab">
<p class="project-container-p">
<strong>Homelab</strong> <span class="project-date">2019</span>
</p>
<ul>
<li>
A collection of computers and servers
<span class="project-date">both local and cloud-based</span>
running various software such as Debian, Proxmox, TrueNAS, and
OPNsense.
</li>
<li>
Experience self-hosting apps like Gitea, Jellyfin, Docker apps,
reverse proxy config, and more.
</li>
</ul>
</div>
<hr />
</ul>
</div>
<div class="section">
<h2>Skills</h2>
<ul class="skills-list">
<li>Python</li>
<li>Java</li>
<li>COBOL</li>
<li>C</li>
<li>C++</li>
<li>JCL</li>
<li>Bash</li>
<li>Rust</li>
<li>SQL</li>
<li>R</li>
<li>Numpy</li>
<li>TensorFlow</li>
<li>Docker</li>
<li>Jira</li>
<li>Git</li>
<li>Linux</li>
</ul>
</div>
<div class="section">
<h2>Experience</h2>
<p class="project-container-p">
<strong>Junior Software Developer | Canada Revenue
Agency</strong> <span class="project-date">May 2024 — August 2024</span>
</p>
<ul>
<li>
Trained on Batch/Online COBOL, JCL, Mainframe ISPF. Debugged
programs in Xpediter, Topaz Workbench.
</li>
<li>
Performed daily QA testing of regressions, enhancing team
efficiency.
</li>
<li>
Gained experience in agile development, using Jira, code reviews,
impact analysis, and Endevor.
</li>
</ul>
<hr />
<p class="project-container-p">
<strong>Junior Communications Officer | DFO Government of
Canada</strong> <span class="project-date">May 2022 — August 2022</span>
</p>
<ul>
<li>
Updating the teams intranet site using Drupal, managed email
inboxes, documented user stories
</li>
<li>
Helped my team work more efficiently by helping with any requested
tasks
</li>
<li>
Gained experience in communicating with stakeholders about user
stories to be used in a large software project.
</li>
</ul>
</div>
<div class="section">
<h2>Extra-Curricular Activities</h2>
<hr />
<p class="project-container-p">
<strong>Team Lead | LTC Bus AI/ML | Western Developer Society</strong
><span class="project-date">October 2024</span>
</p>
<ul>
<li>
Partnered with Dr. Yili Tang to develop tools for real-time bus
movement visualization using AI/ML techniques.
</li>
<li>
Utilized SQL and Multiple Linear Regression to store and analyze bus
location data.
</li>
</ul>
<hr />
<p class="project-container-p">
<strong>Developer | Project ASH | Western AI</strong
><span class="project-date">2023</span>
</p>
<ul>
<li>
Created a Virtual Personality by using a blend of cutting-edge
open-source AI models. Employed a diverse array of Machine Learning
techniques, including LLM, TTS, STT, and text analysis.
</li>
<li>
Designed a modular system over MQTT to integrate and control these
models and algorithms, resulting in the development of a human-like
real time conversational avatar that can be locally hosted on
consumer hardware.
</li>
</ul>
<hr />
<p class="project-container-p">
<strong>Developer | Project Lambda | Western AI</strong
><span class="project-date">2022</span>
</p>
<ul>
<li>Created 2 Machine Learning Agents to play the video game CSGO</li>
<li>
Object detection Model using Yolov7 in Pytorch and A* path finding
</li>
<li>
Behavioural Cloning Model using JAX/FLAX running from a OpenAI GYM
environment
</li>
<li>Achieved 87% accuracy on custom data set of over 5,000 images</li>
</ul>
<hr />
<p class="project-container-p">
<strong>Developer | Pose Estimation | Western AI</strong
><span class="project-date">2021</span>
</p>
<ul>
<li>
Designed a custom ANN for Image Classification of a yoga pose.
</li>
<li>Developed model using TensorFlow and Numpy.</li>
<li>Detected using TensorFlow back-end to a HTML/CSS website.</li>
</ul>
<hr />
</div>
</div>
<script>
particlesJS("particles-js", {
particles: {
number: { value: 100, density: { enable: true, value_area: 800 } },
color: { value: "#2cbb00" },
shape: {
type: "circle",
stroke: { width: 0, color: "#000000" },
polygon: { nb_sides: 5 },
},
opacity: {
value: 0.5,
random: false,
anim: { enable: false, speed: 1, opacity_min: 0.1, sync: false },
},
size: {
value: 3,
random: true,
anim: { enable: false, speed: 40, size_min: 0.1, sync: false },
},
line_linked: {
enable: true,
distance: 150,
color: "#2cbb00",
opacity: 0.4,
width: 1,
},
move: {
enable: true,
speed: 6,
direction: "none",
random: false,
straight: false,
out_mode: "out",
bounce: false,
attract: { enable: false, rotateX: 600, rotateY: 1200 },
},
},
interactivity: {
detect_on: "canvas",
events: {
onhover: { enable: true, mode: "repulse" },
onclick: { enable: true, mode: "push" },
resize: true,
},
modes: {
repulse: { distance: 100, duration: 0.4 },
push: { particles_nb: 4 },
},
},
retina_detect: true,
});
</script>
</body>
</html>