The Problem
Project data was stored across multiple spreadsheets, making it difficult to organize, update, and present work consistently.
Sharing this data with potential clients required manual formatting and lacked a structured, presentable interface.
The Solution
Built a data-driven CMS by connecting a structured Google Sheet to a custom frontend interface.
The system reads and processes spreadsheet data, dynamically rendering it into categorized project listings, allowing non-technical users to manage and update content directly from Sheets.
Architecture Overview
-
Data Source Layer
Google Sheets acts as the primary data store, structured into categories and project entries with predefined columns.
-
Data Source Layer
Data is fetched via published sheet endpoints and processed using JavaScript to convert raw entries into usable objects.
-
Rendering Layer
Frontend dynamically generates project cards and category sections based on structured data, eliminating hardcoded content.
-
Content Control Layer
Non-technical users can update, add, or modify projects directly in Sheets, instantly reflecting changes on the website.
The Result
Converted unstructured internal data into a centralized, maintainable, and client-facing portfolio system.