Time-Bridge
- 1 Devlogs
- 2 Total hours
Spent the weekend building the first version of TimeBridge, a small Chrome extension aimed at making timezone coordination less of a headache. The idea is to detect time references as you type and eventually let you convert them to your contacts’ local times without doing the math yourself.
I started with two core features. A popup contact book that saves names and timezones using chrome.storage.local and a live text parser powered by chrono-node. The popup displays contacts’ local times while the parser detects phrases like “let’s call tomorrow at 3pm” using a debounced content script. I also used the browser’s native Intl.supportedValuesOf("timeZone") API to populate the timezone list instead of maintaining one manually and bundled only the English parser to bring its size down from around 400 KB to 100 KB but getting everything to run turned out to be its own challenge.
Chrome refused to load the extension because the bundled parser file was missing and regenerating it exposed an empty package.json that caused npm to throw an EJSONPARSE error. After fixing the dependencies, rebuilding the bundle with esbuild and correcting the script order in the manifest, the extension finally loaded. I also had to enable file URL access in Chrome before my local test page would work with the content script.
The skeleton is alive and well, the contacts persist, local times update and time expressions are detected as I type. There’s no UI for the parser yet so everything still goes to the console