Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# AGENTS.md

This file provides guidance to AI Agents when working with code in this repository.

## Commands

```bash
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run start # Start production server
```

No test suite is configured.

## Architecture

This is a **Next.js 14 App Router** portfolio site built with TypeScript, Tailwind CSS, and shadcn/ui.

### Content Data Layer

All portfolio content lives in a single file: `src/data/resume.tsx`. This exports a `DATA` object containing personal info, work experience, education, skills, projects, and social links. **This is the primary file to edit when updating portfolio content.**

### Page Structure

- `src/app/page.tsx` — Home page assembling all portfolio sections (hero, work, education, projects, skills, contact)
- `src/app/blog/page.tsx` — Blog listing
- `src/app/blog/[slug]/page.tsx` — Individual blog posts rendered from MDX
- `src/app/layout.tsx` — Root layout with theme providers and analytics

### Blog System

Blog posts are `.mdx` files in `content/`. The `src/data/blog.ts` utility handles parsing frontmatter (via `gray-matter`) and converting markdown to HTML using a remark/rehype pipeline with `rehype-pretty-code` (Shiki) for syntax highlighting.

### Component Layers

- `src/components/ui/` — shadcn/ui primitives (do not edit directly; regenerate via shadcn CLI)
- `src/components/magicui/` — Custom animation components (`BlurFade`, `BlurFadeText`, `Dock`)
- `src/components/` — Feature components (`ProjectCard`, `ResumeCard`, `HackathonCard`, etc.)

### Styling

- Tailwind CSS with HSL CSS variables for theming (defined in `src/app/globals.css`)
- Dark mode via `class` strategy with `next-themes`
- Theme-aware favicons handled by `src/components/favicon-switcher.tsx`

### Path Alias

`@/*` maps to `src/*` — use this for all internal imports.
Comment thread
Axeloooo marked this conversation as resolved.
49 changes: 49 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Commands

```bash
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run start # Start production server
```

No test suite is configured.

## Architecture

This is a **Next.js 14 App Router** portfolio site built with TypeScript, Tailwind CSS, and shadcn/ui.

### Content Data Layer

All portfolio content lives in a single file: `src/data/resume.tsx`. This exports a `DATA` object containing personal info, work experience, education, skills, projects, and social links. **This is the primary file to edit when updating portfolio content.**

### Page Structure

- `src/app/page.tsx` — Home page assembling all portfolio sections (hero, work, education, projects, skills, contact)
- `src/app/blog/page.tsx` — Blog listing
- `src/app/blog/[slug]/page.tsx` — Individual blog posts rendered from MDX
- `src/app/layout.tsx` — Root layout with theme providers and analytics

### Blog System

Blog posts are `.mdx` files in `content/`. The `src/data/blog.ts` utility handles parsing frontmatter (via `gray-matter`) and converting markdown to HTML using a remark/rehype pipeline with `rehype-pretty-code` (Shiki) for syntax highlighting.

### Component Layers

- `src/components/ui/` — shadcn/ui primitives (do not edit directly; regenerate via shadcn CLI)
- `src/components/magicui/` — Custom animation components (`BlurFade`, `BlurFadeText`, `Dock`)
- `src/components/` — Feature components (`ProjectCard`, `ResumeCard`, `HackathonCard`, etc.)

### Styling

- Tailwind CSS with HSL CSS variables for theming (defined in `src/app/globals.css`)
- Dark mode via `class` strategy with `next-themes`
- Theme-aware favicons handled by `src/components/favicon-switcher.tsx`

### Path Alias

`@/*` maps to `src/*` — use this for all internal imports.
46 changes: 46 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,55 @@
# Portfolio

