Product Developer
Current• Tech stack: C++, Go, Javascript, Typescript, Vue.js, WebRTC, gRPC, SQL, CSS• Implemented Camera Settings page for the Surveillance cloud service • Developed the front-end using TypeScript and Vue's composition API, adhering to Vue's MVVM development principles • Implemented gRPC handlers on cameras to enhance communication efficiency between the server and cameras • Created a data channel for real-time communication via WebRTC • Integrated backend APIs using Go• Integrated Access Control System with Surveillance CMS • Leveraged Template Pattern to apply to existing APIs, ensuring full CMS support • Developed the UI for the access control editor and door editor • Enabled logs of doors to support auto-update across CMS• Webhook notification • Implemented webhook notification functionality • Integrated webhook features with third-party communication tools, including LINE, Discord, Slack, and Microsoft Teams• Enhanced bookmark functionality • Displayed real-time bookmarks on the OSD of Monitor Center with optimized time, O(N) insertion and O(1) update • Attached thumbnails for bookmarks with which generated from shared memory stream data for live, and by decoding the recording at the specified time points for archive• Implemented Synology Camera editor in Surveillance Station • Singletonized the preview player among components in the editor to save 4 MB (40%) of memory • Lazy loaded the pages while navigating the editor to accelerate opening 7 times faster • Introduced Vuex into the project as global state management to fulfill the concept of data-driven • Implemented APIs using libcurl to upload firmware files onto the Synology Camera • Enabled Surveillance Station to auto upgrade the firmware of Synology Camera using crond • Allowed Surveillance Station to retrieve the new IP address of cameras using UPnP searching once disconnected • Integrated APIs on Surveillance Station in order to communicate with Synology Camera