Community Meetings

Your voice matters - join us at our monthly community meetings

Join our community • $20 annual membership

Next Meeting

Date & Time

Loading...
6:30 PM - 8:00 PM

Location

AJ's On Hanover
2nd Floor
1500 S Hanover St

Meeting Format

In-Person Only
All community members
welcome to attend

Meeting Schedule & Information

Regular Schedule
  • Frequency: Second Tuesday of each month
  • Time: 6:30 PM - 8:00 PM
  • Location: AJ's On Hanover, 2nd Floor
  • Address: 1500 S Hanover St, Baltimore, MD
  • Format: In-person meetings only
Meeting Guidelines
  • Open to: All residents and community members
  • Public Comment: Encouraged
  • Sign-up: Not required, but welcomed
  • Minutes: Published within 1 week of meeting

Meeting Agendas

Review upcoming and past meeting agendas to stay informed about community issues.

January 2026 - Upcoming

Date: January 14, 2026

Key Topics:

  • Guest Speaker: Turrell Brooks
  • BGE Key Highway Project updates
  • St. Patrick's Day Irish Stroll planning
  • Committee reports: Public Safety, Design & Development
Download Agenda
December 2025

Status: No meeting held in December

Note: SBNA does not hold meetings in December to allow members to enjoy the holiday season with their families.

November 2025 - Completed

Date: November 11, 2025

Status: Meeting completed - Minutes available

Key Topics Discussed: BPD crime statistics, St. Patrick's Day block party planning, porch piracy prevention, Entertainment District updates

View Meeting Minutes
October 2025 - Completed

Date: October 14, 2025

Status: Meeting completed - Minutes available

Key Topics Discussed: Sheriff's Office New Unit presentation, Federal Hill-O-Ween coordination, Camera Network expansion

View Meeting Minutes
September 2025 - Completed

Date: September 10, 2025

Status: Meeting completed - Minutes available

Key Topics Discussed: Car break-ins, website launch, Entertainment District enforcement, cleanup coordination

View Meeting Minutes
July 2025

Date: July 9, 2025

Status: Meeting held - Agenda not archived

Note: Meeting was held in July 2025. The agenda was not archived but meeting minutes are available.

View Meeting Minutes
June 2025

Date: June 11, 2025

Status: Meeting held - Agenda not archived

Note: Meeting was held in June 2025. The agenda was not archived but meeting minutes are available.

View Meeting Minutes (Opens PDF in new window)

Meeting Minutes Archive

Complete historical record of SBNA community meetings (2011-2026). Official minutes document our decisions, action items, and community discussions.

Search both page content and PDF documents. Try: "parking", "sheriff", "safety", "zoning", "budget"
2026 Meeting Minutes (Current Year)
January 2026 Minutes (HTML) Final - 2026 Planning & Community Updates Download PDF
February 2026 Minutes Meeting scheduled for February 2026

Historical Meeting Minutes Archive

Click on any year to view available meeting minutes. Archive contains historical records from 2011 to 2025.

November 2025 Minutes (HTML) Final - BPD Crime Stats, St. Patrick's Block Party & Porch Piracy Updates Download PDF
October 2025 Minutes (HTML) Final - Sheriff's Office New Unit, Federal Hill-O-Ween & Camera Network Updates Download PDF
September 2025 Minutes (HTML) Final - Car Break-ins, Website Launch & Sheriff's Office Updates Download PDF
August 2025 Minutes No meeting held in August
July 2025 Minutes (HTML) Final - Summer Programs & Safety Initiatives Download PDF
June 2025 Minutes (HTML) Final - Community Garden & Youth Programs Download PDF
May 2025 Minutes (HTML) Final - Spring Events & Budget Review Download PDF
April 2025 Minutes (HTML) Final - Spring Cleanup & Community Garden Download PDF
March 2025 Minutes (HTML) Final - Neighborhood Watch & Spring Planning Download PDF
February 2025 Minutes (HTML) Final - Development Projects & Spring Events Download PDF
January 2025 Minutes (HTML) Final - 2025 Goals & Budget Report Download PDF
December 2025 Minutes No meeting held in December
2024 Meeting Minutes Status: No meeting minutes are currently available for 2024. If minutes become available, they will be posted here following our standard schedule.
November 2024 Minutes Minutes not available
October 2024 Minutes Minutes not available
September 2024 Minutes Minutes not available
August 2024 Minutes No meeting held in August
July 2024 Minutes Minutes not available
June 2024 Minutes Minutes not available
May 2024 Minutes Minutes not available
April 2024 Minutes Minutes not available
March 2024 Minutes Minutes not available
February 2024 Minutes Minutes not available
January 2024 Minutes Minutes not available
December 2024 Minutes No meeting held in December
March 2023 Minutes General Membership Meeting
February 2023 Minutes General Membership Meeting
January 2023 Minutes General Membership Meeting
December 2023 Minutes No meeting held in December
November 2023 Minutes Minutes not available
October 2023 Minutes Minutes not available
September 2023 Minutes Minutes not available
August 2023 Minutes No meeting held in August
July 2023 Minutes Minutes not available
June 2023 Minutes Minutes not available
May 2023 Minutes Minutes not available
April 2023 Minutes Minutes not available
Complete Historical Archive (2022 & Earlier)

