This is my personal toolkit – a collection of tools I find useful. I built it because I wanted to learn and create something helpful. I'll keep adding tools as I discover them. Free, open source, and always evolving.
See the codeToolPabitraMS is a personal, client-side utility toolkit built with React, TypeScript, and Vite.
All processing happens entirely in your browser. Files are never sent to any server. Your data stays private and local.
The codebase follows a layered architecture designed for scalability and maintainability.
Pages → Tools → Shared → Core
↓ ↓
Entities Lib
This hierarchy prevents circular dependencies and keeps the codebase predictable.
git clone https://github.com/thepabitrams/toolpabitrams.git
cd toolpabitrams
pnpm install
pnpm run dev
pnpm run build
pnpm run preview
Create folder: src/tools/<category>/<tool-name>/
Create index.tsx exporting a Tool object:
import { Tool } from '@/core/registry/toolRegistry';
const toolDef: Tool = {
id: 'my-tool',
name: 'My Tool',
description: 'Does something useful',
category: 'image',
input: 'single',
component: MyToolComponent,
};
export default toolDef;
Implement the component.
Use existing layers (Core, Shared, Entities, Lib) as needed.
The tool auto-registers via dynamic imports.
src/
├── core/ # Foundation: UI primitives, layout, global state
├── shared/ # Reusable components
├── entities/ # Domain logic and data models
├── tools/ # All tools: each feature in its own folder
├── lib/ # Generic helpers
└── pages/ # Route screens
This is a personal toolkit. For forks or adaptations:
Built with a modular, scalable architecture for maintainability and developer experience.
92 commits
TypeScript
99.7%
This is my personal toolkit – a collection of tools I find useful. I built it because I wanted to learn and create something helpful. I'll keep adding tools as I discover them. Free, open source, and always evolving.
See the codeToolPabitraMS is a personal, client-side utility toolkit built with React, TypeScript, and Vite.
All processing happens entirely in your browser. Files are never sent to any server. Your data stays private and local.
The codebase follows a layered architecture designed for scalability and maintainability.
Pages → Tools → Shared → Core
↓ ↓
Entities Lib
This hierarchy prevents circular dependencies and keeps the codebase predictable.
git clone https://github.com/thepabitrams/toolpabitrams.git
cd toolpabitrams
pnpm install
pnpm run dev
pnpm run build
pnpm run preview
Create folder: src/tools/<category>/<tool-name>/
Create index.tsx exporting a Tool object:
import { Tool } from '@/core/registry/toolRegistry';
const toolDef: Tool = {
id: 'my-tool',
name: 'My Tool',
description: 'Does something useful',
category: 'image',
input: 'single',
component: MyToolComponent,
};
export default toolDef;
Implement the component.
Use existing layers (Core, Shared, Entities, Lib) as needed.
The tool auto-registers via dynamic imports.
src/
├── core/ # Foundation: UI primitives, layout, global state
├── shared/ # Reusable components
├── entities/ # Domain logic and data models
├── tools/ # All tools: each feature in its own folder
├── lib/ # Generic helpers
└── pages/ # Route screens
This is a personal toolkit. For forks or adaptations:
Built with a modular, scalable architecture for maintainability and developer experience.
92 commits
TypeScript
99.7%