An end-to-end park-guidance platform — the SFC Guide Portal — built as four connected repositories. It's the project I'm proudest of, because it forced me to make a phone, a server, a model and a piece of hardware all agree with each other.
ParkGuide is a guide portal for a park — helping visitors find their way, learn about the site, and access guide material on their phones, while giving the park useful signals from the ground. Rather than build a single app, I split it into layers that each do one job well and talk over clean interfaces.
It started as a university project (COS30049), but I treated it as a chance to practise building a real product shape: a client people actually hold, a backend that serves it, intelligence that adds something a plain database can't, and hardware that connects the digital guide to the physical park.
I worked across all four layers — wiring the mobile app to the backend, shaping the API, and integrating the AI and IoT pieces so the whole thing behaves as one system. The hardest and most rewarding part was the seams between layers: getting native mobile builds, server responses, model output and device data to line up.
hardware reports in → backend stores & serves → AI adds understanding → the app presents it to the visitor
React Native 19 · Expo Router · React Native Paper
The visitor-facing client — the guide portal in your pocket. Built with Expo using development builds rather than Expo Go, because it relies on native modules (in-app PDF viewing of guide material and enhanced WebViews). The DevBuild line integrates directly with the backend server for live data.
github.com/MiyukiVigil/ParkGuideApp ↗
Python · API server
The core the app talks to — a Python backend that serves park and guide data to the mobile client and ties the other services together. This is the contract everything else agrees on: define it well and the app, the AI and the devices can each evolve independently.
github.com/MiyukiVigil/ParkGuideApp-Backend ↗
Python · computer vision / ML
The intelligence layer — the AI/vision component that adds understanding a plain database can't. It's where the project connects to my interest in computer vision and PyTorch/OpenCV, turning raw input into something the backend and app can act on.
github.com/MiyukiVigil/ParkGuide-AI ↗
C++ · microcontroller
The edge — the IoT implementation running on a microcontroller out in the park. Written in C++, it's the physical anchor of the system: the part that senses the real world and reports back, closing the loop between the park itself and the digital guide.
github.com/MiyukiVigil/ParkGuide-IOT ↗