Vantage Hub
Dec 21, 2024·
·
4 min read
Cayden Miguel Theseira
Image credit: CaydenTable of Contents
GitHub RepositoryOverview
Vantage Hub is a multi-functional Windows UWP desktop application designed to serve as a personal smart hub. It combines essential daily utilities—weather forecasting, alarm management, media playback, AI-assisted chat, and digital sketching—into a unified, modern interface optimised for both touch and desktop interaction.
Problem
Users often juggle multiple standalone apps for weather, alarms, music, and productivity tools, resulting in a fragmented desktop experience. Vantage Hub consolidates these core features into a single cohesive application that provides quick access to everyday utilities, reducing cognitive load and improving workflow efficiency.
Key Features
Home Dashboard (MainPage.xaml.cs)
- Real-time clock with day/date/time and time-aware greeting (Morning / Afternoon / Evening / Night)
- Location-aware weather summary
- Forecast widget with dynamic icons and key metrics (max/min temperature, wind, humidity, precipitation)
- Touch-first widget interactions (drag + transform support via manipulation handlers)

Home dashboard with live weather, greeting, and forecast widget
Alarm & Stopwatch (MainPage.xaml.cs)
- Create, edit, and delete alarms with repeating schedules (weekday selection)
- One-time alarms supported (auto-disabled after expiry)
- Multiple alarm sounds with looping playback
- JSON-based persistence for alarms and user preferences
- Built-in stopwatch module (start / pause / reset)

Alarm management and stopwatch module
MediaHub: Music, Radio, Video (Music.xaml.cs)
- Music: local playback with shuffle/loop, playback controls, progress slider, volume control
- Radio: station browser with metadata (e.g., codec/bitrate/votes), live streaming playback
- Video: video playback with file picker support and full player controls
- Consistent “card grid” browsing UI for discovery + a focused playback view

Music: library grid + playback controls

Radio: station grid + live playback

Video: in-app player with controls

Music: extended browsing view

Radio: extended station browsing view

Video: full playback view
Doodle + AI Chat (Sketching.xaml.cs)
- InkCanvas drawing with pen + touch input, including pressure support (when using stylus)
- Pen colour + stroke size controls, eraser mode, clear canvas
- Import background images for tracing and export drawings as PNG
- Gemini-powered chatbot experience with:
- speech-to-text dictation for message input
- text-to-speech playback for AI responses
- copy-to-clipboard for quick reuse
- Hover-to-reveal switch button that swaps the Doodle and Chat panels (grid column swap)

Split view: digital sketching canvas + AI chatbot
App Switcher (Keyboard + Gesture)
- Keyboard:
Ctrl + Spaceopens the app switcher; while holdingCtrl, pressSpaceto cycle; releasing selects (Alt+Tab style). - Gesture: swipe up from the bottom interaction zone to open the app switcher (touch-friendly flow).
Tech Stack
- Framework: Universal Windows Platform (UWP) with C# and XAML
- UI Design: Windows.UI.Xaml with adaptive layouts (touch + desktop)
- Weather API: OpenWeatherMap (forecast endpoint)
- Radio: station browsing + streaming via a custom radio API client
- AI Integration: Google Gemini (generative AI)
- Speech: Windows.Media.SpeechRecognition and SpeechSynthesis
- Inking: Windows.UI.Input.Inking (InkCanvas)
- Serialisation: Newtonsoft.Json for data persistence
My Role
Sole developer responsible for:
- End-to-end UWP application architecture and UI/UX design
- Integration of external APIs (weather, radio, generative AI)
- Implementation of alarms (recurring + one-time), sound playback, and stopwatch utilities
- MediaHub development (music, radio streaming, video playback)
- InkCanvas drawing tools + export pipeline
- Accessibility-focused features (speech-to-text + text-to-speech)
- Persistent storage for alarms and preferences
Quick Start (User Controls)
- Switch apps:
Ctrl + Space(hold Ctrl, tap Space to cycle, release to select) - Touch switcher: swipe up from the bottom zone to open the app switcher
- Doodle/Chat layout: hover to reveal the switch button, then tap to swap panels
Project Structure
| Folder/File | Description |
|---|---|
MainPage.xaml(.cs) | Home dashboard, weather, greetings, alarms, and stopwatch module |
Music.xaml(.cs) | MediaHub: music library + player, radio station browser, video playback |
Sketching.xaml(.cs) | InkCanvas doodle tools + AI chatbot (speech + TTS) + panel swap |
OpenWeatherMap.cs | Weather API integration + data models |
radio-API.cs | Radio station retrieval + streaming metadata client |
audio/ | Alarm sound files and bundled music tracks |
weather_icons/ | Weather condition icon assets |
icons/ | UI icons for controls and navigation |
musicart/ | Album art assets for bundled tracks |
Outcome
This project demonstrates proficiency in:
- UWP Development: building a polished multi-page Windows application with touch-first UX
- API Integration: consuming live data sources for weather, radio, and AI features
- Multi-feature Architecture: coordinating alarms, media playback, AI chat, and inking within a cohesive UI
- Accessibility: speech-to-text and text-to-speech for inclusive interaction
- State Management: persistent storage, timers, and async flows across multiple modules