Skip to content

Commit

Permalink
chore: update resume
Browse files Browse the repository at this point in the history
  • Loading branch information
RagOfJoes committed Feb 5, 2025
1 parent b70403a commit fdea896
Show file tree
Hide file tree
Showing 11 changed files with 152 additions and 92 deletions.
29 changes: 15 additions & 14 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
{
"plugins": ["prettier-plugin-astro", "prettier-plugin-tailwindcss"],
"pluginSearchDirs": false,
"endOfLine": "auto",
"singleQuote": false,
"tabWidth": 2,
"useTabs": true,
"overrides": [
{
"files": "**/*.astro",
"options": {
"parser": "astro"
}
}
]
"plugins": ["prettier-plugin-astro", "prettier-plugin-tailwindcss"],
"pluginSearchDirs": false,
"endOfLine": "auto",
"singleQuote": false,
"tabWidth": 2,
"tailwindFunctions": ["clsx"],
"useTabs": true,
"overrides": [
{
"files": "**/*.astro",
"options": {
"parser": "astro"
}
}
]
}
1 change: 0 additions & 1 deletion astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import sitemap from "@astrojs/sitemap";
import solid from "@astrojs/solid-js";
import tailwind from "@astrojs/tailwind";
import vercel from "@astrojs/vercel";
// eslint-disable-next-line import/no-extraneous-dependencies
import { defineConfig } from "astro/config";

