A simple offline clientside webapp to manage sewing measurements and patterns.
This application embodies a privacy-first, minimal-dependency philosophy:
- Fully offline: Everything runs locally in your browser. No data is sent to any server.
- No data collection: Your measurements and projects remain yours alone.
- No external dependencies: Built with pure HTML, CSS, and JavaScript. No frameworks or libraries required.
- No setup needed: Open the app in your browser and start using it immediately.
-
Get the launcher file
- Download
launcher.htmlfrom the GitHub repository - If someone shared the app with you, they should have provided this file
- Save it to a convenient location on your computer
- Download
-
First-time setup
- Open
launcher.htmlin your web browser (double-click the file or right-click and select "Open with" > your preferred browser) - Important: You need an internet connection for the first launch only
- The launcher will automatically download and install the app files
- This may take a moment depending on your connection speed
- Once complete, the app will open automatically
- Open
-
Using the app after installation
- Simply open
launcher.htmlin your browser whenever you want to use the app - No internet connection required after the initial download
- The app works completely offline
- Simply open
-
Automatic updates
- The launcher checks for updates every 7 days when you open it
- If an update is available, you'll be prompted to download it
- Updates require a brief internet connection
- You can choose to update now or continue with your current version
- All your data remains safe during updates
Because this app works offline and respects privacy, you can easily share it:
-
Share the launcher file
- Simply give the
launcher.htmlfile to anyone you want to share the app with - They can use it on their own computer following the Installation instructions above
- Each person gets their own independent copy with their own data
- Simply give the
-
What recipients need
- A modern web browser (Chrome, Firefox, Safari, or Edge)
- Internet connection for the initial download only
- No special software, accounts, or technical knowledge required
-
Privacy considerations
- Each installation is completely independent
- No data is shared between users
- No central server tracks who uses the app
- Recipients' measurements and projects remain private on their own computer
-
Sharing tips
- Include a link to this README for detailed instructions
- Mention that internet is only needed once for the initial setup
- Remind users that the app works completely offline after installation
- Open the app
- Start the app by opening
launcher.htmlin your browser - If it's your first time, the app will download and set up automatically
- Once the app is open, you can begin entering your measurements and managing your patterns
- Start the app by opening
- Access the measurements section
- Enter body measurements in the provided form
- Choose between metric (cm) and imperial (inches) units
- The app includes reference standard measurements you can use as a starting point
- Use the converter tool to transform measurements between different units
- Use the scaler to adjust patterns to your size
- All calculations happen instantly in your browser
- Save your projects locally using the built-in saver
- Your data is stored on your computer, not on any server
- You can download and import your projects as needed
- Apply your customized measurements to sewing patterns
- Print or view patterns digitally
- All modifications remain private and local to your device
The app supports English and French languages. Select your preferred language from the interface.
sewing_tools/
├── app/
│ ├── index.html # Main entry point
│ ├── css/ # Stylesheets
│ │ ├── styles.css # Main styles
│ │ └── dragdrop.css # Drag-and-drop functionality styles
│ ├── js/ # JavaScript files
│ │ ├── app.js # Main application logic
│ │ ├── dragdrop.js # Drag-and-drop implementation
│ │ └── i18n.js # Internationalization
│ ├── data/ # Reference data
│ │ ├── standard-female-measurements.json
│ │ └── standard-male-measurements.json
│ ├── locales/ # Language files
│ │ ├── en.json # English translations
│ │ └── fr.json # French translations
│ └── modules/ # Feature modules
│ ├── converter/ # Unit conversion
│ ├── form/ # Measurement input forms
│ ├── pattern/ # Pattern management
│ ├── saver/ # Save/export functionality
│ ├── scaler/ # Pattern scaling
│ └── solver/ # Calculation engine
├── launcher.html # Launcher for first-time setup and updates
├── LICENSE # License file
└── README.md # This file
- HTML5: Structure and layout
- CSS3: Styling and responsive design
- Vanilla JavaScript (ES6+): All interactivity and logic
- No frameworks, no build tools, no package managers: Run as-is
- Clientside Processing: All operations happen in your browser
- Local Storage: Data is optionally stored in your browser's local storage
- JSON Data Files: Reference measurements and translations are loaded as static JSON files
- Modular Architecture: Features are organized into self-contained modules for maintainability
If you want to modify or extend the app:
- Create a new file in
app/locales/(e.g.,es.jsonfor Spanish) - Follow the structure of existing language files (e.g.,
en.json) - Update the language selector in the UI to include the new language
- The app uses the
i18n.jsmodule to manage translations
- Create a new folder in
app/modules/with your feature name - Create three files:
module-name.js- Core logicmodule-name.css- Stylingmodule-name.html(if needed) - HTML template
- Follow the module pattern used in existing modules
- Import and initialize your module in
app.js
- Edit
app/js/app.jsfor main application behavior - Edit specific module files for feature-specific logic
- Clear your browser cache if changes don't appear (or use a private/incognito window)
- Edit the JSON files in
app/data/to add or update standard measurements - Follow the existing structure for consistency
- The app automatically loads these on startup
- Works on all modern browsers (Chrome, Firefox, Safari, Edge)
- Requires JavaScript enabled
- No special browser extensions needed
- This app does not require internet connectivity after initial load
- All files are included in the repository
- No third-party CDNs or APIs are used
If you have improvements or bug fixes, feel free to contribute:
- Fork the repository
- Make your changes
- Submit a pull request with a clear description of what you've improved
See the LICENSE file for details.