pback
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v17View latest version
A professional-grade web application for creating stunning image-textured typography with Apple-inspired design and advanced customization tools.
- Dynamic text input with real-time preview
- 25+ premium font families including system fonts
- Font size range: 20-500px with fine control
- Font weight options (100-900) with intermediate values
- Letter spacing and line height adjustments
- Text alignment options (left, center, right, justify)
- Multi-line text support with line breaks
- Text case transformations (uppercase, lowercase, capitalize)
- Text decoration options (underline, strikethrough)
- Advanced text metrics and baseline controls
- Drag & drop image upload with visual feedback
- Support for PNG, JPG, JPEG, GIF, WebP, SVG, AVIF
- Image positioning controls (fit, fill, stretch, tile, custom)
- Brightness, contrast, saturation, and hue adjustments
- Image rotation (0-360°) and flip options
- Blur, sharpen, and noise filters
- Color overlay effects with blend modes
- Image cropping and aspect ratio controls
- Batch image processing capabilities
- Image optimization and compression
- Multi-layer shadow system with unlimited shadows
- Stroke/outline effects with gradient support
- Glow and inner shadow effects
- Bevel and emboss with lighting controls
- Pattern overlays and texture mapping
- Distortion effects (perspective, warp, bulge)
- Animation keyframe system
- Particle effects and dynamic backgrounds
- 3D text rendering with depth and lighting
- Custom filter chains and presets
- Apple-inspired gradient presets (50+ options)
- Custom gradient builder with unlimited stops
- Color picker with HSL, RGB, HEX, and LAB support
- Eyedropper tool for sampling colors from images
- Color harmony generator (complementary, triadic, etc.)
- Accessibility contrast checking (WCAG AA/AAA)
- Color blindness simulation
- Palette management and saving
- Color temperature adjustments
- Advanced color mixing and blending
- Multiple export formats (PNG, JPG, SVG, PDF, WebP)
- Custom resolution settings (1x to 10x for ultra-high DPI)
- Transparent background options
- Batch export with different settings
- Project save/load functionality (JSON format)
- Social media optimized presets
- Print-ready export options
- Vector format preservation
- Lossless compression options
- Cloud storage integration
- Real-time canvas manipulation with zoom and pan
- Undo/Redo system (unlimited history)
- Keyboard shortcuts for power users
- Touch gestures for mobile devices
- Grid and ruler overlays with snapping
- Layer management system
- Non-destructive editing workflow
- Live collaboration features
- Version control and branching
- Plugin system for custom effects
├── backend/
│ └── index.ts # Hono server with static file serving
├── frontend/
│ ├── index.html # Apple-inspired HTML template
│ ├── index.tsx # React entry point
│ ├── components/
│ │ └── App.tsx # Main application with advanced features
│ └── style.css # Apple design system CSS
├── shared/
│ ├── utils.ts # Shared utility functions
│ └── README.md # Shared utilities documentation
└── README.md
- Backend: Hono (TypeScript) with static file serving
- Frontend: React 18.2.0 with TypeScript and Hooks
- Styling: Custom Apple-inspired CSS with CSS variables
- Canvas: HTML5 Canvas with advanced 2D rendering
- Design: Glass morphism, blur effects, and smooth animations
- Glass Morphism: Translucent panels with backdrop blur
- Apple Color Palette: Official iOS/macOS colors and gradients
- SF Pro Display: Apple's system font with fallbacks
- Smooth Animations: 60fps transitions with cubic-bezier easing
- Depth & Shadows: Layered interface with realistic shadows
- Intuitive Controls: Familiar iOS/macOS interaction patterns
- Haptic Feedback: Visual feedback for all interactions
- Keyboard Shortcuts: Power user features (⌘Z, ⌘Y)
- Touch Gestures: Mobile-optimized touch interactions
- Progressive Disclosure: Advanced features revealed contextually
- Multi-line Support: Automatic line breaks and spacing
- Advanced Metrics: Precise font measurement and positioning
- Letter Spacing: Fine-grained character spacing control
- Line Height: Customizable line spacing for readability
- Font Loading: Optimized web font loading with fallbacks
- Multiple Formats: PNG, JPG, GIF, WebP, SVG support
- Real-time Filters: Brightness, contrast, saturation, blur
- Transform Matrix: Rotation, scaling, and flipping
- Positioning Modes: Fit, fill, stretch, and tile options
- Performance: Optimized canvas operations for smooth interaction
- Drop Shadows: Customizable color, blur, and offset
- Text Strokes: Adjustable width and color outlines
- Blend Modes: 16 different compositing operations
- Opacity Control: Fine-grained transparency settings
- Layer System: Non-destructive effect stacking
- Apple Gradients: Curated collection of iOS/macOS gradients
- Custom Builder: Multi-stop gradient creation
- Color Harmony: Automatic color scheme suggestions
- Accessibility: WCAG contrast ratio checking
- Live Preview: Real-time gradient manipulation
- Multiple Formats: PNG, JPG with quality options
- Retina Support: 1x, 2x, 3x resolution exports
- Transparent Backgrounds: Alpha channel preservation
- Custom Dimensions: Flexible canvas sizing
- Batch Export: Multiple format/resolution exports
- Undo/Redo: 20-step history with efficient state management
- Debounced Updates: Smooth real-time preview without lag
- Memory Management: Efficient canvas and image handling
- Progressive Loading: Optimized asset loading
- Error Boundaries: Graceful error handling and recovery
- Upload Image: Drag & drop or click to select an image
- Enter Text: Type your desired text (supports line breaks)
- Customize: Use the tabbed interface to adjust settings
- Export: Download in your preferred format and resolution
- Keyboard Shortcuts: Use ⌘Z/⌘Y for undo/redo
- Multi-line Text: Press Enter for line breaks
- Color Sampling: Use the eyedropper to sample colors from images
- Gradient Presets: Start with Apple-inspired gradient presets
- High-DPI Export: Use 2x or 3x for crisp prints and displays
- Safari: Full support with optimal performance
- Chrome: Full support with hardware acceleration
- Firefox: Full support with minor performance differences
- Edge: Full support on Chromium-based versions
- Mobile: Optimized for iOS Safari and Chrome Mobile
- Canvas Pooling: Reuse canvas contexts for better performance
- Debounced Rendering: Smooth updates without blocking UI
- Memory Management: Automatic cleanup of image resources
- Progressive Enhancement: Core features work without advanced APIs
- Lazy Loading: Load resources only when needed