import { sitemapCopier } from "./sitemap-copier";
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"@solid-primitives/rootless": "^1.4.5",
"@solid-primitives/static-store": "^0.0.8",
"@solid-primitives/utils": "^6.2.3",
"astro": "^5.1.10",
"clsx": "^2.1.1",
"dayjs": "^1.11.13",
"solid-icons": "^1.1.0",
Expand All @@ -24,7 +25,6 @@
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"astro": "^5.1.10",
"autoprefixer": "^10.4.20",
"eslint": "^8.57.1",
"eslint-config-airbnb-base": "^15.0.0",
Expand Down
6 changes: 3 additions & 3 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified public/Resume.pdf
Binary file not shown.
35 changes: 23 additions & 12 deletions src/components/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ export function Header(props: HeaderProps) {
<a
aria-current={isCurrentLink(url, route.slug) && "page"}
class={clsx(
"font-medium text-foreground/45 ring-offset-background transition-colors",
"font-medium uppercase text-foreground/45 ring-offset-background transition-colors",

"aria-[current=page]:text-foreground",
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
Expand Down Expand Up @@ -141,8 +141,8 @@ export function Header(props: HeaderProps) {
class={clsx(
"fixed left-1/2 top-1/2 z-[9999] min-w-[320px] -translate-x-1/2 -translate-y-1/2 border bg-background p-8 ring-offset-background",

"data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:slide-out-to-left-1/2 data-[closed]:slide-out-to-top-1/2 data-[closed]:zoom-out-95 data-[closed]:duration-200",
"data-[open]:animate-in data-[open]:fade-in-0 data-[open]:slide-in-from-left-1/2 data-[open]:slide-in-from-top-1/2 data-[open]:zoom-in-[85%] data-[open]:duration-300",
"data-[closed]:duration-200 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95 data-[closed]:slide-out-to-left-1/2 data-[closed]:slide-out-to-top-1/2",
"data-[open]:duration-300 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-[85%] data-[open]:slide-in-from-left-1/2 data-[open]:slide-in-from-top-1/2",
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
)}
>
Expand Down Expand Up @@ -198,27 +198,29 @@ export function Header(props: HeaderProps) {
)}
>
<a
aria-current={isCurrentLink(url, "jiji") && "page"}
class={clsx(
"font-medium text-foreground/45 ring-offset-background transition-colors",
"font-medium uppercase text-foreground/45 ring-offset-background transition-colors",

"aria-[current=page]:text-foreground",
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
"hover:text-foreground",
)}
href="/Resume.pdf"
rel="me noopener noreferrer"
target="_blank"
>
RESUME
<span class="sr-only">View resume</span>
Resume
<span class="sr-only">Download my resume</span>
</a>
</div>
</nav>

<div
class={clsx(
"hidden border-l",
"hidden border-l px-8",

"max-lg:flex max-lg:basis-1/4 max-lg:justify-center",
"max-lg:flex max-lg:basis-1/4 max-lg:items-center max-lg:justify-center",
)}
>
<Drawer
Expand All @@ -238,7 +240,7 @@ export function Header(props: HeaderProps) {
: "Open navigation menu"
}
class={clsx(
"px-8 font-medium uppercase text-foreground/45 ring-offset-background transition-all",
"font-medium uppercase text-foreground/45 ring-offset-background transition-colors",

"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
"hover:text-foreground",
Expand Down Expand Up @@ -272,7 +274,7 @@ export function Header(props: HeaderProps) {
isCurrentLink(url, route.slug) && "page"
}
class={clsx(
"text-4xl font-semibold text-foreground/45 ring-offset-background transition-colors",
"text-4xl font-semibold uppercase text-foreground/45 ring-offset-background transition-colors",

"aria-[current=page]:text-foreground",
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
Expand All @@ -281,23 +283,32 @@ export function Header(props: HeaderProps) {
href={route.href}
>
{route.title}
<span class="sr-only">
{route.description}
</span>
</a>
</li>
)}
</For>

<li class="flex items-center">
<a
aria-current={
isCurrentLink(url, "jiji") && "page"
}
class={clsx(
"text-4xl font-semibold text-foreground/45 ring-offset-background transition-colors",
"text-4xl font-semibold uppercase text-foreground/45 ring-offset-background transition-colors",

"aria-[current=page]:text-foreground",
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
"hover:text-foreground",
)}
href="/Resume.pdf"
rel="me noopener noreferrer"
target="_blank"
>
RESUME
Resume
<span class="sr-only">Download my resume</span>
</a>
</li>
</ul>
Expand Down
16 changes: 16 additions & 0 deletions src/components/seo.astro
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,19 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site);
<link rel="manifest" href="/site.webmanifest" />

<link rel="sitemap" href="/sitemap-index.xml" />

<script
is:inline
type="application/ld+json"
set:html={JSON.stringify({
"@context": "https://schema.org",
"@type": "WebSite",
name: "Victor Ragojos' Portfolio",
url: Astro.site,
author: {
"@type": "Person",
name: "Victor Ragojos",
url: Astro.site,
},
})}
/>
2 changes: 1 addition & 1 deletion src/layouts/base.astro
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ export type Props = {
};
const {
description = "Victor Ragojos' corner of the internet.",
title = "Victor Ragojos",
description = "Hi, I'm a software engineer focused on building efficient, user-friendly applications. I specialize in full-stack development and enjoy optimizing systems to deliver the best possible experience.",
} = Astro.props;
dayjs.extend(RelativeTime);
Expand Down
23 changes: 11 additions & 12 deletions src/lib/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export const PROJECTS = [
{
background: "#ffffff",
description:
"Offset Tent is an automation tool that synchronizes Basecamp cards/todos and GitHub issues/pull requests. It allows you to keep your team up to date with the latest changes made to your codebases.",
"A workow automation tool that seamlessly connects Basecamp with GitHub, enabling real-time task synchronization and streamlined team collaboration. Implemented monitoring and automated deployment systems for reliability.",
image: "/offsetTent-preview.webp",
tags: [
"Go",
Expand All @@ -22,7 +22,7 @@ export const PROJECTS = [
{
background: "#191824",
description:
"A puzzle game that was inspired by the BBC’s “Only Connect” game show. Users create a puzzle with 16 words where each group of 4 words have some connection between them. Players attempt to link each group together and guess each connection.",
"A multiplayer word puzzle game inspired by NYT's Connections, featuring unlimited plays, custom puzzles, and daily challenges.",
image: "/puzzlely-preview.webp",
tags: [
"Typescript",
Expand Down Expand Up @@ -51,12 +51,12 @@ export const PROJECTS = [
];

export const ROUTES = [
{ description: "Go to home page", href: "/", slug: "", title: "ABOUT" },
{ description: "Go to home page", href: "/", slug: "", title: "About" },
{
description: "Go to projects page",
href: "/projects/",
slug: "projects",
title: "PROJECTS",
title: "Projects",
},
];

Expand Down Expand Up @@ -87,11 +87,10 @@ export const WORK_EXPERIENCE = [
{
company: "Offset Partners",
description: [
"Spearheaded migration from Webpack to Vite, reducing build times by 200% and bundle sizes by 40%. Optimizations improved performance and accessibility for millions of users with slower connections or devices",
"Orchestrated a comprehensive refactoring of the core PHP MVC framework, reducing codebase complexity by 60%. Implemented efficient database query optimizations and caching strategies, resulting in 50% faster API response times",
"Architected and implemented a comprehensive Docker-based development environment, standardizing codebase across products. Eliminated environment inconsistencies, cut onboarding time by 50%, and ensured parity across local, staging, and production",
"Introduced CI/CD pipelines using GitHub Actions, automating tests, deployment, and release processes. Reduced manual QA time by 80% and increase release frequency by 3x",
"Built scalable React component library and design system, streamlining UI development and reducing feature delivery time by 40%",
"Led frontend modernization initiatives including component libraries and build tooling improvements, reducing build times by 200% and development time by 40%. Enhanced performance and accessibility for millions of users.",
"Refactored core PHP framework and implemented database optimizations, reducing codebase complexity by 60% and improving API response times by 50%.",
"Implemented Docker-based development environment, standardizing codebase and reducing onboarding time by 50%. Ensured consistency across local, staging, and production environments.",
"Implemented CI/CD pipelines with GitHub Actions, reducing QA time by 80% and tripling release frequency.",
],
end: dayjs("10/16/2024", "MM/DD/YYYY"),
job: "Software Engineer",
Expand All @@ -101,9 +100,9 @@ export const WORK_EXPERIENCE = [
{
company: "Napa Valley College",
description: [
"Developed innovate methods to explain complex programming concepts, enhancing student comprehension and engagement",
"Guided peers on effective study strategies for exams and projects, improving overall academic performance",
"Partnered with professors to refine teaching approaches and assignments, optimizing the learning experience",
"Developed innovative methods to explain complex programming concepts, enhancing student comprehension and engagement.",
"Guided peers on effective study strategies for exams and projects, improving overall academic performance.",
"Partnered with professors to refine teaching approaches and assignments, optimizing the learning experience.",
],
end: dayjs("05/21/2019", "MM/DD/YYYY"),
job: "Computer Science Tutor",
Expand Down
56 changes: 45 additions & 11 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -28,35 +28,69 @@ import { WORK_EXPERIENCE } from "@/lib/constants";

<p
class={clsx(
"text-4xl font-medium",
"text-3xl font-medium",

"max-md:text-2xl",
)}
>
Hi, I'm a software engineer focused on building efficient,
user-friendly applications. I specialize in full-stack development
and enjoy optimizing systems to deliver the best possible
experience.
Hello, I'm a polyglot software engineer with over 5 years of
professional programming experience. My current interests are in
learning all about Go, staying up-to-date with the web world, and
spoiling Jiji.
</p>

<div class="mt-4">
<a
class={clsx(
"inline-flex h-11 items-center justify-center gap-2 border px-8 text-sm font-medium uppercase ring-offset-background",

"focus-visible:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
"hover:bg-foreground/5 hover:text-foreground",
)}
href="/Resume.pdf"
rel="me noopener noreferrer"
target="_blank"
>
Resume

<svg
class="h-4 w-4"
fill="none"
height="1em"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
stroke="currentColor"
style="overflow: visible; color: currentColor;"
viewBox="0 0 24 24"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
<path d="M7 10 12 15 17 10"></path>
<path d="M12 15 12 3"></path>
</svg>
</a>
</div>
</div>
</div>

<a
aria-label="Scroll down"
class={clsx(
"relative mx-auto mb-8 mt-auto ring-offset-background border-foreground/20",
"relative mx-auto mb-8 mt-auto border-foreground/20 ring-offset-background",

"focus-visible:border-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
"hover:border-foreground",
"focus-visible:ring-primary focus-visible:outline-none focus-visible:border-foreground focus-visible:ring-2 focus-visible:ring-offset-2",
)}
href="#projects"
>
<div
class={clsx(
"h-12 w-6 border-inherit transition-colors",

"after:absolute after:top-[20%] after:left-1/2 after:h-2 after:w-2 after:-translate-x-1/2 after:-translate-y-full after:rotate-45 after:transform after:animate-scroll-down after:border-2 after after:border-inherit after:border-t-transparent after:border-l-transparent after:content-['']",
"before:absolute before:top-1/3 before:left-1/2 before:h-2 before:w-2 before:-translate-x-1/2 before:-translate-y-full before:rotate-45 before:transform before:animate-[scroll-down_1s_ease-in-out_infinite_300ms] before:border-2 before:border-inherit before:border-t-transparent before:border-l-transparent before:content-['']",
"after after:absolute after:left-1/2 after:top-[20%] after:h-2 after:w-2 after:-translate-x-1/2 after:-translate-y-full after:rotate-45 after:transform after:animate-scroll-down after:border-2 after:border-inherit after:border-l-transparent after:border-t-transparent after:content-['']",
"before:absolute before:left-1/2 before:top-1/3 before:h-2 before:w-2 before:-translate-x-1/2 before:-translate-y-full before:rotate-45 before:transform before:animate-[scroll-down_1s_ease-in-out_infinite_300ms] before:border-2 before:border-inherit before:border-l-transparent before:border-t-transparent before:content-['']",
)}
>
<span class="sr-only">Scroll down</span>
Expand All @@ -68,7 +102,7 @@ import { WORK_EXPERIENCE } from "@/lib/constants";
<a
aria-label="Go to projects page"
class={clsx(
"block ring-offset-background group",
"group block ring-offset-background",

"focus-visible:outline-none",
)}
Expand All @@ -87,7 +121,7 @@ import { WORK_EXPERIENCE } from "@/lib/constants";

<section
class={clsx(
"mx-auto flex min-h-screen flex-col gap-12 px-8 pt-32 pb-8",
"mx-auto flex min-h-screen flex-col gap-12 px-8 pb-8 pt-32",

"max-lg:mx-0 lg:max-w-5xl",
)}
Expand Down
Loading

0 comments on commit fdea896

Please sign in to comment.