Skip to content

Latest commit

 

History

History
84 lines (70 loc) · 3.03 KB

File metadata and controls

84 lines (70 loc) · 3.03 KB

iresized.com Development Progress

Completed

Foundation

  • Core resize tool with aspect ratio locking
  • Quality slider and format selection (JPEG/PNG/WebP)
  • Drag-and-drop file upload
  • Vintage UI styling with self-hosted fonts
  • Security headers via vercel.json (strict CSP)
  • Cowboy hat favicon
  • GitHub contribution system (issue templates)
  • "Suggest a Feature" link in footer
  • Vercel Web Analytics

Phase 1: Zero-Dependency Tools

  • Tab navigation UI
  • Compress Only - Reduce file size without changing dimensions
  • Strip EXIF/Metadata - Remove GPS, camera info, timestamps
  • Image Cropper - Interactive crop with aspect ratio presets
    • Enhanced: drag-to-move selection
    • Enhanced: resize handles on corners and edges
    • Enhanced: persistent selection when changing aspect ratio
    • Enhanced: cursor feedback for interaction mode
  • Custom Filename - Rename files before download (all tools)

Phase 2: Self-Hosted Dependencies

  • HEIC Converter - Convert iPhone HEIC/HEIF to JPEG/PNG/WebP
    • Batch conversion with ZIP download
    • Quality slider, 50MB per file limit
    • Self-hosted heic2any (~1.3MB)
  • Bulk Rename - Pattern-based renaming with batch download
    • Patterns: {n}, {name}, {date}
    • 100 file limit, 500MB total limit
    • Self-hosted JSZip (~97KB)

Phase 3: ML-Based

  • Background Remover - AI-powered background removal
    • Self-hosted MediaPipe Selfie Segmentation (~11.5MB)
    • CSP updated: added 'wasm-unsafe-eval' to script-src
    • Security: 2048x2048 max input, 30s timeout, 50MB file limit
    • All processing remains client-side

Security Checklist (All Tools)

Control Status
Input validation (validatePositiveInt()) ✅
Filename sanitization (path traversal blocked) ✅
Memory cleanup (cleanupCanvas()) ✅
Error isolation (safeExecute()) ✅
Display safety (textContent only) ✅
Strict CSP headers ✅
No inline scripts/styles ✅
Self-hosted fonts (no external requests) ✅
SRI hashes for dependencies ✅

Commits

Hash Description
45aa3ac Add missing MediaPipe loader files for Background Remover
71ed909 Add Phase 3 Background Remover + SRI hashes + test suite
45ee756 Add Phase 2 tools: HEIC Converter and Bulk Rename
006b2ac Add custom filename option for all tools
d5e8cb8 Update progress.md with analytics and recent commits
3abfee8 Add Vercel Web Analytics
d15b583 Add progress.md tracking completed and upcoming tasks
4b9b4df Enhance crop tool with movable selection and resize handles
b1a08c1 Add Phase 1 image tools: Compress, Crop, Strip EXIF
aca95ec Replace EST badge with red FREE stamp
96ecdff Rebrand to iresized.com
fe8e385 Add contribution system with GitHub Issues
b388d26 Add cowboy hat favicon

Repository

https://github.com/Pricing-Logic/ImageResizerFree