Back to battles
mediumupcoming

Event Scheduler

Schedule events with availability, reminders, and conflict detection.

30 min limit0 participants
javascriptcssproductivity
PRD
# Event Scheduler PRD

## Overview
Build an event scheduling application with a week view time grid, conflict detection, recurring events, browser notifications for reminders, and import/export capabilities.

## Requirements
- Create events with title, date, start time, end time, location, description, and color
- Week view displaying a time grid with events rendered as blocks
- Conflict detection that highlights overlapping events visually
- Drag to resize events to change their duration
- Drag to move events to a different time slot or day
- Recurring events with options for daily, weekly, monthly, or custom recurrence
- Reminders using the browser Notification API at a configurable time before the event
- Event categories with distinct color coding
- Search events by title, location, or description text
- Filter events by category to show only selected types
- Attendee list per event with names
- Availability view showing free and busy time blocks for the week
- Import events from a JSON file
- Export events as JSON or iCal format
- Timezone display showing the current timezone
- Responsive design for desktop and mobile
- Persist all events and settings to localStorage

## Tech Stack
- HTML, CSS, JavaScript (vanilla or any framework)
- No calendar or scheduling libraries — build the time grid and event logic yourself

## Scoring Criteria
- **Functional (40%)**: Event creation, week view rendering, and drag interactions work correctly
- **Quality (20%)**: Clean code, handles edge cases (midnight-spanning events, overlapping drags), smooth UX
- **Fidelity (25%)**: All features implemented including recurring events, reminders, import/export, availability view
- **Speed (15%)**: Time bonus

Battle Stats

Time Limit30 min
Participants0
Statusupcoming

Rules

  • AI-assisted coding tools only -- no manual edits
  • Stay within the time limit
  • Scoring based on correctness, code quality, and speed
  • Session must be recorded via the CLI