Virtour Neva — Travel Showroom Kiosk
Travel agency showroom kiosk with interactive map, destination previews, and real-time booking
// Built with
01 Problem
A travel agency needed an indoor showroom system where customers at iMac booths could browse destinations on an interactive map, preview location videos, enter booking information, and submit requests — while agents at admin stations monitored customer workflow, responded to service calls, and prepared contracts. The system needed real-time communication between customer kiosks, admin stations, and a central server.
02 Approach
Chose Objective-C and macOS because the customer specifically wanted iMac-based kiosks for the showroom. Designed a custom TCP socket protocol for all inter-app communication — booking data, service requests (call agent, order drinks), and admin monitoring signals. Used TCP sockets over HTTP because the system needed bidirectional real-time communication between kiosks and the server, and I had hands-on socket programming experience from university coursework. QTKit handled video playback for destination previews integrated directly into the map browsing interface.
03 Solution
Designed and built a complete three-app macOS system: (1) a customer- facing kiosk app with interactive map navigation, video previews of destinations, booking forms, and a service menu for ordering drinks or calling an agent; (2) an admin app for monitoring customer workflow, handling service requests, and webcam-based booth monitoring; (3) a server app coordinating all communication via a custom TCP socket protocol designed for booking data, control signals, and status updates. Sole developer handling full project lifecycle — customer meetings, architecture design, implementation, demos, and handoff.
04 Outcomes
Qualitative
- Complete three-app showroom system (customer kiosk, admin, server)
- Custom TCP protocol for real-time inter-app communication
- Interactive map with integrated video destination previews
- Admin monitoring with webcam and service request handling
05 Trade-offs
Building a custom TCP protocol from scratch was significantly more work than using an existing framework, but no suitable macOS networking libraries existed for this use case in 2006. The three-app architecture (customer, admin, server) added complexity but was necessary — the customer kiosk needed a locked-down fullscreen experience while admin needed a completely different workflow. As a solo developer managing the entire project lifecycle, the scope was ambitious but manageable because each app had clearly bounded responsibilities.
06 Constraints
- Real-time bidirectional communication between kiosks and server
- Fullscreen locked-down kiosk mode for customer-facing iMacs
- Custom TCP protocol design for heterogeneous message types
- Webcam monitoring integration for admin booth oversight
08 Reflection
This was my first end-to-end contract project — from customer meetings to architecture to implementation to handoff. The TCP protocol design experience directly carried forward to the iSmartHouse home automation project years later. Building three coordinated apps taught me system decomposition at a level that university coursework never reached. This project proved I could deliver a complete multi-component system independently, which set the pattern for my career as a tech lead who understands all layers of the stack.








