Vantage Hub

Dec 21, 2024·
Cayden Miguel Theseira
Cayden Miguel Theseira
· 4 min read
Image credit: Cayden
Table of Contents
GitHub Logo GitHub Repository

Overview

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)
Vantage Hub - Home Dashboard (weather + greeting)
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)
Vantage Hub - Alarm and Stopwatch Page
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
MediaHub - Music library grid
Music: library grid + playback controls
MediaHub - Radio station grid
Radio: station grid + live playback
MediaHub - Video player view
Video: in-app player with controls
MediaHub - Music expanded grid view
Music: extended browsing view
MediaHub - Radio expanded grid view
Radio: extended station browsing view
MediaHub - Video expanded 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)
Vantage Hub - Doodle canvas and AI chatbot split view
Split view: digital sketching canvas + AI chatbot

App Switcher (Keyboard + Gesture)

  • Keyboard: Ctrl + Space opens the app switcher; while holding Ctrl, press Space to 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/FileDescription
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.csWeather API integration + data models
radio-API.csRadio 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