florian marending
ledger
Ledger is a small transaction analysis tool. The user can import bank transaction dumps in csv format from Neon. A small query language allows quickly searching for transactions and getting aggregations at a glance. Automated filters categorize transactions for analysis. Charts give insight into spending or income by category and over time. As with other applications in this series, ledger runs locally in the browser and offers the ability for sync and backup via S3 credentials.
Technologies involved: Typescript, SolidJS, S3, Caddy
jour
The latest app implementing the local-first concepts originally developed for rest.quest: Jour is a minimalistic journaling app that stores data locally in the browser, optionally synchronizing it to an S3-compatible bucket. Originally intended as a lab journal to keep track of thought processes at work, jour is now in use as a general purpose journal that invites the user to use it with its low friction of entry.
Technologies involved: Typescript, SolidJS, S3, Caddy
dd
A very minimalistic snippet management web app. This app is another iteration on the concepts developed for rest.quest and go: State is kept on the local device, but can be synchronized optionally using an object storage bucket. The single page app relies heavily on shortcuts.
Technologies involved: Typescript, SolidJS, S3, Caddy
go
A tiny and opinionated bookmark management web application. This app is leaning strongly on concepts developed for rest.quest: State is kept on the local device, but can be synchronized optionally using an object storage bucket. The single page app relies almost solely on shortcuts and can be used as a lightning fast redirect tool using the browser keyword search.
Technologies involved: Typescript, SolidJS, S3, Caddy
marending.dev
My personal website. Custom designed and built with SolidJS and Astro. It's deployed on a small VPS using Caddy as a web server.
Technologies involved: Typescript, SolidJS, Astro, Caddy
A minimal and opinionated todo web application. The user interface is designed to remove friction when adding projects or tasks. The state is primarily stored locally in the browser. Optionally, the user can supply object storage credentials to synchronize the state across multiple browsers. The application is implemented using SolidJS to keep the bundle size small.
Technologies involved: Typescript, SolidJS, S3, Caddy
An end-to-end encrypted note taking application. The web application features a wysiwyg markdown editor and advanced formatting including tables. Content is encrypted using a private key that is only stored in the browser. By encoding the decryption key in the hash of the URL, it's possible to share notes without the server ever seeing the data in plain text. The backend stores encrypted content in PostgreSQL.
Technologies involved: Rust, Typescript, React, Jotai, PostgreSQL, Web Crypto API, AES, Caddy, Docker