Project // 005 Status: Finished

Trash Panda PKM

Local-First Personal Knowledge Management Desktop App

A finished personal-use desktop app for calm, private organization. Trash Panda PKM keeps notes, goals, plans, learning material, wishlist items, catalogue entries, tasks, and personal records local-first without cloud accounts, collaboration overhead, or unnecessary product bloat.

◂◂ Local Workspace Ready ▸▸
Trash Panda PKM project cover

Overview

Trash Panda PKM is a minimal Notion/Obsidian-style organization app built for one user. It prioritizes fast navigation, private local storage, and a focused interface over cloud sync, collaboration, or speculative features.

Technologies

Svelte 4 TypeScript Vite Tauri 2 Rust SQLite Plain CSS CSS variables

Outcome

Built a real desktop product with a maintainable architecture, local persistence, polished section navigation, editable notes, and a product scope that stays intentionally simple so the app can grow feature by feature.

▸ Product Highlights

Local-First Workspace

Designed for private personal knowledge management with local persistence and no dependency on cloud accounts, collaboration systems, or remote sync.

Dashboard and Sections

Includes sidebar navigation for Home, Notes, Goals, Wishlist, Catalogue, Plans, Learning, To do, and Personal, plus a Home dashboard with a time-based greeting and section cards.

Focused Writing Flow

The Notes section uses editable note cards and a focused editor experience, keeping the interface direct and useful instead of turning into an overloaded productivity suite.

Engineering HighlightsBuild Decisions

1

Desktop App Foundation

Built the app with Tauri and Rust, pairing a lightweight desktop shell with a responsive Svelte and TypeScript frontend.

2

Local Data Layer

Designed a local-first persistence layer with SQLite so personal data stays on the device and the app remains useful without online services.

3

Simple State and Navigation

Managed navigation and interface state with Svelte’s built-in reactivity instead of adding routing or state-management libraries before they were needed.

4

Custom Interaction Polish

Created a custom Home-to-section expand animation and small UI interactions with CSS and Svelte to make the app feel polished while staying lightweight.

5

Maintainable Visual System

Built the interface with plain CSS and custom design variables, avoiding Tailwind, Bootstrap, and UI frameworks while keeping the style coherent.

▸ Product Judgment

Restraint as a Feature

The project intentionally avoids cloud sync, collaboration, and broad feature bloat. That restraint keeps the app faster to understand, easier to maintain, and better aligned with its single-user purpose.

Built to Grow Slowly

The architecture is structured so new sections and behaviors can be added one feature at a time without forcing a larger rewrite or unnecessary abstraction layer.

Portfolio Takeaway

Trash Panda PKM demonstrates desktop product development, practical architecture choices, local data handling, and polished user experience without overengineering the solution.