This repo is a personal site built with Next.js. The core idea appears to be:
- activity pages for what Arthur is
Working,Playing,Cooking, andReading - markdown-backed posts for each activity
- a small URL shortener that creates links like
/saying/:id - an experimental Rust backend deployed as a Vercel function
The git history suggests the project evolved in this order:
- Build the personal site and post system.
- Add a Thin Backend-powered URL shortener.
- Add a Vercel Rust runtime and a minimal lambda as a backend experiment.
The Rust part was not yet connected to the shortener logic. It was left as a separate backend entrypoint.
pages/contains the Next.js routes.posts/holds markdown content for each activity.pages/shortening-urls/index.tsxis the shortener UI.pages/saying/[id].tsxresolves short links through Thin Backend.api/user.rsis the Rust Vercel function.
Install JavaScript dependencies and run the site:
npm install
npm run devIf you want the URL shortener to work, set:
NEXT_PUBLIC_BACKEND_URL=...That value is used by thin-backend in pages/_app.tsx.
Run the Rust function checks from api/:
cargo test- The current shortener still depends on Thin Backend for persistence and lookup.
- The Rust lambda is now useful as a health/info endpoint, but it is not yet the source of truth for short URLs.
- If you want to finish the migration, the next natural step would be moving short-link create/lookup logic behind Rust endpoints and retiring the direct frontend Thin Backend calls.