[![CI](https://github.com/Axeloooo/Portfolio/actions/workflows/ci.yml/badge.svg)](https://github.com/Axeloooo/Portfolio/actions/workflows/ci.yml)
[![Release](https://github.com/Axeloooo/Portfolio/actions/workflows/release.yml/badge.svg)](https://github.com/Axeloooo/Portfolio/actions/workflows/release.yml)
[![GitHub Tag](https://img.shields.io/github/v/tag/Axeloooo/Portfolio)](https://github.com/Axeloooo/Portfolio/tags)
[![GitHub Issues](https://img.shields.io/github/issues/Axeloooo/Portfolio)](https://github.com/Axeloooo/Portfolio/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/Axeloooo/Portfolio)](https://github.com/Axeloooo/Portfolio/pulls)
[![Contributors](https://img.shields.io/github/contributors/Axeloooo/Portfolio)](https://github.com/Axeloooo/Portfolio/graphs/contributors)
[![Repo Size](https://img.shields.io/github/repo-size/Axeloooo/Portfolio)](https://github.com/Axeloooo/Portfolio)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue)](LICENSE)

My personal portfolio website built with Next.js, showcasing my work experience, projects, skills, and blog.

## Table of Contents

- [Tech Stack](#tech-stack)
- [Getting Started](#getting-started)
- [Commands](#commands)
- [License](#license)

## Tech Stack

| Category | Technology |
| -------------- | --------------------------------------- |
| Framework | Next.js 14 (App Router) |
| Language | TypeScript 5 |
| Styling | Tailwind CSS, shadcn/ui |
| Animations | Framer Motion |
| Content | MDX (blog posts) |
| Analytics | Vercel Analytics & Speed Insights |
| CI/CD | GitHub Actions, Semantic Release |

## Getting Started

**Prerequisites:** Node.js LTS

```bash
npm install
npm run dev
```

The development server starts at `http://localhost:3000`.

## Commands

| Command | Description |
| ----------------- | ---------------------------- |
| `npm run dev` | Start development server |
| `npm run build` | Build for production |
| `npm run start` | Start production server |
| `npm run lint` | Run ESLint |

## License

Licensed under the [Apache License, Version 2.0](LICENSE).
Binary file added public/cross-chain-rebase-token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 33 additions & 9 deletions src/data/resume.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -203,14 +203,14 @@ export const DATA = {
// },
],
education: [
{
school: "Schulich School of Engineering, University of Calgary",
href: "https://schulich.ucalgary.ca/",
degree: "Master of Science in Electrical Engineering",
logoUrl: "/ucalgary-logo.jpeg",
start: "Sep. 2026",
end: "Apr. 2028",
},
// {
// school: "Schulich School of Engineering, University of Calgary",
// href: "https://schulich.ucalgary.ca/",
// degree: "Master of Science in Electrical Engineering",
// logoUrl: "/ucalgary-logo.jpeg",
// start: "Sep. 2026",
// end: "Apr. 2028",
// },
Comment thread
Axeloooo marked this conversation as resolved.
{
school: "Schulich School of Engineering, University of Calgary",
href: "https://schulich.ucalgary.ca/",
Expand All @@ -221,14 +221,38 @@ export const DATA = {
},
],
projects: [
{
title: "Cross-Chain Rebase Token",
href: "#",
Comment thread
Axeloooo marked this conversation as resolved.
dates: "Feb. 2025 - Mar. 2025",
active: true,
description:
"Cross-chain rebase token protocol that mints yield-bearing balances from vault deposits and uses Chainlink CCIP to bridge preserved interest rates.",
technologies: [
"Foundry",
"Solidity",
"OpenZeppelin",
"Chainlink CCIP",
"GitHub Actions",
],
links: [
{
type: "Source",
href: "https://github.com/Axeloooo/Cross-Chain-Rebase-Token",
icon: <Icons.github className="size-3" />,
},
],
image: "/cross-chain-rebase-token.png",
video: "",
},
{
title: "DeFi Stablecoin",
href: "#",
dates: "Aug. 2025 - Sep. 2025",
active: true,
description:
"An decentralized stablecoin protocol with exogenous collateral (ETH & BTC), algorithmic minting, and USD pegged, inspired by MakerDAO",
Comment thread
Axeloooo marked this conversation as resolved.
technologies: ["Foundry", "Solidity", "OpenZeppelin", "Github Actions"],
technologies: ["Foundry", "Solidity", "OpenZeppelin", "GitHub Actions"],
Comment thread
Axeloooo marked this conversation as resolved.
links: [
{
type: "Source",
Expand Down
Loading