A lightweight web app for writing “unsent” messages — thoughts you want to get out without actually sending.
Built with vanilla HTML, CSS, and JavaScript, bundled using npm + Webpack for a fast, deployable static site with PWA support.
This project was inspired by
The Unsent Project
,
which explores emotional expression through anonymous, unsent messages.
Report Bug
·
Request Feature
- Overview
- Technologies Used
- Architecture
- Features
- Demo
- Project Structure
- Testing
- Getting Started
- Usage
- Roadmap
- Contributors
- License
- Contact
UnsentText is a simple web experience for writing messages you don’t plan to send.
It’s intentionally minimal: write freely, keep things private, and (optionally) treat it like a personal draft/journal space.
This repository is structured as a static site bundled with Webpack, with a dist/ output folder suitable for GitHub Pages-style deployment.
- JavaScript (ES6+)
- HTML5 / CSS3
- Webpack (dev + prod configs)
- PWA assets (manifest + icons)
- Static web app with a Webpack build pipeline
- Source folders for CSS/JS and a compiled
dist/output - Separate webpack configs for common, dev, and prod builds
- ✍️ A clean interface for writing “unsent” messages
- ⚡ Webpack-bundled build for fast loading + easy deploy
- 📱 PWA-ready assets (manifest + icons) for installable feel
- 🧩 Simple structure (easy to extend with storage, tags, search, etc.)
🔗 Live: https://spencervjones.github.io/UnsentText/
demo.mov
UnsentText/
├── .github/workflows/ # CI / automation (GitHub Actions)
├── css/ # Stylesheets
├── js/ # JavaScript source
├── dist/ # Production build output (static)
├── 404.html # SPA / Pages fallback
├── index.html # App entry
├── favicon.ico # Site icon
├── icon.png # PWA icon
├── icon.svg # Vector icon
├── robots.txt # SEO / crawling rules
├── site.webmanifest # PWA manifest
├── package.json # Scripts + dependencies
├── package-lock.json # Locked dependency tree
├── webpack.common.js # Shared config
├── webpack.config.dev.js # Dev config
├── webpack.config.prod.js # Prod config
└── webpack.config.js Coming Soon!
- Node.js (LTS recommended)
- npm
git clone https://github.com/SpencerVJones/UnsentText.git
cd UnsentText
npm installnpm run dev # start development server
npm run build # create production build in dist/- Open the dev server URL (if running locally), or visit the deployed site above.
- Write your message.
- Tags / mood labels with filtering
- Mobile-first polish & accessibility pass
See open issues for a full list of proposed features (and known issues).
Copyright (c) 2026 Spencer Jones
All rights reserved.
Permission is granted to view this code for personal and educational purposes only.
No permission is granted to copy, modify, distribute, sublicense, or sell any portion of this code without explicit written consent from the author.
Spencer Jones
📧 SpencerVJones@outlook.com
🔗 GitHub Profile
🔗 Project Repository