01 / Overview
A small tool built around a clear privacy decision.
BeWriteBack turns frequently reused text into a searchable personal library. It runs entirely in the browser, stores content locally and works without an account, a back end or analytics.
I designed and developed the product end to end: shaping the interface, modelling its state, building the interactions and preparing it for installation and offline use.
02 / Problem
System clipboards are temporary. Useful text is not.
Links, commands, addresses and repeat responses are easy to copy once and difficult to find later. Many clipboard tools add native installation, permissions or cloud accounts to solve a simple retrieval problem.
The opportunity was a focused web app that made saving and recalling text fast while keeping potentially sensitive content on the user's own device.
03 / Approach
Structure first, then speed.
The interface centres on a reusable item model: each entry can be named, grouped into a folder, marked as a favourite, searched, sorted and repositioned. React components keep the interface modular, while TypeScript makes the data and interaction states explicit.
Local persistence removes the need for authentication or a server. PWA support makes the same product installable and available offline, without splitting the experience into a separate native app.
- Fast recallSearch, filters, sorting and keyboard shortcuts reduce friction.
- Flexible organisationFolders, favourites and drag-and-drop support different workflows.
- Local by designSaved content stays in browser storage; there are no accounts or trackers.
- Web-native deliveryResponsive layouts, installation and offline support broaden access.
04 / What it shows
Product thinking backed by production front-end work.
The finished project demonstrates how I move from a practical problem to a clear interface and a deployable application. It brings together React and TypeScript implementation, reusable UI patterns, responsive behaviour, state management, keyboard interaction, privacy-conscious architecture and GitHub Pages deployment.
It also reflects the way I like to work: make a deliberate technical choice, keep the experience understandable and carry the details through to delivery.