diff --git a/README.md b/README.md
index bb81063..f7e3eef 100644
--- a/README.md
+++ b/README.md
@@ -1,37 +1,44 @@
## Put my baby in a docker and let it rip
-Frontend of a headless CMS running stripi in the back.
+Frontend of a headless CMS running Strapi in the back.
-Will host all LLM translation and edit for Foreign Langauges Novels.
+Will host all LLM translation and editing for Foreign Language Novels.
-Check the main site at https://NullTranslation.com
+Check the main site: [NullTranslation](https://NullTranslation.com)
-Check out our patreon at https://patreon.com/NullTranslationGroup
+Support us on Patreon: [Null Translation Group](https://patreon.com/NullTranslationGroup)
-**Books Currently Supporting**
+### **TODO**
+- ~~ADD MORE NOVEL SUPPORT~~
+- STANDARDIZE THE ERROR LOGS (it will be here till the end of days)
+- ADD ADS LATER (Added Analytics for ads and user tracking)
+- SCHEDULE POSTS FOR PATREON READAHEAD (Lets be real a chron is a real chron in the booty)
+- Releases Page for recent releases and schedule for releases (Needed so badly needed)
+- Annoucement page for announcements (Gotta tell the 5 users apparently we support audio soon ?)
+- AUDIO TM? TTS! TTS!! TTS!!! (I am not paying right ?)
+- NextJS data cache, DID SOMEONE SAY PAGINATION ?
+---
-对弈江山 by 染夕遥 = "Fight of the Throne" by Ran Xiyao
+### **Books Currently Supporting**
+- **对弈江山** by 染夕遥 = *"Fight of the Throne"* by Ran Xiyao
+- **医手遮天** by 慕璎珞 = *"Godly Talented Doctor"* by Mu Yingluo
+- **MANY MORE**
-医手遮天 by 慕璎珞 = "Godly Talented Doctor" by Mu Yingluo
+This project acts as a learning experience for:
+- **Dynamic Routing**: Using NEXT.js dynamic router.
+- **SSR** vs **CSR** : Interesting experiment
+- **SPA** vs **MPA** : Also kindda fund tomess with.
+- **Frontend for a Headless CMS**: Powered by Strapi, at first kindda rough, now very easy to understand why CMS exists.
+- **NEXTJS DATA CACHE**: 2mb ? what i that for ants ? pagination here we come
-This project acts a learning experience for Dynamic Routing using NEXT JS dynamic router and a frontend for a headless CMS Stripi.
+### **Conclusion**
+*Somehow, dealing with Java Spring Boot nightmares feels easier than this. In the end, using the API directly for uploading data seemed more efficient for my needs, rather than relying on the CMS interface.*
-**Conclusion:** Somehow Java Springboot nightmare is easier than this. In the end it seems utterly unncessary for my use.
-I ended up pushing to the api instead of using the CMS interface for uploading data anyway...
-Maybe CMS is more useful to make websites for customers with no experience in CS, but personally very not useful.
+*Perhaps CMS is more useful for building websites for customers with little to no CS experience. For personal use, however, it currently feels unnecessary.*
+
+*That said, CMS might become more useful later if the project grows. Features like shopping tiers and authentication could be easier to implement using a CMS framework.*
+
+> **Okay, CMS is god—we believe in CMS now.**
-**WHERE FROM HERE**
-
-Site will be polish more later when/if any of the novels has traffic.
-Things like shopping tiers and authentications seems like maybe something CMS would help with implementing.
-We will see if then CMS is more useful later.
-
-**TODO**
-ADD MORE NOVEL SUPPORT
-
-STANDARDIZE THE ERROR LOGS
-
-ADS LATER
-
-SCHEDULE POSTS FOR PATREON READAHEAD
+Polish for the site will come when/if any of the novels gain significant traffic. For now, we'll keep iterating!
diff --git a/src/app/announcements/[announcementId]/page.tsx b/src/app/announcements/[announcementId]/page.tsx
new file mode 100644
index 0000000..6bc8fce
--- /dev/null
+++ b/src/app/announcements/[announcementId]/page.tsx
@@ -0,0 +1,33 @@
+import { fetchAnnouncementById } from "@/lib/api";
+import { Announcement } from "@/lib/types";
+import { formatDateToMonthDayYear } from "@/lib/utils";
+
+export const metadata = {
+ title: 'Announcement Detail Page',
+ description: 'NullTranslationGroup Announcement page',
+};
+
+export type paramsType = Promise<{ announcementId: string }>;
+
+export default async function AnnouncementDetailPage(props: {params: paramsType}) {
+ const { announcementId } = await props.params;
+ let announcement: Announcement;
+ try{
+ announcement = await fetchAnnouncementById(announcementId);
+ }
+ catch (error) {
+ console.error(error);
+ return (
+