About PlainUtils

๐Ÿ‘‹ About PlainUtils

Welcome to PlainUtils โ€” a minimalist, open-source toolbox ๐Ÿงฐ for developers, tinkerers, and keyboard wizards.

No accounts. No fluff. Just fast, useful web tools.


โš™๏ธ Tech Stack

  • Next.js โ€“ SSR + SSG for speed and SEO. Tools live under /tools/.
  • React โ€“ Hooks, interactivity, component logic.
  • Tailwind CSS โ€“ Utility-first styling for responsive UI.
  • Lucide Icons โ€“ Clean SVG icon set used across the app.
  • Dark Mode โ€“ Controlled via React context, stored in localStorage.
// tailwind.config.js
module.exports = {
  darkMode: 'class',
  content: [
    './pages/**/*.{js,ts,jsx,tsx}',
    './components/**/*.{js,ts,jsx,tsx}'
  ],
  theme: {
    extend: {},
  },
  plugins: [],
};

๐Ÿ—‚๏ธ File Structure

Each tool lives in /pages/tools/ and is auto-routed via Next.js.

pages/
โ”œโ”€โ”€ tools/
โ”‚   โ”œโ”€โ”€ word-counter.js
โ”‚   โ”œโ”€โ”€ json-formatter.js
โ”‚   โ””โ”€โ”€ base64.js
โ”œโ”€โ”€ about.js
โ”œโ”€โ”€ index.js
components/
โ”œโ”€โ”€ Layout.js
โ”œโ”€โ”€ DarkModeToggle.js
lib/
โ”œโ”€โ”€ iconMap.js

๐Ÿงฑ Reusable Components

  • <Layout /> โ€“ Provides consistent page layout with sidebar + footer.
  • <DarkModeToggle /> โ€“ React + CSS variables + localStorage.
const [isDark, setIsDark] = useState(() => {
  return localStorage.getItem('theme') === 'dark';
});

๐Ÿš€ Deployment

  • Platform: Deployed via Netlify
  • CI/CD: Auto-push from GitHub on commit to main.
  • Stack: Fully static โ€” no backend needed.
{
  "scripts": {
    "dev": "next dev",
    "build": "next build && next export",
    "start": "next start"
  }
}

๐Ÿ’ก Philosophy

  • Tools should load in under 1 second โฑ๏ธ
  • No JavaScript bloat. No tracking. No nonsense.
  • Mobile responsive, keyboard friendly, and built for devs.

๐Ÿค Contribute

Want to add a tool or improve one? Star the repo on GitHub and open an issue or PR.

Or drop ideas to plainutils@pingryte.com


๐Ÿ“Š Rate This Stack

How would you rate the PlainUtils tech stack?

๐Ÿ“Š Rate This Stack

How would you rate the PlainUtils tech stack?