1. Accessing, Syncing & View Persistence
Vaultli is designed to run locally or from the web with full real-time database synchronization and session view persistence.
Launch Shortcuts
- macOS: Double-click
Vaultli.webloc to launch in your default browser.
- Windows: Double-click
Vaultli.url to launch.
- Direct Link: Visit: vaultli.app
(Note: type this URL directly into your browser address bar; do not use a search engine to find it yet.)
Browser Refresh & View Persistence
If you reload the page, Vaultli preserves your active collection group view instead of forcing you back to the home dashboard overview.
Technical Mechanics: Navigation operations store your active view in localStorage under vaultli_current_view and append ?view=viewId to the browser query parameters. On startup, finishInit() reads these variables to hydrate and route the viewport instantly.
Real-Time Cloud Synchronization & Privacy
Vaultli stores data in a secure PostgreSQL database on Supabase. Logging in synchronizes your inventory records, layouts, and options across all your personal devices in real-time.
Multi-Device Safety Net: If you are working on two devices concurrently (e.g., scanning items on your phone while viewing the dashboard on your computer), Vaultli utilizes Supabase Realtime to monitor for external changes. If your phone updates the cloud database, your computer will instantly detect it and display a flashing Refresh Data button on the main navigation bar. Clicking this button safely pulls the new data into your current session, preventing you from accidentally overwriting your mobile scans with stale desktop data.
Technical Mechanics: All tables enforce strict row-level security (RLS) policies matching auth.uid() = user_id. Your data is 100% private and cannot be viewed by other users or the database administrator. Checked layout settings trigger immediate JSON writes to the vaultli_settings table in Supabase, bypassing local client silos.
2. Data Field Option Customization & Safety Controls
Data option lists in Vaultli are category-isolated and protected by strict safety limits.
Category-Specific Dropdowns
Dropdown options for **Brand / Manufacturer** and **Source / Vendor** are isolated per category (e.g., *Guitars & Basses* vs *Watches*). Creating or selecting an item automatically filters dropdown lists to show only options relevant to that category.
Inline Option Creation & Smart Sorting
Add missing options inline using the + Add New Option... menu. The app automatically detects list types: alphabetical lists (brands, finishes) insert new entries in alphabetical order, while custom-ordered lists (condition) append options to the end.
Deletion Safeguards & Validation
- In-Use Lock: You cannot delete dropdown options currently assigned to active items in your inventory.
- Rename Propagation: Renaming options in Settings automatically updates all matching records in your inventory database.
- Factory Reset Preservation: Resetting dropdowns to defaults automatically preserves any custom options currently used in your inventory.
3. Custom Fields, 31-Category & Data Perpetuity
You can customize the workspace by adding fields, creating custom categories, or hiding/deleting entire collection groups.
Adding Custom Fields & Categories
Add text, checkbox, or dropdown fields to any category in settings. Create custom categories with custom icons and subgroups to expand the 31 default onboarding categories.
Data Preservation & Data Perpetuity Safeguard
Hiding a category removes it from navigation sidebar links and forms. Deleting a category updates the layout settings list but **never deletes** your inventory item records.
Technical Mechanics: Toggling visibility or deleting a category only updates the layout settings metadata inside the customCategories array. The underlying items stored in the gearItems array and the vaultli_items table are kept intact. Restoring the default category via the settings checklist re-appends the layout definition, instantly re-hydrating and displaying the items and their custom specs.
Form Architecture: System Fields vs. Custom Fields
Vaultli uses a highly dynamic, configuration-driven architecture to build your asset entry forms. To balance global consistency with per-collection flexibility, the data fields are strictly divided into two tiers:
1. System Default Fields (The Core Framework)
System fields (e.g., Brand, Model, Condition, Location, Valuation, Notes) form the foundational backbone of Vaultli. They are globally standardized to ensure that all assets in your inventory share a core set of recognizable data points, enabling universal sorting, filtering, and reporting.
- What you CANNOT do: You cannot delete, rename the underlying database key, or change the data type (e.g. converting a dropdown to a text box) of a System Field. They are permanently locked to preserve application stability and cross-category consistency.
- What you CAN do: You have full control over the visual presentation of these fields on a per-category basis! In the Collection Layout Builder, you can assign System Fields to any custom Subgroup (e.g., moving "Current Value" into a "Financials" subgroup), change their display width on the form, toggle their visibility in the Dashboard Grid/Table views, and customize their dropdown options lists (like adding new Brands or Conditions).
2. Custom Fields (Category-Specific Specs)
Every collection category has a unique array of custom fields tailored specifically to that asset type (e.g., "Sensor Type" for Cameras, "Body Wood" for Guitars). Unlike System Fields, these are entirely yours to manage.
- Total Control: You can create, rename, re-order, change the data type, delete, and group custom fields however you see fit. Deleting a custom field removes it from that specific collection's layout.
How Conditional Subgroups Work
The true power of the designer lies in Conditional Visibility. This prevents forms from becoming massive checklists of fields that don't apply. This modular approach ensures data entry remains lean and context-aware (e.g., you won't have to scroll past an empty "Lens Mount Type" field when cataloging a mechanical watch).
Step 1: The Trigger
A custom field (like a Dropdown) in General Specs acts as the trigger. (e.g., Asset Type)
Step 2: The Rules Checked
When the user selects "Mechanical" from the dropdown, the Form Engine checks your subgroup rules.
Step 3: Subgroup Revealed!
The assigned custom fields (Movement Type, Jewel Count) are instantly revealed in a new Mechanical Specs subgroup section.
Multi-Subgroup Assignments
A single custom field can be assigned to multiple subgroups simultaneously without breaking the form. For example, if you create a "Speaker Size" field, you can assign it to both "Combo Amps" and "Cabinets" using the checkboxes in the Form Designer.
The Magic Behind the Scenes: When adding a new item, the form intelligently duplicates your custom field and places it into every assigned section. When you hit save, the system checks which section you were looking at, grabs the value you entered, and saves it cleanly to your catalog.
Auto-Numbered Tracklists & Text Lists
When using the Auto-Numbered List (Restart at Breaks) field type, the system is designed to intelligently parse your pasted text, strip out old numbers, and re-number everything cleanly. This is incredibly useful for cataloging multi-part assets (like a double album on vinyl, a multi-disc CD set, or a book with several volumes).
To tell the system exactly where a new section begins so it can restart the numbering back at 1, use one of the supported Section Separators by starting a line with any of the following (case-insensitive):
- Media Keywords:
Disc (or Disk), Side, CD, LP, EP, MC, Vinyl, Record, Tape, Volume (or Vol), Chapter, Part
- Universal Symbols: Any line that begins with a Hash (
#) or an Underscore (_)
Note: The system is highly flexible and will recognize these keywords even if they are styled (e.g. **Side A**) or have colons (e.g. Disc 2:). Clicking the "Auto-Renumber" button inside the field will instantly format your text.
4. Bar/QR Code Scan & Specs Auto-Fill
Vaultli integrates high-performance mobile scanning with automated web queries to accelerate cataloging and prevent entry typos.
Scanner Access & Interface
Click the blue Bar/QR Code Scan button (barcode bracket icon) located in the upper-right corner of the item entry modal header. This opens your device's camera stream with a red targeting box.
- Framing: Center the physical barcode inside the red target frame.
- Lighting: Ensure the scanner window is well-lit and avoid glossy surface glare.
- Distance: Hold the camera 6 to 8 inches away. The scanner uses continuous autofocus to read the code.
Automatic Search & Checklist Review
Once a code is decoded, the scanner automatically closes, populates the **Serial Number / Unique ID / SKU** field, and **instantly triggers** a specifications lookup. The system queries web sources and launches a checklist modal showing found specifications (such as variant color, dimensions, year, and format specs). Review and select which fields to import, then click Apply.
Manual Search (Auto-Fill Specs)
If you don't have a barcode, manually type in the Brand & Model (or Serial Number) and click the orange Auto-Fill Specs button (sparkles icon) in the header to run the same search loop. More specific query inputs yield higher matching accuracy.
Technical Scanner Mechanics
- Rear Camera Focus: Enforces
facingMode: "environment" and focusMode: "continuous" settings to prevent focus hunting.
- Canvas Downscaling: Downscales a video feed frame at
1280x720 into a memory buffer crop for instantaneous decoding.
- API Roadmap: Currently uses custom web query heuristics; future updates will support premium, structured catalog metadata APIs.
5. Financial Portfolio, Trade-Ins & Consignments
Track purchase costs, estimated current values, and realized sales gains in real-time.
Trade-In Support & Cash Surplus
Check "Link to a Trade-In Item" when adding or editing a purchased gear item. Search and select a traded-in item from your active inventory to capture its trade-in credit, and the app will automatically calculate the net cash outlay and record the bi-directional transaction details on both records. The traded-in asset's status transitions automatically to 'Traded-In' with metadata fields locked down as read-only, showing a clean connection back to the new purchase.
Consignment Tracking
Check "This item is currently on consignment" to input consigned asking price, duration (in days), start date, and consignment vendor. The app automatically calculates the contract expiration date and displays real-time countdown badges indicating days remaining or if the contract has expired.
Sales Realization & Disposals
Changing an item's status to **Sold** prompts for quantity sold, sale type, date, price, fees, and shipping costs. Setting it to **Gifted**, **Donated**, or **Disposed** treats the item's estimated value as a realized loss on the dashboard.
Donation Tax Integration
When an item is marked as **Donated**, dedicated fields appear for **Is it tax-deductible?**, **Has deduction been taken?**, and **Deduction Value** (defaulting to the item's current estimated value) to track portfolio write-offs.
6. Reports, Dashboards & Valuation Helpers
Gain insights and generate reports for insurance or resale purposes.
Market Price Lookup Helper
In the Add/Edit form, click the search icon next to Current Value. This opens a modal with search links for Reverb, eBay, and Google using your gear item's Brand, Model, and Year in a new tab to find current market values.
Dashboard, Charts & Hover Zoom Previews
The dashboard renders real-time stats including total portfolio value, net investment, unrealized delta, realized gains, and annual recurring software costs. Hovering your mouse over any thumbnail photo (on card tiles, list rows, or edit forms) opens a high-resolution, responsive hover zoom preview window next to your cursor.
Insurance Report Generator
Click **Reports** in the top header. You can fill in the owner name, carrier, and policy number. Apply custom filters (category, status, brand, model, source) and choose whether to include images and specifications. You can download the resulting report as a structured CSV or print a formatted PDF summary.
7. Import, Export & CSV Mapping
Migrate or backup your database instantly.
- JSON Backup: Downloads or restores a complete database file (containing settings, categories, and inventory items).
- Spreadsheet Exports: Exports your entire inventory into a clean CSV format.
- Fuzzy CSV Header Mapper: When importing a custom spreadsheet, the app prompts you to map your columns to the application fields. It utilizes a fuzzy matching algorithm to pre-select matching columns, letting you easily verify and import arbitrary spreadsheets.
8. Mass Edit & Bulk Data Operations
Update large batches of records simultaneously using the Mass Update tool.
- Recursive Selections: Check a few items, clear your search, search for something else, and check more items—without losing your previous selections!
- Bulk Application: Once your items are selected, choose a field (like Category, Condition, or Status) and assign a new uniform value. All selected records will be updated and synced to the cloud immediately.
9. User Profile & Password Managers
Your personal metadata is managed under User Profile (accessed via the top-right Account Settings dropdown).
- Granular Fields & State Dropdowns: The address module uses specific fields (Address 1, Address 2, City, State, ZIP) using standard state dropdowns.
- RoboForm Compatibility: This layout guarantees that third-party password managers correctly parse and auto-fill your profile data without overwriting unrelated input fields like Insurance Carrier.
- Auto-Save: All profile fields automatically save in the background the moment you click out of them.