diff --git a/public/resume.pdf b/public/resume.pdf index 48403d4..e0bd432 100644 Binary files a/public/resume.pdf and b/public/resume.pdf differ diff --git a/src/data/experience.js b/src/data/experience.js index 0c63763..b0d66ea 100644 --- a/src/data/experience.js +++ b/src/data/experience.js @@ -2,17 +2,21 @@ export const experience = [ { id: 0, title: "Software Engineer @ Garner Distributed Workflow", - date: "2024 - Present", + date: "2024 - 2025", description: - "My first industry internship. I have already learned an incredible amount from engineers who have been coding for twice my lifetime. I interact very closely with all parts of the system, including core components, and even the project side. I have been able to feel real impact, as I regularly write and release production code to be used by fortune 10 energy companies.", + "My first industry internship. I learned an incredible amount from highly experienced engineers from all parts of the field. I appreciated not being treated as an 'intern', but just another member of the dev team, who pulls off the same Jira backlog and does the same tasks as everyone else. It was true fullstack development, as I worked on everything including database, backend, frontend, jobs/imports, various microservices, build/infrastructure (Github Actions, k8s, and Google Cloud), UI/UX and more. It was an Agile/Xp team of highly skilled generalists, and it was a priveledge to work there.", accomplishments: [ - "Implemented an entire unified filtering system from scratch for a complex logistics system, participating in the design of the filters, and increasing the capability and usability of the filtering system.", - "Wrote E2E tests in both Cypress and Playwright", - "Developed CronJobs to handle data imports from a variety of external vendor APIs", + "Maintained and significantly upgraded ONgDB (Open source Neo4J fork), and migrated our entire production database (>1 billion nodes) to it.", + "Implemented and designed an entire logistical filtering DSL from scratch, increasing the capability and usability of the filtering system.", + "Created a variety of k8s infrastructure in dhall and yaml, github actions, and other google cloud configuration.", "Refactored large parts of the frontend to remove significant duplicatation (Thousands of lines) and make components more modular", + "Developed CronJobs to handle millions of rows of data imports from a variety of external vendor APIs", + "Implemented self signup through Auth0 API alongside our existing SSO and user import systems", + "Wrote E2E tests in both Cypress and Playwright", ], tags: [ "Scala", + "ZIO", "Play", "Angular", "Typescript", @@ -41,8 +45,9 @@ export const experience = [ "Researched biology and machine learning, keeping up to date on cutting edge research in the field, and brainstorming projects of our own.", "Organized and distributed work to a team of 4 other developers.", "Managed the use of a shared workstation including multiple environments and operating systems", - "Currently developing a paper on creating a multi-armed model to predict protein functionality with only ~120 data points, and generate new functional proteins using a genetic algorithm", - "Also currently working on a meta analysis of protein LLMs and their performance with QLoRA adaptions.", + "Developed a paper on creating a multi-armed model to predict protein functionality with only ~120 data points, and generate new functional proteins using a genetic algorithm", + "Worked on a meta analysis of protein LLMs and their performance with QLoRA adaptions.", + "Published two papers at ICLR 2025 (openreview.net/forum?id=sfTXIiu7Op, openreview.net/forum?id=KBMxaCSwpB)", ], tags: [ "Python", diff --git a/src/data/projects.js b/src/data/projects.js index 41472eb..75bc2e3 100644 --- a/src/data/projects.js +++ b/src/data/projects.js @@ -1,17 +1,27 @@ export const projects = [ { id: 0, + title: "Recipe Website", + date: "2025", + description: + "Passion project for keeping my recipes stored and accessible. Lots of fun design like almost fully generic controller code. Strong use of interfaces. Some unnecessary exercises like writing my own simple auth, which I would never recommend. Social network design between saving recipes and having ingredients as graph nodes with weighted relationships from recipes. Allows for easy analytical queries to recommend recipes", + tags: ["Scala", "ZIO", "Neo4J", "Angular"], + codeLink: "https://github.com/specialthing44/recipe-website", + projectLink: "https://github.com/specialthing44/recipe-website", + }, + { + id: 1, title: "Portfolio Website", date: "2024", description: "This site was built using ReactJs and Tailwind CSS. It is a fairly standard static single page application. I tend to not believe in over-engineering things, and I have a lot more interest in UX than UI. Thus I have tried to keep the site as simple as possible, while still being visually appealing. I've learned some things from making this, as this was my first real web project, for example, I will never use JS instead of TS unless I have to.", image: `${process.env.PUBLIC_URL}/portfolio.png`, tags: ["ReactJs", "Tailwind CSS"], - codeLink: "https://github.com/", - projectLink: "example.com", + codeLink: "https://github.com/specialthing44/portfolio", + projectLink: "https://spencer-perkins.vercel.app/", }, { - id: 1, + id: 2, title: "Interactive Research Platform", date: "2023", description: @@ -26,7 +36,7 @@ export const projects = [ ], }, { - id: 2, + id: 3, title: "PetFinder Clone", date: "2023", description: @@ -34,7 +44,7 @@ export const projects = [ tags: ["React Js", "Python", "Django", "RestApi", "Bootstrap"], }, { - id: 3, + id: 4, title: "Java Tamagotchi Game", date: "2022", description: @@ -42,7 +52,7 @@ export const projects = [ tags: ["Java", "Swing", "MVC", "SOLID", "JUnit"], }, { - id: 4, + id: 5, title: "Predictive Model with Web UI", date: "2021", description: diff --git a/src/pages/landing/landing.js b/src/pages/landing/landing.js index 8f78230..7f14a3a 100644 --- a/src/pages/landing/landing.js +++ b/src/pages/landing/landing.js @@ -60,12 +60,13 @@ const LandingPage = () => {

I'm a computer science specialist at the University of Toronto. I - work as a fulltime software engineer writing production code for - fortune 10 companies, and part-time as an ML researcher for a - computational biology lab. On the side, I create small projects to - solve problems that matter to me, and outside of work, I'm an avid - musician, and I've been playing the piano for 16 years. I'm also big - cooking, and I'm working on my own recipe website. + just finished a 16 month co-op as a fulltime software engineer at + Garner writing production code for fortune 10 companies at, and I + also work part-time as an ML researcher for a computational biology + lab. On the side, I create small projects to solve problems that + matter to me, and outside of work, I'm an avid musician, and I've + been playing the piano for 16 years. I'm also big into cooking, and + I'm working on my own recipe website.