Skip to main content
EmptyClassroom Hero Light

Welcome to EmptyClassroom

EmptyClassroom is a real-time classroom availability platform designed specifically for Boston University students. Find the perfect quiet space to study across campus by viewing live availability for 77 classrooms in CAS and CGS buildings.

Core Features

Real-Time Availability

View all available time slots for each classroom throughout the day, updated automatically every minute

Smart Search

Search by building code (CAS, CGS), room number, or both with intelligent matching

Live Data Refresh

Refresh classroom data on-demand to get the latest availability from BU’s scheduling system

77 Classrooms

Coverage across College of Arts & Sciences and College of General Studies buildings

How It Works

EmptyClassroom fetches data from Boston University’s room reservation system and intelligently calculates available time slots based on:
  • Official class schedules
  • Room reservations and bookings
  • Building operating hours (CAS: 7am-11pm, CGS: 7am-9:30pm)
  • Minimum viable study time (30+ minute gaps)
Important: Displayed availability reflects official schedules only. Rooms may occasionally be occupied by unofficial meetings or study groups.

Coverage

College of Arts & Sciences (CAS)

  • Operating Hours: 7:00 AM - 11:00 PM
  • Classrooms: 54 rooms across multiple floors
  • Includes: Lecture halls, seminar rooms, and specialized spaces like the Tsai Performance Center

College of General Studies (CGS)

  • Operating Hours: 7:00 AM - 9:30 PM
  • Classrooms: 23 rooms optimized for smaller class sizes
  • Includes: Standard classrooms and divisible spaces

Technical Stack

// Next.js 15 with TypeScript
// Real-time updates using React hooks

const [buildings, setBuildings] = useState<OpenClassroomsResponse | null>(null);
const [lastUpdated, setLastUpdated] = useState<string | null>(null);

useEffect(() => {
  const fetchData = async () => {
    const response = await fetch('/api/open-classrooms');
    const data = await response.json();
    setBuildings(data.buildings);
    setLastUpdated(data.last_updated);
  };
  fetchData();
}, []);

Get Started

Quickstart Guide

Learn how to find your first empty classroom in under 2 minutes

API Reference

Explore the API endpoints powering EmptyClassroom

Building Guide

View detailed information about each building and its classrooms

GitHub Repository

Contribute to the project or report issues on GitHub

Community & Support

Have a feature request or found a bug? We’d love to hear from you!

Build docs developers (and LLMs) love