diff --git a/README.md b/README.md
index a58dc9c..3febd31 100644
--- a/README.md
+++ b/README.md
@@ -54,8 +54,8 @@ creates a missing post, updates a different post, and leaves an identical post u
- `articles/`: Zenn-compatible Japanese articles
- `article_config.json`: non-secret publishing destination settings
- `images/`: images shared by Zenn, esa exports, and the website
-- `content/news/`: standalone bilingual news records
-- `content/publications/`: bilingual publication records and their optional News announcements
+- `content/activities/`: standalone bilingual activity records
+- `content/publications/`: bilingual publication records and their optional activity announcements
- `src/data/`: typed profile, research, education, and content transformation code
- `public/`: files copied directly into the production build
diff --git a/content/news/aspire_summit_2026.yaml b/content/activities/aspire_summit_2026.yaml
similarity index 100%
rename from content/news/aspire_summit_2026.yaml
rename to content/activities/aspire_summit_2026.yaml
diff --git a/content/activities/fukuoka_mitou_2023.yaml b/content/activities/fukuoka_mitou_2023.yaml
new file mode 100644
index 0000000..d24600b
--- /dev/null
+++ b/content/activities/fukuoka_mitou_2023.yaml
@@ -0,0 +1,7 @@
+date: "2023-11-01"
+endDate: "2024-01-31"
+title:
+ ja: "福岡未踏 Solve に採択され,LLM-chatbot をチームで開発しました."
+ en: "Selected for Fukuoka Mitou (Solve) and built LLM-chatbot with a team."
+url: "https://note.com/mitou_fukuoka/n/n397fe44895c6"
+type: "program"
diff --git a/content/activities/q2pec_2024.yaml b/content/activities/q2pec_2024.yaml
new file mode 100644
index 0000000..5040d2e
--- /dev/null
+++ b/content/activities/q2pec_2024.yaml
@@ -0,0 +1,7 @@
+date: "2024-08-16"
+endDate: "2024-09-23"
+title:
+ ja: "九州大学工学部の短期留学プログラム Q²PEC で,クイーンズランド大学(オーストラリア)に滞在しました."
+ en: "Studied at the University of Queensland, Australia, through Kyushu University's Q²PEC short-term program."
+url: "https://www.eng.kyushu-u.ac.jp/programs/program-q2pec/"
+type: "study-abroad"
diff --git a/content/publications/ss2026_27.yaml b/content/publications/ss2026_27.yaml
index 4d165ab..7c9553d 100644
--- a/content/publications/ss2026_27.yaml
+++ b/content/publications/ss2026_27.yaml
@@ -15,7 +15,7 @@ year: 2026
type: "technical-report"
peerReviewed: false
url: "https://ken.ieice.org/ken/paper/202607247cwN/"
-news:
+activity:
date: "2026-07-24"
title:
ja: "SIGSS 2026年7月研究会で研究発表を行いました."
diff --git a/src/components/activities_section.astro b/src/components/activities_section.astro
new file mode 100644
index 0000000..86b2ad9
--- /dev/null
+++ b/src/components/activities_section.astro
@@ -0,0 +1,39 @@
+---
+import type { Lang } from "@i18n/ui";
+import { useTranslations } from "@i18n/utils";
+import { getActivities } from "@data/activities";
+import Section from "./section.astro";
+import ActivityEntry from "./activity_entry.astro";
+
+interface Props {
+ lang: Lang;
+}
+
+const { lang } = Astro.props;
+const t = useTranslations(lang);
+const activities = await getActivities();
+---
+
+ {t("activities.empty")}
+ {activities.map((item) => (
+
+ ) : (
+