Receiper is a tiny single-page app that turns a title, a description, and an amount into a clean, minimalist receipt you can copy as an image and share in seconds.
π Live: https://hasaneyldrm.github.io/receiper-clone/
- Vite + React + TypeScript
- Tailwind CSS v4 (
@tailwindcss/vite) - framer-motion β the receipt "print" spring animation + enter/exit transitions
- lucide-react β icons
- html-to-image β renders the ticket to PNG and copies it to the clipboard
Fonts: Inter (sans) + JetBrains Mono (mono), loaded from Google Fonts.
npm install
npm run dev # http://localhost:5173/receiper-clone/
npm run build # type-check + production build into dist/
npm run preview # preview the production build
vite.config.tssetsbase: '/receiper-clone/'so the build works on GitHub Pages athttps://<user>.github.io/receiper-clone/. If you rename the repo or move to a custom domain / root, updatebaseaccordingly.
A workflow at .github/workflows/deploy.yml builds and publishes on every push to main.
One-time setup: in Settings β Pages β Build and deployment β Source, select
GitHub Actions. After that, every push to main redeploys automatically.
- Enter a Title, a Description, and an Amount, then Generate Receipt.
- A receipt prints in with a randomized receipt number, timestamp, and a random cashier name.
- Copy Image rasterizes the receipt to PNG and writes it to your clipboard.
- Reset clears the form. Nothing is stored β it's all local.