SaveHere: a fast Persian checklist that stays out of the way.
SaveHere is an RTL web product for making everyday lists quickly. It removes account creation from the core flow, saves changes on the device, and keeps sharing available without turning a simple checklist into a heavy productivity suite.
The product idea
A checklist is useful when capture is faster than forgetting. SaveHere is deliberately small: open it, name a list, add items, check them off, and come back later on the same device. The product also includes reusable Persian templates for common lists such as shopping, travel, camping, moving, car service, and events.
What I built
- A Persian-first, right-to-left interface designed around quick list creation.
- Editable list titles and items, completion state, deletion, progress feedback, and template-based starting points.
- Automatic persistence in
localStorage, so changes are stored without a save button or account. - Web Share API support with a clipboard fallback for browsers that do not expose native sharing.
- A PWA manifest and service worker with cached app-shell assets and a network-fallback strategy for offline-capable use.
Engineering decisions
The implementation uses Next.js with TypeScript and keeps the interaction model client-side. For this product, local persistence is a feature rather than a limitation: the app does not need a backend to deliver the core checklist workflow. That reduces signup friction, network dependence, and operational complexity.
The autosave path is explicit in the UI and in the code: list state is restored from browser storage on load and written back whenever the title or items change. Sharing serializes the current list into readable text rather than requiring a proprietary recipient account.
RTL and Persian UX
SaveHere is not an English interface translated at the end. Labels, templates, typography, direction, input behavior, and content hierarchy are designed for Persian use. That includes concise action language and a mobile-friendly editing flow for everyday use.
What this project demonstrates
SaveHere demonstrates product scoping, front-end engineering, Persian/RTL UX, progressive web-app behavior, browser persistence, and deliberate reduction of unnecessary infrastructure. It is a small product with a complete interaction loop rather than a portfolio mock-up.
For a deeper technical explanation of the PWA layer, read the Persian guide PWA چیست؟ تجربه ساخت وباپلیکیشن با Next.js در SaveHere.
Related engineering work
For commercial systems, see my custom WordPress plugin engineering and web performance work. SaveHere uses a different stack because its product constraints are different.