James LausaFull-Stack Developer
Back to Work

OSDS Student Portal

A centralized, digital gateway designed for the Mindanao State University-Iligan Institute of Technology community to streamline access to student services and institutional policies.

OSDS Student Portal

Role

Lead Full-Stack Developer

Timeline

Completed April 2026

Tools

ReactTailwind CSSGoogle Sheets APIGoogle Drive API

Deliverables

Institutional Portal, Headless CMS Integration, Dynamic UI Generation

The Challenge

Before this portal, students had to visit the office in person or use old, confusing systems for basic tasks. This created a huge pile of paperwork and long wait times. Because standard websites were too hard for the staff to update, the information online was usually out of date. They needed a solution that was completely free to run and easy for anyone to manage. To do this, I used Next.js for a fast frontend and connected it to Google Sheets and Google Drive to act as the database. This allows the staff to update the entire portal—including forms and files—just by editing a spreadsheet, without ever writing a line of code.

Project Screen 1

The Approach

Instead of using a complex database, I used Google Sheets and Google Drive to manage the site's content. This allowed the staff to update information using tools they already knew, while the frontend stayed a fast, modern React and Tailwind CSS application. The main challenge was making images and PDFs from Google Drive display correctly on the website. I built a custom tool to take the messy "view" links from Drive and turn them into direct sources for the site. This ensures all media loads smoothly for students without the staff having to do any extra technical work.

Architecture

The Solution

The portal works like a "live document." When a staff member changes a cell in the Google Sheet, the website updates instantly for everyone at the university. A key feature is Dynamic Category Mapping. The system automatically detects new categories in the spreadsheet and builds matching UI cards on the site. This means the staff can add entirely new sections or change the branding without ever needing me to touch the code or the design. The result is a portal that runs itself without needing a developer for daily updates. It solved the problem of out-of-date information by letting the staff manage everything in a tool they already use every day.