SimpleTools is a fast, privacy-first, browser-based productivity suite built with SolidJS and Vite. It provides a collection of lightweight tools designed to run entirely in the browser β no accounts, no tracking, no backend required.
Live site: https://simpletools.lol
SimpleTools is designed to be:
- β‘ Extremely fast (Vite + SolidJS)
- π Privacy-friendly (client-side storage, no accounts)
- π¨ Customizable (YAML-driven theme system)
- π§© Modular (independent tool pages)
- π¦ Deployable as static hosting
Everything runs in the browser using IndexedDB and modern web APIs.
SimpleTools is built for:
- Students who need quick citations and organized notes
- Developers who want a live HTML/CSS/JS preview tool
- Writers who want markdown-based notebooks
- Privacy-conscious users who donβt want cloud logins
- Anyone who wants fast, no-sign-up browser tools
- Markdown support (via
marked) - Organized by notebooks and pages
- Auto-save to IndexedDB (Dexie)
- Fully client-side
- Persistent between sessions
- Real-time HTML/CSS/JS preview
- Instant rendering
- Safe isolated preview environment
- Useful for prototyping and debugging snippets
- AI-powered citation generation
- Designed to be fast and minimal
- Generates academic references quickly
- No account required
- Text utility suite
- Lightweight transformation tools
- Designed for speed and ease of use
- Text encoding / transfer utilities
- Compact sharing mechanisms
- Drop-in theme files
- Live preview in settings
- Full UI recoloring
- Stored in local storage
Themes live in:
public/themes/
Example theme format:
name: MyTheme
mainColor: "#hex"
color2: "#hex"
backgroundColor: "#hex"
textColor: "#hex"
sidebarColor: "#hex"
accentColor: "#hex"- SolidJS for reactive UI
- Vite for ultra-fast bundling
- TypeScript for type safety
- IndexedDB via Dexie (
src/db.ts) - Auto-save system
- No external database
- YAML files parsed using
js-yaml - Theme state managed in
src/store/themeStore.ts - Applied dynamically to CSS variables
public/sw.js- Registered via
src/swClient.ts - Enables caching and offline behavior
@solidjs/router- Each tool lives under
src/pages/
- SolidJS
- Vite
- TypeScript
- Dexie (IndexedDB wrapper)
- js-yaml
- marked (Markdown parser)
- lucide-solid (icons)
- lz-string (compression)
- jszip (exports / packaging)
To run locally you need:
- Node.js 18+
- npm (or compatible package manager)
Clone the repository:
git clone https://github.com/your-username/simpletools.git
cd simpletoolsInstall dependencies:
npm installStart development server:
npm run devThe app will start on:
http://localhost:5173
npm run buildThis will:
- Compile TypeScript
- Generate optimized static files in
dist/
To preview production build locally:
npm run previewSimpleTools is a fully static app and can be deployed anywhere.
-
Connect GitHub repository
-
Build command:
npm run build -
Output directory:
dist -
Set Node version to 18+
- Build command:
npm run build - Publish directory:
dist
- Framework preset: Vite
- Output directory:
dist
Upload contents of:
dist/
To any static server (NGINX, Apache, S3, etc.)
The app contains:
public/env-ob.json
Used for obfuscated environment configuration.
If modifying environment handling, see:
src/utils/env.ts
simpletools/
β
βββ public/ # Static assets
β βββ themes/ # YAML themes
β βββ sw.js # Service worker
β βββ robots.txt
β βββ sitemap.xml
β βββ site.webmanifest
β
βββ src/
β βββ components/ # Reusable UI components
β β βββ Sidebar.tsx
β β βββ SettingsModal.tsx
β β
β βββ pages/ # Individual tool pages
β β βββ Notebook.tsx
β β βββ HtmlViewer.tsx
β β βββ SimpleCite.tsx
β β βββ SimpleSuite.tsx
β β βββ TextLink.tsx
β β
β βββ store/ # State management
β β βββ themeStore.ts
β β
β βββ utils/ # Utilities
β β βββ dataTransfer.ts
β β βββ env.ts
β β
β βββ db.ts # IndexedDB setup
β βββ swClient.ts # Service worker registration
β βββ App.tsx # Main app layout
β βββ index.tsx # Entry point
β
βββ vite.config.ts
βββ package.json
βββ tsconfig*.json
βββ _headers # Cache control rules
βββ LICENSE
_headersdefines aggressive static caching.- Service worker caches static assets.
- IndexedDB ensures notebook persistence offline.
- No required login
- No backend database
- All notes stored locally
- No forced tracking
- Analytics (if enabled) are privacy-focused
This project is licensed under the GNU Affero General Public License v3.
Because this is AGPL:
- If you deploy a modified version publicly,
- You must provide source access to users.
See LICENSE for full details.
- Fork the repository
- Create a new branch
- Make changes
- Submit a pull request
Please keep changes minimal, modular, and performance-focused.