├── .gitignore ├── .tool-versions ├── README.md ├── app ├── blog │ └── post │ │ ├── falling-out-of-love-with-twin-macro │ │ └── page.mdx │ │ ├── just-read-user-friendly │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── no-remote-early-in-my-career │ │ └── page.mdx │ │ └── please-do-an-accessibility-audit │ │ └── page.mdx ├── favicon.ico ├── layout.tsx ├── opengraph-image.png ├── page.tsx ├── robots.txt └── sitemap.ts ├── components ├── header.tsx ├── intro-overlay.tsx ├── project-listing.tsx └── smooth-scroll.tsx ├── eslint.config.mjs ├── images ├── Allegory_Cave_Screenshot.jpg ├── Allegory_Cave_Screenshot_Small.jpg ├── Artificial_Unintelligence.png ├── Autos2050_Screenshot.jpg ├── Belly_Button_Design.jpg ├── Belly_Button_Design_Small.jpg ├── Big_Burgh_Screenshot.jpg ├── CSN_Homepage.png ├── Conor_Lamb_Screenshot.jpg ├── Conor_Lamb_Screenshot_Small.jpg ├── Danny_Subs.png ├── Encore_PGH.jpg ├── Food_Phantoms.png ├── GradeMyAid.png ├── GradeMyAid_Small.png ├── Grademyaid_Figma_Screenshot.png ├── Green_Pages_Figma_Screenshot.png ├── Green_Pages_Screenshot.png ├── Green_Pages_Screenshot_Small.png ├── My_Peep.png ├── NYT_Critic_Picks.png ├── NYT_Critic_Picks_Small.png ├── Off_World_Colonies_Inquirer.png ├── Original_CSC_Site_Screenshot.png ├── Pitt_CSC_Figma_Screenshot.png ├── Pitt_CSC_Screenshot.png ├── Pitt_CSC_Screenshot_Small.png ├── Pollock_Is_Shit_Screenshot.png ├── Pollock_is_Shit_OG.png ├── Tiny_Jims_Smokehouse.png ├── Todo_List_Website_Screenshot.png ├── Virtual_Safari_Screenshot.png ├── Virtual_Safari_Screenshot_Small.png ├── Virtual_Safari_Snippet.png ├── WAVE-evaluation-tool.png ├── alcohol101plus-og.jpg ├── alexander-grattan.jpg ├── big-burgh.png ├── dunning-kruger-accessibility.png ├── grademyaid-old.png ├── grosseries.png ├── hayden-ai-og.png ├── nytcriticpicks.netlify.app_.png ├── resu_me_Screenshot.png ├── resu_me_Screenshot_Small.png ├── rw-og.png ├── safe-opengraph.jpg ├── secret_pittsburgh.png ├── secret_pittsburgh_small.png ├── twin-macro-code.png ├── user-friendly.webp ├── vesper-og.png └── virtual-bar.png ├── mdx-components.tsx ├── next-env.d.ts ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── styles ├── _reset.scss ├── common.module.scss ├── global.scss ├── header.module.scss ├── home.module.scss ├── intro-overlay.module.scss ├── post.module.scss ├── project-listing.module.scss ├── project.module.scss └── variables.module.scss ├── tsconfig.json └── utils ├── hooks └── use-ball-animation.tsx └── project-data.ts /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/.gitignore -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 18.17.1 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/README.md -------------------------------------------------------------------------------- /app/blog/post/falling-out-of-love-with-twin-macro/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/blog/post/falling-out-of-love-with-twin-macro/page.mdx -------------------------------------------------------------------------------- /app/blog/post/just-read-user-friendly/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/blog/post/just-read-user-friendly/page.mdx -------------------------------------------------------------------------------- /app/blog/post/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/blog/post/layout.tsx -------------------------------------------------------------------------------- /app/blog/post/no-remote-early-in-my-career/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/blog/post/no-remote-early-in-my-career/page.mdx -------------------------------------------------------------------------------- /app/blog/post/please-do-an-accessibility-audit/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/blog/post/please-do-an-accessibility-audit/page.mdx -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /app/opengraph-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/opengraph-image.png -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/page.tsx -------------------------------------------------------------------------------- /app/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/robots.txt -------------------------------------------------------------------------------- /app/sitemap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/app/sitemap.ts -------------------------------------------------------------------------------- /components/header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/components/header.tsx -------------------------------------------------------------------------------- /components/intro-overlay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/components/intro-overlay.tsx -------------------------------------------------------------------------------- /components/project-listing.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/components/project-listing.tsx -------------------------------------------------------------------------------- /components/smooth-scroll.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/components/smooth-scroll.tsx -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /images/Allegory_Cave_Screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Allegory_Cave_Screenshot.jpg -------------------------------------------------------------------------------- /images/Allegory_Cave_Screenshot_Small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Allegory_Cave_Screenshot_Small.jpg -------------------------------------------------------------------------------- /images/Artificial_Unintelligence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Artificial_Unintelligence.png -------------------------------------------------------------------------------- /images/Autos2050_Screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Autos2050_Screenshot.jpg -------------------------------------------------------------------------------- /images/Belly_Button_Design.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Belly_Button_Design.jpg -------------------------------------------------------------------------------- /images/Belly_Button_Design_Small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Belly_Button_Design_Small.jpg -------------------------------------------------------------------------------- /images/Big_Burgh_Screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Big_Burgh_Screenshot.jpg -------------------------------------------------------------------------------- /images/CSN_Homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/CSN_Homepage.png -------------------------------------------------------------------------------- /images/Conor_Lamb_Screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Conor_Lamb_Screenshot.jpg -------------------------------------------------------------------------------- /images/Conor_Lamb_Screenshot_Small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Conor_Lamb_Screenshot_Small.jpg -------------------------------------------------------------------------------- /images/Danny_Subs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Danny_Subs.png -------------------------------------------------------------------------------- /images/Encore_PGH.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Encore_PGH.jpg -------------------------------------------------------------------------------- /images/Food_Phantoms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Food_Phantoms.png -------------------------------------------------------------------------------- /images/GradeMyAid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/GradeMyAid.png -------------------------------------------------------------------------------- /images/GradeMyAid_Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/GradeMyAid_Small.png -------------------------------------------------------------------------------- /images/Grademyaid_Figma_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Grademyaid_Figma_Screenshot.png -------------------------------------------------------------------------------- /images/Green_Pages_Figma_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Green_Pages_Figma_Screenshot.png -------------------------------------------------------------------------------- /images/Green_Pages_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Green_Pages_Screenshot.png -------------------------------------------------------------------------------- /images/Green_Pages_Screenshot_Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Green_Pages_Screenshot_Small.png -------------------------------------------------------------------------------- /images/My_Peep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/My_Peep.png -------------------------------------------------------------------------------- /images/NYT_Critic_Picks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/NYT_Critic_Picks.png -------------------------------------------------------------------------------- /images/NYT_Critic_Picks_Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/NYT_Critic_Picks_Small.png -------------------------------------------------------------------------------- /images/Off_World_Colonies_Inquirer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Off_World_Colonies_Inquirer.png -------------------------------------------------------------------------------- /images/Original_CSC_Site_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Original_CSC_Site_Screenshot.png -------------------------------------------------------------------------------- /images/Pitt_CSC_Figma_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Pitt_CSC_Figma_Screenshot.png -------------------------------------------------------------------------------- /images/Pitt_CSC_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Pitt_CSC_Screenshot.png -------------------------------------------------------------------------------- /images/Pitt_CSC_Screenshot_Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Pitt_CSC_Screenshot_Small.png -------------------------------------------------------------------------------- /images/Pollock_Is_Shit_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Pollock_Is_Shit_Screenshot.png -------------------------------------------------------------------------------- /images/Pollock_is_Shit_OG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Pollock_is_Shit_OG.png -------------------------------------------------------------------------------- /images/Tiny_Jims_Smokehouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Tiny_Jims_Smokehouse.png -------------------------------------------------------------------------------- /images/Todo_List_Website_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Todo_List_Website_Screenshot.png -------------------------------------------------------------------------------- /images/Virtual_Safari_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Virtual_Safari_Screenshot.png -------------------------------------------------------------------------------- /images/Virtual_Safari_Screenshot_Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Virtual_Safari_Screenshot_Small.png -------------------------------------------------------------------------------- /images/Virtual_Safari_Snippet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/Virtual_Safari_Snippet.png -------------------------------------------------------------------------------- /images/WAVE-evaluation-tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/WAVE-evaluation-tool.png -------------------------------------------------------------------------------- /images/alcohol101plus-og.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/alcohol101plus-og.jpg -------------------------------------------------------------------------------- /images/alexander-grattan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/alexander-grattan.jpg -------------------------------------------------------------------------------- /images/big-burgh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/big-burgh.png -------------------------------------------------------------------------------- /images/dunning-kruger-accessibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/dunning-kruger-accessibility.png -------------------------------------------------------------------------------- /images/grademyaid-old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/grademyaid-old.png -------------------------------------------------------------------------------- /images/grosseries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/grosseries.png -------------------------------------------------------------------------------- /images/hayden-ai-og.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/hayden-ai-og.png -------------------------------------------------------------------------------- /images/nytcriticpicks.netlify.app_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/nytcriticpicks.netlify.app_.png -------------------------------------------------------------------------------- /images/resu_me_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/resu_me_Screenshot.png -------------------------------------------------------------------------------- /images/resu_me_Screenshot_Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/resu_me_Screenshot_Small.png -------------------------------------------------------------------------------- /images/rw-og.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/rw-og.png -------------------------------------------------------------------------------- /images/safe-opengraph.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/safe-opengraph.jpg -------------------------------------------------------------------------------- /images/secret_pittsburgh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/secret_pittsburgh.png -------------------------------------------------------------------------------- /images/secret_pittsburgh_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/secret_pittsburgh_small.png -------------------------------------------------------------------------------- /images/twin-macro-code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/twin-macro-code.png -------------------------------------------------------------------------------- /images/user-friendly.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/user-friendly.webp -------------------------------------------------------------------------------- /images/vesper-og.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/vesper-og.png -------------------------------------------------------------------------------- /images/virtual-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/images/virtual-bar.png -------------------------------------------------------------------------------- /mdx-components.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/mdx-components.tsx -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/next-env.d.ts -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /styles/_reset.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/_reset.scss -------------------------------------------------------------------------------- /styles/common.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/common.module.scss -------------------------------------------------------------------------------- /styles/global.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/global.scss -------------------------------------------------------------------------------- /styles/header.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/header.module.scss -------------------------------------------------------------------------------- /styles/home.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/home.module.scss -------------------------------------------------------------------------------- /styles/intro-overlay.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/intro-overlay.module.scss -------------------------------------------------------------------------------- /styles/post.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/post.module.scss -------------------------------------------------------------------------------- /styles/project-listing.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/project-listing.module.scss -------------------------------------------------------------------------------- /styles/project.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/project.module.scss -------------------------------------------------------------------------------- /styles/variables.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/styles/variables.module.scss -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/tsconfig.json -------------------------------------------------------------------------------- /utils/hooks/use-ball-animation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/utils/hooks/use-ball-animation.tsx -------------------------------------------------------------------------------- /utils/project-data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agrattan0820/portfolio-site/HEAD/utils/project-data.ts --------------------------------------------------------------------------------