โจ Features
๐ญ Character Management
- Unlimited custom characters
- Profile pictures & phone types
- Custom bubble colours
- Auto-create from CSV
๐ Message Editor
- Spreadsheet-style interface
- Drag & drop reordering
- Expandable workspace
- Resizable text fields
๐ CSV Import/Export
- Upload conversations
- Download as CSV
- Auto-character creation
- Sample included
๐ผ๏ธ Image Support
- Embed images in messages
- Multiple format support
- Proper bubble containment
- Preview before export
๐ฑ Realistic Styling
- iOS-inspired Design
- Android-style Layouts
- Modern Conversation Headers
- Group Chat Support
๐พ Project Management
- Browser storage saves
- JSON export/import
- Backup immunity
- Project archiving
๐ Quick Start
Ready in 3 Steps: Open the app โ Create characters โ Export screenshots!
-
Open the App
Simply open app.html in your browser
-
Create Characters
Click "+ Add Character" to create people in your conversation
-
Add Messages
Upload a CSV or click "+ Add Message" to add manually
-
Preview
Watch your conversation render in real-time in the phone preview
-
Export
Click "๐ธ Export Screenshots" to download!
๐ Usage Guide
1. Create Characters
Manual Creation:
- Click "+ Add Character"
- Fill in the form:
- Name: Display name (e.g., "Alice")
- Phone Number: Optional (e.g., "+1 555-0123")
- Phone Type: iOS or Android
- Message Bubble Colour: Custom colour for their group chat messages
- Profile Picture: Upload an avatar (optional)
- Click "Save"
Auto-Creation from CSV:
- Upload a CSV file with messages
- App automatically creates characters from "From" and "To" columns
- Characters get default settings (alternating iOS/Android, varied colours)
2. Add Messages
Using Spreadsheet Editor:
- Click "+ Add Message" for a new row
- Fill in the columns:
- Date: YYYY-MM-DD format
- Time: HH:MM format (24-hour)
- From: Select sender
- To: Select recipient(s)
- Text: Message content
- Image: Optional uploaded image
- Changes take effect automatically (Remember to save your project)
Pro Tip: Click and drag the โฎโฎ handle to reorder messages!
3. Upload Images
- Click "+ Upload Images" in the Images section
- Select one or more image files
- In the spreadsheet, select the image from the "Image" dropdown
4. Configure Settings
| Setting |
Options |
Description |
| Viewing As |
Character names |
Select whose phone perspective you're viewing from |
| Timestamps |
Natural / Every Time |
How timestamps are displayed |
| Platform |
Auto / iOS / Android |
Message style theme |
| Export Format |
PNG / JPG |
Screenshot file format |
๐ CSV Format Guide
Basic Format
Date,Time,From,To,Text,Image
2024-01-15,09:30,Alice,Bob,Hey! How are you?,
2024-01-15,09:32,Bob,Alice,I'm good! You?,
2024-01-15,09:33,Alice,Bob,Great! Want to grab lunch?,image1.jpg
Group Conversations
Keep the "To" column the same for all group members (unless it's from their point of view):
Date,Time,From,To,Text,Image
2024-01-15,10:00,Alice,Bob,Hey everyone!,
2024-01-15,10:01,Charlie,Bob,What's up?,
2024-01-15,10:15,Bob,Alice,Hi,image1.jpg
Important Notes
- Date Format: YYYY-MM-DD (e.g., 2024-01-15)
- Time Format: HH:MM in 24-hour format (e.g., 14:30 for 2:30 PM)
- Names: Must match character names exactly
- Empty Image: Leave blank if no image
โ๏ธ Advanced Settings
Viewing As
Select whose phone you're looking at. This changes which messages appear on the right (sent) vs left
(received).
- Auto (First Character): Uses the first character in your list
- Specific Character: Choose any character's perspective
Timestamp Modes
Natural:
- Shows timestamps only when messages are 5+ minutes apart
- Clean, minimal look
- Formats as "Today 2:30 PM", "Yesterday", etc.
Every Time:
- Shows small timestamp under each bubble
- Styled like "delivered/read" indicators
- Perfect for detailed documentation
Expandable Editor Mode
Click โคข Expand to maximize workspace:
- Message editor takes 80% of screen
- Text fields become resizable
- Character/Image sections minimize
- Perfect for editing long conversations
๐ธ Exporting Screenshots
Export Process
- Ensure your messages are set up correctly
- Click "๐ธ Export Screenshots"
- App generates screenshots:
- Divides conversation into phone-sized pages
- Captures at 2x resolution (high quality)
- Bundles into ZIP if multiple pages
- Download completes automatically
Note: Long conversations are automatically split into multiple screenshots to simulate
scrolling through a real phone.
Project Management
Click "๐พ Project โพ" to access:
- โ Save to Browser Storage - Quick local saves
- โ Load from Browser Storage - Restore your work
- โ Clear Saved Data - Fresh start (refresh your page
after this to clear everything)
- โ Export Project (.json) - Download full project as
backup
- โ Import Project (.json) - Restore from JSON file
โ ๏ธ Storage Size Limitation: Browser storage has a size limit (typically 5-10MB). If
you've added images to your project, saving to browser storage may fail. In these cases, use
Export Project (.json) instead to save your work as a downloadable file.
Pro Tip: Export JSON files regularly for backups that survive browser cache clearing!
๐ Troubleshooting
Messages Not Appearing?
- โ Create characters with matching names from messages
- โ Check CSV column headers are correct:
Date,Time,From,To,Text,Image
- โ Verify date format is YYYY-MM-DD
Export Not Working?
- โ Ensure messages exist in the preview
- โ Try refreshing the page
- โ Check browser console (F12) for errors
- โ Allow pop-ups and downloads in browser settings
Images Not Showing?
- โ Upload image first before adding to message
- โ Check filename matches exactly (case-sensitive)
- โ Supported formats: JPG, PNG, GIF, WebP
- โ Try re-uploading the image
Save/Load Issues?
- โ Enable LocalStorage in browser settings
- โ Private/Incognito mode may disable storage
- โ Check storage quota (typically 5-10MB limit)
- โ Use JSON export/import as alternative
๐ง Technical Details
Technologies
- Pure HTML5, CSS3, JavaScript - No framework dependencies
- Client-Side Only - Zero server communication
- Modern Browser APIs - FileReader, LocalStorage, Canvas
External Libraries (CDN)
| Library |
Purpose |
| html2canvas |
Screenshot generation |
| JSZip |
ZIP file creation |
| FileSaver.js |
File downloads |
| PapaParse |
CSV parsing |
Browser Requirements
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
๐ฏ Use Cases
Creative Writing
Visualize character dialogues for novels and scripts
UI/UX Design
Mock up messaging interfaces for presentations
Social Media
Create engaging content for posts and stories
Education
Demonstrate communication scenarios in training
Entertainment
Make funny text pranks, memes and stories
Prototyping
Test messaging app designs and flows
๐ฎ Roadmap
Future features being considered:
- Read receipts and "typing..." indicators
- Voice message bubbles
- Undo/Redo functionality
- Keyboard shortcuts
- Dark mode