Load historical meeting minutes from 2022, 2018, 2017, 2016, 2015, and earlier years (2011-2014). Access the complete historical record of SBNA community meetings.

Special Meetings & Events

In addition to our regular monthly meetings, we occasionally hold special meetings for urgent matters or special events.

Emergency Meetings

Called when urgent community issues require immediate attention. All residents are notified via email, phone, and social media.

Community Events

Planning meetings for special events like our annual picnic, holiday celebrations, and community improvement projects.

Join Our Next Meeting

Your participation makes our community stronger. Every voice matters!

Membership: $20/year • Supports all community programs

const currentYear = now.getFullYear(); const currentMonth = now.getMonth(); // Function to find the second Tuesday of a given month/year function getSecondTuesday(year, month) { const firstDay = new Date(year, month, 1); const firstTuesday = new Date(firstDay); // Find the first Tuesday of the month while (firstTuesday.getDay() !== 2) { // Tuesday = 2 firstTuesday.setDate(firstTuesday.getDate() + 1); } // Add 7 days to get the second Tuesday const secondTuesday = new Date(firstTuesday); secondTuesday.setDate(firstTuesday.getDate() + 7); secondTuesday.setHours(18, 30, 0, 0); // Set to 6:30 PM return secondTuesday; } // Get this month's second Tuesday let nextMeeting = getSecondTuesday(currentYear, currentMonth); // If this month's meeting has already passed, get next month's if (nextMeeting <= now) { if (currentMonth === 11) { // December nextMeeting = getSecondTuesday(currentYear + 1, 0); // January of next year } else { nextMeeting = getSecondTuesday(currentYear, currentMonth + 1); } } return nextMeeting; } function updateMeetingInfo() { const nextMeeting = calculateNextMeetingDate(); // Format the date const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; const formattedDate = nextMeeting.toLocaleDateString('en-US', options); // Update the date display const dateElement = document.getElementById('next-meeting-date'); if (dateElement) { dateElement.textContent = formattedDate; } // Calculate and display countdown updateCountdown(nextMeeting); } function updateCountdown(meetingDate) { const now = new Date(); const timeDiff = meetingDate - now; if (timeDiff <= 0) { document.getElementById('meeting-countdown').innerHTML = 'Meeting is today or has passed - calculating next meeting...'; // Recalculate in case the meeting just passed setTimeout(updateMeetingInfo, 1000); return; } const days = Math.floor(timeDiff / (1000 * 60 * 60 * 24)); const hours = Math.floor((timeDiff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60)); let countdownText = ''; if (days > 0) { countdownText = `${days} day${days !== 1 ? 's' : ''} until next meeting`; } else if (hours > 0) { countdownText = `${hours} hour${hours !== 1 ? 's' : ''} until meeting`; } else { countdownText = `Meeting starts in ${minutes} minute${minutes !== 1 ? 's' : ''}!`; } document.getElementById('meeting-countdown').innerHTML = countdownText; } // Meeting Minutes Archive Functionality function showAllYears() { // Show the hidden additional years const additionalYears = document.getElementById('additional-years'); const buttonContainer = document.getElementById('load-button-container'); const button = document.querySelector('button[onclick="showAllYears()"]'); if (additionalYears && buttonContainer && button) { // Change button to loading state button.innerHTML = 'Loading Historical Years...'; button.disabled = true; // Simulate loading delay for better UX setTimeout(() => { // Show the additional years additionalYears.style.display = 'block'; // Update button to success state button.innerHTML = 'All Historical Years Loaded'; button.classList.remove('btn-light'); button.classList.add('btn-success'); // Scroll to the newly loaded content additionalYears.scrollIntoView({ behavior: 'smooth', block: 'start' }); // Initialize collapse functionality for newly added elements initializeNewCollapseElements(); }, 800); // 800ms delay for loading effect } } // Initialize collapse functionality for newly loaded elements function initializeNewCollapseElements() { const newToggleButtons = document.querySelectorAll('#additional-years .minutes-year-toggle'); newToggleButtons.forEach(button => { const target = document.querySelector(button.getAttribute('data-bs-target')); const icon = button.querySelector('.fas'); if (target && icon) { target.addEventListener('show.bs.collapse', () => { icon.classList.remove('fa-chevron-right'); icon.classList.add('fa-chevron-down'); }); target.addEventListener('hide.bs.collapse', () => { icon.classList.remove('fa-chevron-down'); icon.classList.add('fa-chevron-right'); }); } }); } // Initialize when page loads document.addEventListener('DOMContentLoaded', function() { updateMeetingInfo(); // Update countdown every minute setInterval(function() { const nextMeeting = calculateNextMeetingDate(); updateCountdown(nextMeeting); }, 60000); // Handle collapse icon rotation for minutes const minutesToggleButtons = document.querySelectorAll('.minutes-year-toggle'); minutesToggleButtons.forEach(button => { const target = document.querySelector(button.getAttribute('data-bs-target')); const icon = button.querySelector('.fas'); if (target && icon) { target.addEventListener('show.bs.collapse', () => { icon.classList.remove('fa-chevron-right'); icon.classList.add('fa-chevron-down'); }); target.addEventListener('hide.bs.collapse', () => { icon.classList.remove('fa-chevron-down'); icon.classList.add('fa-chevron-right'); }); } }); });