pyu_script
my personal project
š My Journey: Building the PyuScript Vault
Scroll for reading in Myanmar
As a fourth-year Computer Science student at the University of Computer Studies, Pyay (UCS Pyay), I wanted to create a centralized platform where my peers and fellow students could easily showcase and share their web projects. Iād like to share the journey and the technical challenges I navigated while building this "digital stone pillar" for our community.
š” The $0 Scalability Challenge
My primary goal was to build a product capable of handling approximately 700 students with zero infrastructure costs.
- Smart Storage Management: I utilized Appwrite for the backend. While the Appwrite Free Tier provides 2GB of storage, my calculations showed that individual project records (stored as JSON) are extremely small (around 1.5KB). Even if 700 students uploaded 5 projects each, the total data would only reach about 5MB, leaving more than 99% of our storage capacity available.
- The GitHub "Cheat Code": To minimize manual data entry, I integrated the GitHub API to automatically fetch project titles and tech stacks. By utilizing personal access tokens, the system supports up to 5,000 requests per hour, ensuring the site remains stable even during peak usage.
š ļø Handling Large Data with Next.js
To ensure the platform remains performant as the project count grows, I implemented several optimization strategies:
- Server Actions & Load More: Instead of fetching all data at once, I implemented a Load More feature. Using Next.js Server Actions, data is retrieved in chunks only when a user scrolls, keeping initial page load times extremely fast.
- Next.js Cache Strategy: I leveraged the Next.js Cache to minimize redundant data fetching, reducing server load and providing a snappier experience for users.
- Dynamic SEO: I developed a system to generate SEO Meta Tags and Dynamic Open Graph Images directly through code for every project. This ensures that when students share their work on social media, it appears with professional, high-quality previews.
š¤ Pair Programming with AI
Throughout the development of this project, I engaged in Pair Programming with Gemini AI. We spent late nights discussing complex logic, refining responsive modals using React Portals, and debugging build errors. This collaborative approach allowed me to produce more robust, optimized code and find creative solutions to UI/UX challenges.
⨠Reflection
"PyuScript Vault" is more than just a technical project to me; it is a bridge between ancient heritage and modern technology. It has been an invaluable experience learning how to combine various tools to create a valuable, zero-cost product for my community.
Developed by: Aster Affiliation: University of Computer Studies, Pyay (UCS Pyay) Expected Graduation: 2027
š My Journey: Building the PyuScript Vault
įį¼įįŗįį½įįŗįį»į°įį¬įįį¹įįįįÆįįŗ (UCS Pyay) į į įįÆįį¹įįį¾į įŗ CS įį»į±į¬įįŗįøįį¬įøįį įŗįį±į¬įįŗį”įį±įį²į·į įį»į½įįŗįį±į¬į·įŗįį²į· įįįŗįįįŗįøįį»įįŗį įį°įįįŗįį»įįŗįøįį½į±įį²į· įį»į±į¬įįŗįøįį¬įøįį½į± įįįŗįį®įøįį¬įøįį²į· Web Projects įį±įøįį½į±įįᯠįį½įįŗįį½įįŗįį°įį°įį²į· įį įŗį įÆįį įŗį įįŗįøįįįŗįø įį»į¾įį±įį¼įį·įŗįį¾įÆįįįÆįįŗįįį·įŗ įį±įį¬įį±įøįį įŗįᯠįįįŗįį®įøįį±įøįį»įįŗįį²į·įį«įįįŗį įį® Project įįᯠįįįŗįį±į¬įįŗįį²į·įį²į· įį»į½įįŗįį±į¬į·įŗįį²į· įįį®įøį įįŗįį²į· įįįŗįøįįį¬įįįÆįįŗįøįįįÆįįŗįᬠį įįįŗįį±į«įŗįį¾įÆįį½į±įįᯠį”įįÆįįᯠįį¼įįŗįįįŗįį»į¾įį±įį»įįŗįį«įįįŗ-
š” The $0 Scalability Challenge
įį»į½įįŗįį±į¬į·įŗįį²į· į”įįį įįįŗįį¾įįŗįøįį»įįŗį įį¬įįÆįįŗįį»į įįįįŗįį¾ įįį¾įįį² (Zero-Cost) įį»į±į¬įįŗįøįį¬įø įįį įįįŗįøįį»įįŗįįᯠHandle įįÆįįŗįįįÆįįŗįįį·įŗ Product įį įŗįᯠįį¼į įŗįįįÆį·įį«į
- Smart Storage Management: Backend į”įį½įįŗ Appwrite įįᯠįįÆį¶įøįį¬įøįį«įįįŗį Appwrite įį²į· Free Tier įį¾į¬ Storage 2GB įį² įį±įøįį±įįį·įŗį įį»į½įįŗįį±į¬įŗ įį½įįŗįį»įįŗįį¼įį·įŗįį²į·į”įį« Project record įį įŗįįÆį į®įį²į· JSON data size į į”įįįŗįøįį±įøįįįŗįį«įįįŗį įį»į±į¬įįŗįøįį¬įø įįį įįÆį¶įøį Project į įįÆį į® įįįŗįįįŗįį±į¬įįŗ 5MB įįįŗįøįį»įįŗįį² įį¾įįį¾į¬įį¼į įŗįįįÆį· įį® 2GB Storage įᬠįį»į½įįŗįį±į¬įŗįįįÆį·į”įį½įįŗ įįįÆįį»į¾į¶įį±įį«įįįŗį
- The GitHub "Cheat Code": Manual įįįÆįįŗįįį·įŗįįį²į· į”įįÆįįŗįįᯠįį»į¾į±į¬į·įį»įįįÆį· GitHub API įįᯠįįÆį¶įøįį¼į®įø Title įį²į· Tech Stack įį½į±įįᯠį”įįįÆįįᯠįį½į²įį° (Automate) įįįÆįįŗįøįį¬įøįį«įįįŗį įį įŗįį¬įį®įįᯠRequest į ,įįį į”įį įįį²į·į”įį½įįŗ įį»į±į¬įįŗįøįį¬įøįį½į± įį įŗįį¼įįÆįįŗįįįŗįįįŗįø įįÆį¶įøįį±įįįŗįį±į¬įįŗ į”į±įøįį±įøįį«įį²į
š ļø Handling Large Data with Next.js
įį±įį¬įį½į± įį»į¬įøįį¬įį²į·į”įį« Site įį¼į®įø įį±įøįįį½į¬įøį”į±į¬įįŗ įį»į½įįŗįį±į¬įŗ į”į±į¬įįŗįį« įįįŗįøį įį įŗįį½į±įįᯠį”įįÆį¶įøįį¼įÆįį²į·įį«įįįŗ-
- Server Actions & Load More: įį±įį¬į”į¬įøįįÆį¶įøįįᯠįį įŗįį«įįįŗįø įį½į²įįįÆįįŗįį² Load More feature įįᯠįįį·įŗįį½įįŗįøįį¬įøįį«įįįŗį Next.js Server Actions įįᯠįįÆį¶įøįį¼į®įø įį»į±į¬įįŗįøįį¬įøį Scroll įį½į²įį²į·į”įį«įį¾įᬠįį±įį¬įį½į±įįᯠį”įįįÆįįŗįøįįįÆįįŗ (Chunks) įį±į«įŗįį°į į±įį¬įį¼į±į¬įį·įŗ Page Loading į į”įį¼į²įįįŗįø įį¼įįŗįįįŗįį±įį«įįįŗį
- Next.js Cache Strategy: įį±įį¬įį½į±įįᯠįįįį Fetch įįÆįįŗįįį±įį² Next.js Cache įįᯠį”įįįį±į¬įįŗįįÆį¶įø į”įįÆį¶įøįį»įį¬įøįį«įįįŗį įį«į Server įį²į· Load įįᯠįį»į¾į±į¬į·įį»įį±įøįįįᯠUser į”įį½įįŗįįįŗįø į”įįįŗįį¼į±į į±įį«įįįŗį
- Dynamic SEO: Project įį įŗįįÆįį»įįŗįøį į®į”įį½įįŗ SEO Meta Tags įį½į±įį²į· Dynamic Open Graph Images įį½į±įįᯠCode įį²į· įįįÆįįŗįįįÆįįŗ generate įįÆįįŗįį¬įøįįįÆį· Social Media įį¾į¬ Share įį²į·į”įį«įį¾į¬įįįŗįø į”įįįÆįįŗį į¬įø įį±į«įŗįį±įį¾į¬įį«į
š¤ Pair Programming with AI
įį® Project įįįŗįį±į¬įįŗįį¾įÆ įį įŗįį»į¾į±į¬įįŗįįÆį¶įøįį¾į¬ įį»į½įįŗįį±į¬įŗ Gemini AI įį²į· Pair Programming įįÆįįŗįį¼į®įø įįįŗįį±į¬įįŗįį²į·įį¬įį«į įįį·įŗįįįŗįį²į·į”įį įįÆįįŗįį½į±įį²į· Logic įį½į±įįᯠįį½į±įøįį½į±įøįį¬į React Portals įįÆį¶įøįį¼į®įø Responsive Modal įį½į± įį¾įįį¬į Build Error įį½į±įįᯠį”įį°įį° įį¼į±įį¾įįŗįøįį¬įį½į± įįÆįįŗįį²į·įį«įįįŗį įį®įįᯠAI įį²į· įį½į²įįįŗįįÆįįŗįį±į¬įįŗįį¾įÆįį¼į±į¬įį·įŗ įįįÆįįįÆįįįÆįįŗįį¬įį¼į®įø Optimized įį¼į įŗįį²į· Code įį½į±įįᯠįįįŗįį®įøįįįÆįįŗįį²į·įį«įįįŗį
⨠Reflection
"PyuScript Vault" įᬠįį»į½įįŗįį±į¬į·įŗį”įį½įįŗįį±į¬į· Project įį įŗįįÆįįįŗ įįįÆįį«įįįŗį įįįŗįøįįį¬įį½į±įįᯠį”įįįį±į¬įįŗįįÆį¶įø įį±į«įįŗįøį įįŗįį¼į®įø įįįÆįį·įŗ Community į”įį½įįŗ įįįŗįįįÆįøįį¾įįį²į· į”įį¬įį įŗįįÆįįᯠį”įįį²į· įįįŗįį®įøįįįÆįįŗįį²į·įį²į· įį»į½įįŗįį±į¬į·įŗįį²į· į”įį½į±į·į”įį¼įÆį¶įį±į¬įįŗįø įį įŗįįÆįį«įį²į
Affiliation: University of Computer Studies, Pyay (UCS Pyay) Expected Graduation: 2027