Overview
The primary directive was to create a modern, high-performance web presence for an international school while strictly adhering to a data sovereignty mandate: no sensitive data could be stored on third-party cloud services. This requirement necessitated a complex self-hosted infrastructure, further constrained by limited server hardware (2GB RAM) and the need to support seamless bilingual (English/Japanese) content delivery.
Strategic Technical Decisions
1. Next.js (Front-End Framework)
- Decision Rationale: Chosen for its hybrid rendering capabilities, specifically Static Site Generation (SSG), which decouples the front-end speed from the back-end’s resource usage. Utilized React for a component-driven, modern, and maintainable user interface.
- Strategic Value Highlighted: Performance Efficiency: Achieves high speed and SEO scores while minimizing server-side load on resource-constrained hardware.
2. Strapi & PostgreSQL (CMS & Database)
- Decision Rationale: Self-hosted and containerized to meet the client's strict data sovereignty requirements, avoiding vendor lock-in and third-party data storage. PostgreSQL was selected for its proven stability and ACID compliance.
- Strategic Value Highlighted: Data Sovereignty: Directly addresses a critical client security and compliance mandate by maintaining full control over all database assets.
3. Tailwind CSS & shadcn/ui (Styling)
- Decision Rationale: Used for rapid, consistent component development and delivering a clean, modern, and highly responsive UI that adapts flawlessly to different devices, essential for parent/guardian communication.
- Strategic Value Highlighted: Development Velocity & UX: Ensures a modern, consistent, and fast mobile user experience.
Key Contributions & Infrastructure Delivery
- Full-Stack Development: Delivered a bilingual (English/Japanese), fully responsive school website using Next.js, leveraging static paths for core content to achieve maximum loading speed.
- Secure Self-Hosting with Docker: Orchestrated the entire system—Next.js, Strapi CMS, and PostgreSQL—using Docker on a Virtual Private Server (VPS). This ensured isolated, reproducible environments despite the hardware limitations.
- Infrastructure Automation: Configured Nginx for optimized web serving and caching. Designed and implemented automated, self-hosted backup scripts and a routine maintenance plan (including system cleanups and performance tuning) to guarantee data integrity and system stability against the risks of self-hosting.
- Integrated Google Services: Secured and integrated Google Calendar using a Service Account to embed real-time school events. This integration provided essential, dynamically updated information without exposing private API keys or sensitive data.
- CMS Functionality Extension: Configured Strapi to handle advanced internal searches and securely manage the storage of administrative application files, extending the CMS's utility beyond basic content.
Measured Outcome
The project was delivered on time and established a stable, secure foundation:
- Performance: Achieved over 90 on Google Lighthouse for performance and accessibility, ensuring maximum visibility and user satisfaction.
- Stability: Maintained a stable, secure, and easily backed-up infrastructure running efficiently within the 2GB memory limit.
- Security: Successfully implemented the zero-third-party-data mandate, providing the client with full confidence and ownership over their data.



