photocal
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: v1View latest version
A mobile-optimized app that extracts event information from photos of flyers and posters.
- Mobile-optimized photo upload (camera or gallery)
- Automatic image resizing for storage efficiency
- AI-powered title and date extraction from flyers/posters
- Calendar event generation (.ics file download)
- Photo storage and viewing
├── backend/
│ ├── index.ts # Main Hono server
│ ├── routes/
│ │ ├── upload.ts # Photo upload and processing
│ │ ├── calendar.ts # ICS file generation
│ │ └── static.ts # Static file serving
│ └── utils/
│ ├── image.ts # Image processing utilities
│ └── ai.ts # AI analysis utilities
├── frontend/
│ ├── index.html # Main HTML template
│ ├── index.tsx # Frontend React app
│ ├── components/
│ │ ├── App.tsx # Main app component
│ │ ├── UploadForm.tsx # Photo upload form
│ │ └── EventDisplay.tsx # Event details display
│ └── style.css # Custom styles
└── shared/
└── types.ts # Shared TypeScript types
- Open the app on mobile
- Take a photo or upload an image of a flyer/poster
- Wait for AI analysis to extract title and date
- Review the extracted information
- Tap "Add to Calendar" to download the .ics file