A modern, responsive web application built with Next.js 15 and TypeScript, featuring a comprehensive collection of 19 professional tools and calculators designed for professionals, students, and everyday use. From finance to health, productivity to planning—ToolifyLab gives you everything you need in one fast, privacy-first laboratory. Includes a professional invoice generator with multi-currency support, template management, and PDF export capabilities.
- 📜 Code of Conduct
- ✨ Features
- 🚀 Getting Started
- 🛠️ Technology Stack
- 🧪 Testing
- 🚀 Deployment
- 🎨 Design Features
- 📱 Responsive Design
- 🔒 Security
- 🤝 Contributing
- 📝 License
- 📈 Roadmap
- ❓ FAQ
- 📞 Community & Support
- 📋 Changelog
- 🙏 Acknowledgments
- 🌟 Live Demo
This project adheres to a Code of Conduct to ensure a welcoming environment for all contributors and users. By participating, you agree to:
Positive Behavior:
- Being respectful and inclusive
- Providing constructive feedback
- Accepting responsibility for mistakes
- Focusing on what is best for the community
- Showing empathy towards other community members
Unacceptable Behavior:
- Harassment, discrimination, or offensive comments
- Personal attacks or trolling
- Publishing others' private information
- Any other conduct that could reasonably be considered inappropriate
If you experience or witness unacceptable behavior, or have any other concerns, please email the project maintainers or create a private issue report.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct.
- Generate powerful, tailored AI prompts instantly
- Multiple prompt styles (Creative, Technical, Business, etc.)
- Real-time prompt generation using AI
- Copy to clipboard functionality
- Prompt history and management
- Professional prompt engineering
- Image Resizer - Resize images to specific dimensions
- Image Converter - Convert between different formats (JPEG, PNG, WebP)
- Image Compressor - Reduce file size while maintaining quality
- Color Picker - Extract colors from images
- Metadata Viewer - View image EXIF data and properties
- Batch processing capabilities
- Real-time preview
- Download processed images
- Create custom QR codes for URLs, text, emails, and more
- Multiple QR code formats
- Customizable colors and sizes
- Logo overlay support
- Download functionality
- Real-time preview
- Error correction levels
- Calculate monthly EMIs for any loan with interest and tenure
- GST calculation (18%) on interest
- Detailed amortization schedule with PDF export
- Interactive pie chart visualization
- Date-based payment scheduling
- Professional PDF reports
- Convert between different currencies with real-time exchange rates
- Support for 170+ world currencies
- Historical exchange rate data
- Clean, intuitive interface
- Real-time updates
- Calculate GST amounts (inclusive/exclusive)
- Reverse GST calculation
- Multiple GST rates support (5%, 12%, 18%, 28%)
- Real-time calculation updates
- Clean, intuitive interface
- Restaurant tip calculation
- Bill splitting functionality
- Multiple tip percentage options (10%, 15%, 18%, 20%, 25%)
- Tax calculation support
- Per-person amount breakdown
- Professional Invoice Creation - Complete business invoicing solution
- Multi-Currency Support - 8 major currencies (USD, EUR, GBP, INR, CAD, AUD, JPY, CNY)
- Advanced Tax & Discount System - Flexible tax rates (0%-25%) and percentage discounts
- Template Management - Save, load, and manage invoice templates with localStorage
- Company & Client Management - Complete contact and address information
- Itemized Billing - Add multiple products/services with individual tax rates
- Real-time Calculations - Automatic subtotal, discount, tax, and total calculations
- Professional PDF Export - Business-ready PDF invoices with jsPDF
- React Hook Form Integration - Advanced form validation with Zod schema
- Shadcn Day Picker - Beautiful date selection for invoice and due dates
- Live Preview - Real-time invoice preview before PDF generation
- Responsive Design - Works perfectly on all devices
- Tabbed Interface - Organized workflow with Create, Templates, and Preview tabs
- Perfect for Freelancers & Small Businesses - Professional invoicing solution without external dependencies
- Create and manage personal financial goals
- Progress tracking with visual indicators
- Category-based organization
- Deadline management
- Local storage persistence
- Goal completion statistics
- Progress percentage calculation
- Days remaining/overdue tracking
- Interactive charts and progress bars
- Create and manage tasks with priorities
- Due date tracking and reminders
- Task completion status
- Priority levels (High, Medium, Low)
- Local storage persistence
- Filter by completion status
- Edit and delete functionality
- Clean, intuitive interface
- Basic percentage calculations
- Percentage increase/decrease
- Value from percentage
- Percentage of total
- Multiple calculation modes
- Real-time results
- Calculate area of various geometric shapes:
- Rectangle/Square
- Triangle
- Circle
- Trapezoid
- Parallelogram
- Real-time calculations
- Unit conversion support
- Visual shape representation
- Calculate exact age in years, months, and days
- Precise date difference calculation
- Clean, modern interface
- Instant results
- Find birth date from current age
- Reverse age calculation
- Multiple date formats
- Precise calculations
- Convert time between different timezones
- Track multiple world clocks simultaneously
- 15+ popular timezones pre-configured
- Real-time clock updates
- Date and time selection
- Copy functionality for converted times
- Countdown timer with customizable duration
- Stopwatch with lap functionality
- Visual progress indicators
- Audio alerts and notifications
- Pause, resume, and reset functionality
- Mobile-friendly interface
- Body Mass Index calculation
- Height and weight input
- BMI category classification (Underweight, Normal, Overweight, Obese)
- Health status indicators
- Metric and imperial units support
- Visual health status display
- Generate secure, customizable passwords
- Strength analysis and validation
- Multiple character set options
- Length customization
- Copy to clipboard functionality
- Password history
- Length: mm, cm, m, km, inches, feet, yards, miles
- Weight: mg, g, kg, oz, lb, ton
- Temperature: Celsius, Fahrenheit, Kelvin
- Area: Square mm, cm, m, km, inches, feet, yards, acres
- Real-time conversion
- Tabbed interface for different categories
- Clean, organized layout
- Generate powerful, tailored AI prompts instantly
- Multiple prompt styles (Creative, Technical, Business, etc.)
- Real-time prompt generation using AI
- Copy to clipboard functionality
- Prompt history and management
- Professional prompt engineering
- Next.js 15.5.5 - React framework with App Router
- React 19.2.0 - Latest React version
- TypeScript 5.6 - Type-safe JavaScript
- Tailwind CSS 4.1.14 - Utility-first CSS framework
- Shadcn/ui - Modern component library
- Lucide React - Beautiful icons
- Motion 12.23.24 - Animation library for smooth interactions
- Next Themes 0.4.6 - Theme management for dark/light modes
- Sonner 2.0.7 - Toast notifications
- Recharts - Composable charting library
- Pie charts for financial breakdowns
- Progress bars for goal tracking
- Line charts for trends
- jsPDF - Client-side PDF generation
- jspdf-autotable - Table generation in PDFs
- Professional invoice layouts with company branding
- Multi-currency support in PDF exports
- qrcode - QR code generation library
- @types/qrcode - TypeScript definitions
- browser-image-compression - Client-side image compression
- exifr - EXIF data extraction
- react-easy-crop - Image cropping functionality
- @google/genai - Google Gemini AI integration
- react-markdown - Markdown rendering
- rehype-highlight - Syntax highlighting
- remove-markdown - Strip markdown formatting
- react-dropzone - Drag and drop file uploads
- react-easy-crop - Image cropping functionality
- date-fns - Modern date utility library
- react-day-picker - Date picker component
- dayjs - Lightweight date library
- react-hook-form - Performant, flexible forms with easy validation
- @hookform/resolvers - Validation resolvers for react-hook-form
- zod - TypeScript-first schema validation
- Shadcn/ui form components - Professional form elements
- @serwist/next 9.2.1 - Service worker for PWA functionality
- Serwist 9.2.1 - Progressive Web App framework
- @vercel/analytics - Web analytics
- React Hooks - useState, useEffect, useCallback, useMemo
- Local Storage - Client-side data persistence
- Custom Hooks - useDynamicTitle, useMobile, usePerformance, useSEO
ToolifyLab currently uses manual testing and linting for code quality. We are working on implementing a comprehensive testing strategy.
# Run ESLint for code linting
npm run lint
# Fix ESLint issues automatically
npm run lint:fix
# Type checking with TypeScript
npm run type-check
# Format code with Prettier
npm run formatWe plan to implement:
- Unit Tests: Jest + React Testing Library for component testing
- Integration Tests: Testing tool functionality and user workflows
- E2E Tests: Playwright or Cypress for full user journey testing
- Visual Regression Tests: Chromatic or similar for UI consistency
- Performance Tests: Lighthouse CI for performance monitoring
Help us improve test coverage by:
- Adding unit tests for new components
- Creating integration tests for complex features
- Setting up E2E test scenarios
- Improving test documentation
# Create production build
npm run build
# Start production server
npm run start
# Build and serve with one command
npm run build && npm run startToolifyLab is designed to work with modern deployment platforms:
- Vercel (Recommended) - Automatic deployments, preview deployments
- Netlify - Static site hosting with form handling
- Railway - Full-stack deployment with database support
- AWS Amplify - Scalable hosting with CI/CD
- GitHub Pages - Free static hosting
Create a .env.local file for local development:
# Add your environment variables here
NEXT_PUBLIC_APP_URL=http://localhost:3000ToolifyLab includes PWA features that work automatically when deployed to HTTPS domains.
- Responsive Design - Works on all devices
- Dark/Light Mode - Theme switching capability
- Modern Cards - Clean, elevated design with hover animations
- Gradient Text - Eye-catching typography
- Smooth Animations - Scale, rotation, and color transitions
- Interactive Elements - Hover states and transitions
- Professional Layout - Clean, organized interface
- Modular Design - Reusable components
- Type Safety - Full TypeScript implementation
- Accessibility - ARIA labels and keyboard navigation
- Performance - Optimized rendering and lazy loading
- Error Boundaries - Graceful error handling
The application is fully responsive and optimized for:
- Desktop - Full-featured experience with grid layouts
- Tablet - Adaptive layout with touch-friendly elements
- Mobile - Touch-friendly interface with optimized spacing
- All screen sizes - Fluid design with breakpoint optimization
- Node.js 18+
- npm, yarn, pnpm, or bun
-
Clone the repository
git clone https://github.com/praveenskg/toolifylab.git cd toolifylab -
Install dependencies
npm install # or yarn install # or pnpm install
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser Navigate to http://localhost:3000
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run type-check # TypeScript type checking
npm run clean # Clean build files
npm run format # Format code with Prettier
npm run prepare # Set up Husky for git hooks
npm run postbuild # Generate sitemap after build
npm run audit # Run npm security audit
npm run audit:fix # Fix npm security vulnerabilities
npm run security # Run security audit with moderate level
npm run pre-commit # Run pre-commit hooks (lint-staged)toolifylab/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Root layout with metadata
│ │ ├── page.tsx # Main dashboard
│ │ ├── manifest.json # PWA manifest
│ │ ├── sw.ts # Service worker
│ │ ├── api/ # API routes
│ │ │ └── generate-prompt/ # AI prompt generation
│ │ └── [tool]/ # Individual tool pages (19 tools)
│ │ └── page.tsx # Tool-specific pages
│ ├── components/
│ │ ├── ui/ # Shadcn/ui components
│ │ ├── tools/ # Tool components (19 tools)
│ │ ├── Image-tools/ # Image processing components
│ │ ├── homepage/ # Homepage components
│ │ ├── theme-provider.tsx # Theme context
│ │ ├── theme-toggle.tsx # Theme switcher
│ │ ├── header.tsx # Navigation header
│ │ ├── footer.tsx # Footer component
│ │ ├── LiveClock.tsx # Live clock component
│ │ ├── loading.tsx # Loading states
│ │ └── error-boundary.tsx # Error handling
│ ├── hooks/ # Custom React hooks
│ │ ├── use-dynamic-title.ts
│ │ ├── use-mobile.ts
│ │ ├── use-performance.ts
│ │ ├── use-pwa.ts
│ │ └── use-seo.ts
│ └── lib/ # Utility functions
│ ├── utils.ts # Helper functions
│ └── tools.ts # Tools configuration
├── public/ # Static assets and PWA icons
├── components.json # Shadcn/ui configuration
├── tailwind.config.ts # Tailwind configuration
├── next.config.ts # Next.js configuration
├── next-sitemap.config.js # Sitemap generation config
├── eslint.config.mjs # ESLint configuration
├── postcss.config.mjs # PostCSS configuration
├── tsconfig.json # TypeScript configuration
├── README-HUSKY.md # Husky git hooks documentation
├── BRAND.md # Brand guidelines
├── types/ # Global type definitions
│ └── global.d.ts # Global TypeScript declarations
└── package.json # Dependencies and scripts
- Local Storage - Goals and preferences persist across sessions
- No Server Required - All calculations done client-side
- Privacy First - Data stays on your device
- Offline Capable - Works without internet connection
- PDF Export - Download detailed reports and professional invoices
- Professional Formatting - Clean, printable documents with business branding
- Complete Data - All calculations and schedules included
- Multi-Currency Support - Export invoices in 8 major currencies
- Template Management - Save and reuse invoice templates
- QR Code Downloads - Save generated QR codes
- Image Downloads - Save processed images in various formats
- Fast Loading - Optimized bundle size
- Smooth Interactions - 60fps animations
- Efficient Calculations - Real-time updates
- Lazy Loading - Components load on demand
- Dynamic Titles - SEO-optimized page titles
- Meta Tags - Proper meta descriptions
- Vercel Analytics - Performance tracking
- Open Graph - Social media sharing
- AI-Powered Prompts - Generate professional prompts using Google Gemini
- Image Processing - Resize, convert, compress, and analyze images
- Real-time Processing - Instant results with client-side processing
- Multiple Formats - Support for various image and document formats
- Professional Invoicing - Complete business invoicing solution with multi-currency support
- Template Management - Save and reuse invoice templates for efficiency
- Advanced Calculations - Automatic tax, discount, and total calculations
- Form Validation - Comprehensive validation with react-hook-form and Zod
- PDF Generation - Professional PDF invoices with business branding
- Real-time Preview - Live invoice preview before export
- Responsive Design - Works seamlessly on desktop, tablet, and mobile
- Create a new component in
src/components/tools/ - Add the tool to the tools array in
src/lib/tools.ts - Create a page in
src/app/[tool-name]/page.tsx - Include proper TypeScript interfaces
- Add responsive design considerations
- Implement error handling
- Add to appropriate category (Financial, Math, Utility, etc.)
- Uses Tailwind CSS for styling
- Shadcn/ui components for consistency
- Custom CSS classes for special effects
- Theme-aware color schemes
- Hover animations on cards
- Icon scale and rotation effects
- Smooth color transitions
- Professional micro-interactions
We take security seriously. If you discover a security vulnerability, please follow these steps:
Do not create public GitHub issues for security vulnerabilities.
Instead, please report security vulnerabilities by emailing:
- Email: security@toolifylab.com
- Subject:
[SECURITY] ToolifyLab Vulnerability Report
Include the following information in your report:
- A clear description of the vulnerability
- Steps to reproduce the issue
- Potential impact
- Any suggested fixes (optional)
- All user data is processed client-side and never stored on servers
- No user authentication or personal data collection
- Regular security audits and dependency updates
- Content Security Policy (CSP) implementation
- HTTPS enforcement
We will:
- Acknowledge receipt of your report within 48 hours
- Provide a more detailed response within 7 days indicating next steps
- Keep you informed about our progress throughout the process
- Credit you (if desired) once the issue is resolved
We welcome contributions from the community! Please read our Contributing Guide for detailed information on:
- Development setup and workflow
- Code style and standards
- Submitting pull requests
- Types of contributions we accept
Here's a quick overview of how you can help:
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/toolifylab.git - Create a feature branch:
git checkout -b feature/amazing-feature - Install dependencies:
npm install - Start development:
npm run dev
- Follow the existing code style and conventions
- Write clear, concise commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
- Bug Reports: Use the Bug Report template
- Feature Requests: Use the Feature Request template
- Questions: Check the FAQ first, then create a discussion
- Update the README.md with details of changes if needed
- Update the version numbers in relevant files
- Follow conventional commit format for PR titles
- Ensure CI/CD checks pass
- Request review from maintainers
- 🐛 Bug fixes - Fix existing issues
- ✨ Features - Add new functionality
- 📚 Documentation - Improve docs and guides
- 🧪 Tests - Add or improve test coverage
- 🎨 UI/UX - Improve user interface and experience
- 🌐 Internationalization - Add language support
This project is licensed under the MIT License - see the LICENSE file for details.
- Testing Infrastructure: Implement Jest + React Testing Library
- Performance Optimization: Code splitting and lazy loading improvements
- Offline Support: Enhanced PWA features with better caching
- Accessibility: WCAG 2.1 AA compliance improvements
- Internationalization: Multi-language support (starting with Hindi, Spanish, French)
- Mobile App: React Native companion app
- API Integration: Currency exchange rates, weather data, stock prices
- Advanced Analytics: User behavior tracking and tool usage statistics
- Collaboration Features: Shared tool instances and team workspaces
- Plugin System: Third-party tool integrations
- AI Integration: Advanced AI-powered tools and recommendations
- Enterprise Features: SSO, audit logs, compliance certifications
- White-label Solutions: Custom branding for organizations
- API Platform: RESTful APIs for tool integrations
- Advanced Customization: User dashboards and personalized tool sets
Have an idea for ToolifyLab? Check out our feature request board and vote on existing suggestions!
Q: Is ToolifyLab free to use? A: Yes! ToolifyLab is completely free and open source. All tools work offline and don't require any registration.
Q: Do I need to create an account? A: No accounts required! All your data stays on your device using local storage.
Q: Is my data secure? A: Absolutely. ToolifyLab processes everything client-side and never sends data to external servers.
Q: Can I use ToolifyLab offline? A: Yes! Install it as a PWA and use all tools without internet connection.
Q: Which browsers are supported? A: Modern browsers including Chrome, Firefox, Safari, and Edge (last 2 versions).
Q: How do I report a bug? A: Create an issue on GitHub using the Bug Report template.
Q: Can I contribute code? A: Definitely! See our Contributing Guide for details.
Q: How do I suggest a new tool? A: Open a Feature Request discussion.
Q: What technologies does ToolifyLab use? A: Built with Next.js 15, React 19, TypeScript, and Tailwind CSS. See Technology Stack for details.
Q: How do I run ToolifyLab locally? A: Clone the repo, run npm install,
then npm run dev. See Getting Started.
Q: Can I deploy ToolifyLab to my own server? A: Yes! It's a standard Next.js app that can be deployed to Vercel, Netlify, or any hosting platform.
Q: Why do some calculations seem different from other apps? A: Each tool follows industry-standard formulas. If you notice discrepancies, please report them with specific examples.
Q: Can I export my data from ToolifyLab? A: Yes! Tools like Invoice Generator and Goal Tracker support PDF exports. Data is also stored locally in your browser.
Q: How accurate are the currency conversions? A: We use reliable exchange rate APIs, but rates fluctuate. For financial decisions, always verify with official sources.
- Next.js Team - Amazing React framework
- Shadcn/ui - Beautiful component library
- Tailwind CSS - Utility-first CSS framework
- Vercel - Deployment platform
- Lucide - Beautiful icons
- Recharts - Charting library
- Google Gemini - AI prompt generation
- Motion - Smooth animations and transitions
- Serwist - Progressive Web App framework
- browser-image-compression - Image processing
- jsPDF - PDF generation
- qrcode - QR code generation
- react-hook-form - Advanced form management
- Zod - TypeScript-first schema validation
- date-fns - Modern date utilities
- react-day-picker - Beautiful date picker component
- react-dropzone - Drag and drop file uploads
- Sonner - Elegant toast notifications
If you have questions or need help:
- 📖 Documentation: Check this README and our Wiki
- 🐛 Bug Reports: Create an issue
- 💡 Feature Requests: Start a discussion
- 💬 General Questions: Q&A Discussions
- 📧 Security Issues: security@toolifylab.com
- GitHub Discussions: Join conversations with other users and contributors
- GitHub Issues: Track bugs, features, and improvements
- Pull Requests: Contribute code and get feedback from maintainers
- Wiki: Detailed guides and documentation
- ⭐ Star this repo to show your support and stay updated
- 👁️ Watch releases and announcements
- 🔄 Fork to create your own version or contribute back
Help make ToolifyLab better for everyone:
- Answer questions in discussions
- Review pull requests
- Share ToolifyLab with others
- Report bugs and suggest improvements
- Contribute code, documentation, or translations
- ✨ Enhanced README with comprehensive open source documentation
- 🔒 Added security policy and vulnerability reporting guidelines
- 📜 Implemented Code of Conduct for community standards
- 🧪 Added testing infrastructure documentation
- 🚀 Improved deployment guides and platform support
- 📈 Created detailed roadmap for future development
- ❓ Added comprehensive FAQ section
- 🤝 Enhanced contributing guidelines with detailed setup instructions
- 🎨 Improved UI/UX with modern design patterns
- 📱 Enhanced mobile responsiveness
- ⚡ Performance optimizations
- 🛠️ Added new development tools and scripts
- 🆕 Added Password Generator tool
- 🔧 Improved tool organization and categorization
- 📊 Enhanced analytics and error tracking
- 🎯 Added Goal Tracker tool
- 💰 Enhanced financial tools with better calculations
- 🌐 Improved internationalization support
- 📄 Added professional Invoice Generator
- 🖼️ Implemented comprehensive Image Tools suite
- 🤖 Integrated AI-powered Prompt Generator
- 🏗️ Major architecture improvements
- 🎨 UI redesign with modern components
- 📱 PWA implementation for offline use
- ➕ Added multiple new calculation tools
- 🔄 Improved currency conversion accuracy
- 📊 Added data visualization components
- 🐛 Bug fixes and stability improvements
- 📈 Performance enhancements
- 🎯 Better user experience
- 🚀 Launch with 10 core tools
- 💻 Modern tech stack (Next.js, React, TypeScript)
- 🎨 Clean, responsive design
- 📱 Mobile-first approach
For older versions, see CHANGELOG.md or Releases
Visit the live application: ToolifyLab
Made with ❤️ using Next.js 15, React 19, TypeScript, and Tailwind CSS