Veyrix IDE is a progressive web application (PWA) designed to provide a fast, offline-capable, and secure coding environment directly in the browser. It emphasizes local data ownership, offering developers a scratchpad that feels native without the overhead of heavy desktop applications or server-side setups.
Editor Capabilities
Powered by Ace Editor (v1.32.6), Veyrix provides a desktop-grade writing experience. It features Smart Language Detection, automatically formatting syntax for HTML, CSS, JS, Python, Markdown, YAML, and Dockerfiles based on extensions.
I also engineered a Built-in Version Control system. Users can save up to 5 timestamped snapshots per file locally, allowing for rapid iterations and rollbacks.
Data Handling & Storage
To solve the limitations of standard localStorage, I re-architected the storage layer to deeply integrate IndexedDB.
- IndexedDB Architecture: All source code is securely isolated inside a native IndexedDB instance (
VeyrixFS). This allows for structured, large-capacity storage completely shielded from external networks. - Offline PWA Capabilities: Veyrix registers a Service Worker upon the first visit. This caches the HTML, CSS, Ace Editor libraries, and SVG assets. Subsequent visits load instantly, regardless of internet connectivity.
The Tri-Fold Sharing Mechanism
To distribute snippets seamlessly without forcing account creation, I built three distinct sharing pipelines:
1. Fast Local Share (LZString Base64)
For smaller snippets, Veyrix utilizes LZString.compressToEncodedURIComponent(). The raw code string is compacted and shoved directly into the URL parameters. No backend is ever touched.
2. Secure Cloud Share (Firestore)
Because browsers enforce hard limits on URL lengths, massive codebases are pushed to a Firebase Firestore instance. Optional passwords are hashed via crypto.subtle.digest client-side before transmission.
3. Native Device Share
On supported mobile and desktop browsers, Veyrix hooks into the navigator.share() API, allowing instant code beaming through iMessage, WhatsApp, or AirDrop.