import { useState, useEffect } from 'react' import { RocketLaunchIcon, ChartBarIcon, BuildingLibraryIcon, GlobeAltIcon, ArrowRightIcon, CheckCircleIcon, DocumentTextIcon, CodeBracketIcon, EnvelopeIcon, Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline' const datasets = [ { name: 'Nonprofit Organizations', records: '1.95M', url: 'https://huggingface.co/datasets/CommunityOne/one-nonprofits-organizations', icon: BuildingLibraryIcon }, { name: 'Nonprofit Financials', records: '1.95M', url: 'https://huggingface.co/datasets/CommunityOne/one-nonprofits-financials', icon: ChartBarIcon }, { name: 'Nonprofit Programs', records: '1.95M', url: 'https://huggingface.co/datasets/CommunityOne/one-nonprofits-programs', icon: DocumentTextIcon }, { name: 'Nonprofit Locations', records: '1.95M', url: 'https://huggingface.co/datasets/CommunityOne/one-nonprofits-locations', icon: GlobeAltIcon }, { name: 'Public Meetings Calendar', records: '153K', url: 'https://huggingface.co/datasets/CommunityOne/one-meetings-calendar', icon: RocketLaunchIcon } ] const features = [ { title: '90,000+ Jurisdictions', description: 'Cities, counties, and state governments' }, { title: '1.95M Nonprofits', description: 'Organizations with complete data' }, { title: '153K+ Public Meetings', description: 'Agendas and transcripts' }, { title: 'Open Source & Free', description: 'MIT License, accessible to all' } ] function App() { const [activeSection, setActiveSection] = useState('home') const [mobileMenuOpen, setMobileMenuOpen] = useState(false) // Smooth scroll to section const scrollToSection = (sectionId: string) => { setActiveSection(sectionId) setMobileMenuOpen(false) const element = document.getElementById(sectionId) if (element) { const offset = 80 // Account for sticky header const elementPosition = element.getBoundingClientRect().top const offsetPosition = elementPosition + window.pageYOffset - offset window.scrollTo({ top: offsetPosition, behavior: 'smooth' }) } } // Track active section on scroll useEffect(() => { const handleScroll = () => { const sections = ['home', 'datasets', 'about'] const scrollPosition = window.scrollY + 150 for (const section of sections) { const element = document.getElementById(section) if (element) { const { offsetTop, offsetHeight } = element if (scrollPosition >= offsetTop && scrollPosition < offsetTop + offsetHeight) { setActiveSection(section) break } } } } window.addEventListener('scroll', handleScroll) return () => window.removeEventListener('scroll', handleScroll) }, []) return (
Comprehensive platform for discovering, analyzing, and tracking local government activities, nonprofit organizations, and civic engagement opportunities across the United States.
High-quality, regularly-updated civic data for research and analysis
All datasets are free to use under MIT License
View All on HuggingFaceCommunityOne provides open-source tools and data for civic engagement, local government transparency, and nonprofit discovery across the United States.
Making civic data accessible, usable, and actionable for:
Powered by open data from IRS, Census Bureau, local governments, and civic tech partners.