diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index c17c226..996a499 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,6 +1,6 @@
content/docs/contributor/antalmanac @icssc/antalmanac
-content/docs/contributor/peterportal @icssc/peterportal
+content/docs/contributor/antalmanac-planner @icssc/peterportal
content/docs/contributor/anteaterapi @icssc/api
content/docs/contributor/developer @icssc/api
diff --git a/components/logos/PeterPortal.tsx b/components/logos/PeterPortal.tsx
deleted file mode 100644
index 083d69e..0000000
--- a/components/logos/PeterPortal.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-const PeterPortal = () => (
-
-);
-
-export default PeterPortal;
diff --git a/components/logos/index.ts b/components/logos/index.ts
index 9098291..5e7c459 100644
--- a/components/logos/index.ts
+++ b/components/logos/index.ts
@@ -1,7 +1,6 @@
import { default as AntAlmanac } from "./AntAlmanac";
-import { default as PeterPortal } from "./PeterPortal";
import { default as Zotistics } from "./Zotistics";
-const logos = { AntAlmanac, PeterPortal, Zotistics };
+const logos = { AntAlmanac, Zotistics };
export default logos;
diff --git a/content/docs/contributor/antalmanac-planner/aap-coursesearch.png b/content/docs/contributor/antalmanac-planner/aap-coursesearch.png
new file mode 100644
index 0000000..9415645
Binary files /dev/null and b/content/docs/contributor/antalmanac-planner/aap-coursesearch.png differ
diff --git a/content/docs/contributor/antalmanac-planner/aap-instructorsearch.png b/content/docs/contributor/antalmanac-planner/aap-instructorsearch.png
new file mode 100644
index 0000000..f9cd1fb
Binary files /dev/null and b/content/docs/contributor/antalmanac-planner/aap-instructorsearch.png differ
diff --git a/content/docs/contributor/antalmanac-planner/aap-roadmap.png b/content/docs/contributor/antalmanac-planner/aap-roadmap.png
new file mode 100644
index 0000000..ff115bb
Binary files /dev/null and b/content/docs/contributor/antalmanac-planner/aap-roadmap.png differ
diff --git a/content/docs/contributor/peterportal/getting-started.mdx b/content/docs/contributor/antalmanac-planner/getting-started.mdx
similarity index 91%
rename from content/docs/contributor/peterportal/getting-started.mdx
rename to content/docs/contributor/antalmanac-planner/getting-started.mdx
index 7846ab7..ddabfc3 100644
--- a/content/docs/contributor/peterportal/getting-started.mdx
+++ b/content/docs/contributor/antalmanac-planner/getting-started.mdx
@@ -60,7 +60,7 @@ This document will guide you through setting up the project on your local machin
1. Inside the `api` directory, make a copy of the `.env.example` file and name it `.env`
2. Add additional variables as needed for features requiring authentication or database access.
- You may want an Anteater API key to avoid rate limit issues; see [the Anteater API docs](https://docs.icssc.club/docs/developer/anteaterapi/keys-limits) for more information.
- - To test PeterPortal's search features locally, you'll need an Anteater API key with special search permissions. If you're working on a search-related issue, feel free to contact a project lead in the [Discord server](https://discord.gg/Zu8KZHERtJ) to get a search-enabled key.
+ - To test AntAlmanac Planner's search features locally, you'll need an Anteater API key with special search permissions. If you're working on a search-related issue, feel free to contact a project lead in the [Discord server](https://discord.gg/Zu8KZHERtJ) to get a search-enabled key.
diff --git a/content/docs/contributor/antalmanac-planner/index.md b/content/docs/contributor/antalmanac-planner/index.md
new file mode 100644
index 0000000..ce5b9f8
--- /dev/null
+++ b/content/docs/contributor/antalmanac-planner/index.md
@@ -0,0 +1,66 @@
+---
+title: AntAlmanac Planner
+---
+
+## About
+
+AntAlmanac Planner is a web application designed to aid UCI students with course discovery and planning. We consolidate public data available on multiple UCI sources via [Anteater API](https://docs.icssc.club/docs/about/anteaterapi) to improve the user experience when planning course schedules. Features include:
+
+- **A drag-and-drop multi-year course planner**:
+ - Select multiple majors and minors
+ - Import your unofficial transcript via [StudentAccess](https://www.reg.uci.edu/access/student/transcript/?seg=U) to automatically fill in your roadmap to date
+ - View how your planned roadmap fulfills your **major**, **specialization**, **minor**, and **GE** requirements
+ - Import any **transferred courses**, **AP exams**, and **GE/Elective credits**
+
+
+
+- **Course Search**:
+ - Recent offerings
+ - Grade distribution visualizations
+ - Visual prerequisite tree
+ - Historic Schedule of Classes data
+ - Reviews from UCI students
+
+
+
+- **Instructor Search**:
+ - Grade distribution visualizations
+ - Historic Schedule of Classes data
+ - Reviews from UCI students
+
+
+
+## Technology
+
+### Frontend
+- [React](https://react.dev/) - Library to build dynamic, component-based UIs.
+- [Next.js](https://nextjs.org/) - React framework with server-side rendering.
+- [Material UI](https://mui.com/material-ui/) - React component library that implements Google's Material Design.
+
+### Backend
+- [Anteater API](https://github.com/icssc/anteater-api) - API maintained by ICSSC for retrieving UCI data.
+- [Express](https://expressjs.com/) - Minimalist backend framework for Node.js.
+- [tRPC](https://trpc.io/) - Library for type-safe APIs.
+- [PostgreSQL](https://www.postgresql.org/) - Relational database for storing user data and planners.
+- [Drizzle ORM](https://orm.drizzle.team/) - High-performance type-safe SQL-like access layer.
+
+### Tooling
+- [SST](https://sst.dev/) - Infrastructure as code framework for AWS deployment.
+- [TypeScript](https://www.typescriptlang.org/) - JavaScript with type-checking.
+
+## History
+AntAlmanac Planner was originally created in 2020 under the name **PeterPortal** by a team of ICSSC Projects Committee members led by @uci-mars, aiming to unify fragmented course information and long-term planning resources in one application.
+
+In February 2026, PeterPortal [merged](https://docs.icssc.club/docs/about/antalmanac/merge) with [AntAlmanac](https://github.com/icssc/AntAlmanac/) into one ultimate course planning platform. Following the merger, PeterPortal was rebranded as **AntAlmanac Planner**, while the original AntAlmanac became **AntAlmanac Scheduler**.
+
+| Year | Project Lead |
+| -------------- | ---------------------------------------------------- |
+| 2020 - 2021 | [@uci-mars](https://github.com/uci-mars) |
+| 2021 - 2022 | [@chenaaron3](https://github.com/chenaaron3) |
+| 2022 - 2023 | [@ethanwong16](https://github.com/ethanwong16) |
+| 2023 - 2024 | [@js0mmer](https://github.com/js0mmer) |
+| 2024 - 2025 | [@Awesome-E](https://github.com/Awesome-E) |
+| 2025 - Present | [@CadenLee2](https://github.com/CadenLee2) |
+
+## Contributing
+We welcome all open-source contributions! A guide on how to contribute can be found on the Getting Started tab.
diff --git a/content/docs/contributor/antalmanac-planner/meta.json b/content/docs/contributor/antalmanac-planner/meta.json
new file mode 100644
index 0000000..b5f0406
--- /dev/null
+++ b/content/docs/contributor/antalmanac-planner/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "AntAlmanac Planner",
+ "icon": "AntAlmanac",
+ "pages": ["getting-started"]
+}
diff --git a/content/docs/contributor/index.mdx b/content/docs/contributor/index.mdx
index fcb9da1..71e6fcc 100644
--- a/content/docs/contributor/index.mdx
+++ b/content/docs/contributor/index.mdx
@@ -10,7 +10,6 @@ Want to get started? Look no further than [here](/docs/contributor/common/gettin
## Projects
import AntAlmanac from "@/components/logos/AntAlmanac";
-import PeterPortal from "@/components/logos/PeterPortal";
import Zotistics from "@/components/logos/Zotistics";
import {Card, Cards} from "fumadocs-ui/components/card";
import { Workflow, UtensilsCrossed, Bird, CalendarRange } from "lucide-react";
@@ -24,9 +23,9 @@ import { Workflow, UtensilsCrossed, Bird, CalendarRange } from "lucide-react";
Schedule Planner
}
- href="/docs/contributor/peterportal"
- title="PeterPortal"
+ icon={}
+ href="/docs/contributor/antalmanac-planner"
+ title="AntAlmanac Planner"
>
Course Discovery and Planning
diff --git a/content/docs/contributor/meta.json b/content/docs/contributor/meta.json
index f06a1f0..fc88cb6 100644
--- a/content/docs/contributor/meta.json
+++ b/content/docs/contributor/meta.json
@@ -5,7 +5,7 @@
"...common",
"---Projects---",
"antalmanac",
- "peterportal",
+ "antalmanac-planner",
"anteaterapi",
"zotistics",
"peterplate",
diff --git a/content/docs/contributor/peterportal/index.md b/content/docs/contributor/peterportal/index.md
deleted file mode 100644
index 5da05d0..0000000
--- a/content/docs/contributor/peterportal/index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: PeterPortal
----
-
-A web application aimed to aid UCI students with course discovery and planning.
diff --git a/content/docs/contributor/peterportal/meta.json b/content/docs/contributor/peterportal/meta.json
deleted file mode 100644
index 33b6b22..0000000
--- a/content/docs/contributor/peterportal/meta.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "title": "PeterPortal",
- "icon": "PeterPortal",
- "pages": ["getting-started"]
-}
diff --git a/next.config.mjs b/next.config.mjs
index 50894e9..321c5e5 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -5,6 +5,15 @@ const withMDX = createMDX();
/** @type {import('next').NextConfig} */
const config = {
reactStrictMode: true,
+ async redirects() {
+ return [
+ {
+ source: "/docs/contributor/peterportal/:path*",
+ destination: "/docs/contributor/antalmanac-planner/:path*",
+ permanent: true,
+ },
+ ];
+ },
};
export default withMDX(config);