React + TypeScript
Business modules, document editors, settings, themes, localization, autosave status, and reporting.
Production software
Live product04 / Featured product
A privacy-focused, local-first desktop workspace for quotations, invoices, customers, products, payments, documents, reporting, and daily business operations.

/overview/product.md
Involora helps freelancers and small businesses manage the connected records behind quoting, invoicing, payments, customers, products and services, projects, reporting, and document output without making a hosted backend the default owner of their data.
My role spans product planning, information architecture, React and TypeScript UI, Tauri and Rust native development, relational SQLite schema design, migrations, transaction-safe services, PDF generation, localization, licensing, and desktop packaging.
/architecture/system.map
The application keeps business records in a local relational database. UI state and native persistence are separated by typed commands so document workflows and schema changes remain testable and maintainable.
Business modules, document editors, settings, themes, localization, autosave status, and reporting.
Typed request and response boundaries connect interface workflows to native data services.
Validation, transactions, document operations, licensing, filesystem access, and system integration.
Relational business records, indexes, migration history, backups, and future sync-aware identifiers.
/engineering/decisions.log
The product treats invoices as part of a wider data model—customers, line items, payments, taxes, inventory, projects, and reporting must remain consistent as records evolve.
Customers, products, services, quotations, invoices, payments, projects, taxes, and settings are linked through a migration-managed SQLite schema.
Multi-record operations use explicit service boundaries and transactions so totals, payment state, and related records change together.
Configurable invoice and quotation templates produce printable and PDF documents from the same validated business data.
Settings use queued, revision-aware saves with visible unsaved, saving, saved, and failure states instead of silent background writes.
Structured locale files, consistent fallback behavior, and dark/light theme systems support a broader product surface.
Business data stays local, protected actions use native capabilities, and backup/restore planning is part of the architecture rather than an afterthought.
/next/connect.sh
I design desktop applications where data modelling, migrations, transaction safety, document workflows, and maintainable native boundaries work as one system.