-
Notifications
You must be signed in to change notification settings - Fork 26
Hack #174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hack #174
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,216 @@ | ||
| --- | ||
| layout: events | ||
| title: "Civic Hack DC 2025" | ||
| date: 2025-07-26 | ||
| location: "Washington DC" | ||
| url: /civichackdc | ||
| description: | | ||
| A data hackathon to build open-source tools for analyzing public comments on regulations. Join us for a day of civic innovation! | ||
| --- | ||
| <style> | ||
|
|
||
| * { margin: 0; padding: 0; box-sizing: border-box; } | ||
| body { font-family: 'Source Sans Pro Web', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; line-height: 1.6; color: #333; } | ||
| .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } | ||
|
|
||
| .hero { background: linear-gradient(0deg, #104377); color: white; padding: 4rem 0; text-align: center; } | ||
| .hero h1 { font-size: 3.5rem; font-weight: bold; margin-bottom: 1rem; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); } | ||
| .hero-banner { background: rgba(255,255,255,0.1); padding: 1rem 2rem; border-radius: 10px; margin: 2rem auto; max-width: 600px; backdrop-filter: blur(10px); } | ||
|
|
||
| .section { padding: 3rem 0; } | ||
| .section.alt { background: #f8f9fa; } | ||
| .section-title { text-align: center; font-size: 2.5rem; margin-bottom: 2rem; color: #333; } | ||
|
|
||
| .cta-buttons { display: flex; gap: 1rem; justify-content: center; margin-top: 2rem; } | ||
| .btn { padding: 12px 30px; border: none; border-radius: 25px; font-weight: 600; text-decoration: none; display: inline-block; transition: all 0.3s; cursor: pointer; } | ||
| .btn-secondary { background: #f8f9fa; color: #333; border: 2px solid #e9ecef; } | ||
| .btn-secondary:hover { background: #104377; transform: translateY(-2px); } | ||
|
|
||
| .focus-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 1rem; margin: 2rem 0; } | ||
| .focus-icon { background: white; padding: 1.5rem; border-radius: 12px; text-align: center; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: transform 0.3s; } | ||
| .focus-icon:hover { transform: translateY(-4px); } | ||
| .focus-icon-symbol { width: 40px; height: 40px; background: #4A90E2; border-radius: 50%; margin: 0 auto 0.5rem; display: flex; align-items: center; justify-content: center; color: white; font-size: 1.2rem; } | ||
|
|
||
| .goals-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; } | ||
| .goal-card { background: #f8f9fa; padding: 2rem; border-radius: 12px; border-left: 4px solid #4A90E2; transition: transform 0.3s, box-shadow 0.3s; } | ||
| .goal-card:hover { transform: translateY(-4px); box-shadow: 0 8px 25px rgba(0,0,0,0.15); } | ||
| .goal-number { background: #104377; color: white; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; margin-bottom: 1rem; } | ||
|
|
||
| .question-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; } | ||
| .question-card { background: #f8f9fa; padding: 0.8rem; border-radius: 12px; border-left: 4px solid #4A90E2; transition: transform 0.3s, box-shadow 0.3s; } | ||
| .question-card:hover { transform: translateY(-4px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); } | ||
|
|
||
| .partners-grid { display: flex; justify-content: center; flex-wrap: wrap; margin-top: 1rem; gap: 2rem; padding: 0; } | ||
| .partner-logo { width: 120px; height: auto; object-fit: contain; } | ||
| .container { padding-left: 0; padding-right: 0; } | ||
|
|
||
| @media (max-width: 768px) { | ||
| .header-content { flex-direction: column; gap: 1rem; } | ||
| nav ul { gap: 1rem; } | ||
| .hero h1 { font-size: 2.5rem; } | ||
| .focus-grid { grid-template-columns: repeat(2, 1fr); } | ||
| .goals-grid { grid-template-columns: 1fr; } | ||
| .cta-buttons { flex-direction: column; align-items: center; } | ||
| .timeline-item { padding-left: 60px; } | ||
| } | ||
| </style> | ||
|
Comment on lines
+10
to
+56
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
|
||
| <section class="hero"> | ||
| <div class="container"> | ||
| <div class="hero-banner"> | ||
| <img class="usa-card__img" src="{{ '/assets/images/events/civichackdc/mainhackathonimage.png' | relative_url }}" alt="Civic Hack DC banner"> | ||
| </div> | ||
| <h2><b>Saturday, July 26</b></h2> | ||
| <h4><i>10:00 AM - 6:30 PM </i></h4> | ||
| <h3><b>Location: <span style="color: #FFD700;">TBA</span></b></h3> | ||
| <p><i>(metro-accessible)</i></p> | ||
| <br/> | ||
|
Comment on lines
+63
to
+67
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
|
||
| <p>Please reach out to <a href="mailto:[email protected]" style="color: white;">[email protected]</a> if you are interested in sponsoring the event!</p> | ||
| <br/> | ||
| <p style="font-size: 1.2rem; text-align: center; max-width: 800px; margin: 0 auto;">A collaborative, hands-on hackathon dedicated to using AI, data science, and data engineering techniques to unlock public-comment data and illuminate how the public influences federal policies.</p> | ||
| <div class="cta-buttons"> | ||
| <a href="https://lu.ma/czi3y05y" class="btn btn-secondary">Register</a> | ||
| <a href="#about" class="btn btn-secondary">Learn More</a> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <section class="section"> | ||
| <div class="container"> | ||
| <div class="partners-grid"> | ||
| <a href="https://www.moravian.edu" target="_blank" rel="noopener noreferrer"> <img class="partner-logo" src="/assets/images/events/civichackdc/Moravian.png" alt="Moravian"></a> | ||
| <a href="https://careset.com/" target="_blank" rel="noopener noreferrer"> <img class="partner-logo" src="/assets/images/events/civichackdc/careset.png" alt="Careset"></a> | ||
| <a href="https://www.meetup.com/data-wranglers-dc/" target="_blank" rel="noopener noreferrer"> <img class="partner-logo" src="/assets/images/events/civichackdc/dataengineers.png" alt="Data Engineers"></a> | ||
| <a href="https://www.meetup.com/data-visualization-dc/" target="_blank" rel="noopener noreferrer"> <img class="partner-logo" src="/assets/images/events/civichackdc/dataviz.png" alt="Data Viz"></a> | ||
| <a href="https://www.dc2.org/data-science-dc" target="_blank" rel="noopener noreferrer"> <img class="partner-logo" src="/assets/images/events/civichackdc/dsdc.png" alt="DSDC"></a> | ||
| <a href="https://www.meetup.com/women-and-gender-expansive-coders-dc-wgxc-dc/" target="_blank" rel="noopener noreferrer"> <img class="partner-logo" src="/assets/images/events/civichackdc/WGXCDC.png" alt="WGXCDC"></a> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <section class="section" id="about"> | ||
| <div class="container"> | ||
| <h2 class="section-title">📊 Why this matters 📊</h2> | ||
| <div style="max-width: 800px; margin: 2rem auto 0; text-align: left;"> | ||
| <p>Each time a federal agency proposes new rules or seeks public input via <a href="https://www.regulations.gov/" target="_blank" rel="noopener noreferrer">regulations.gov</a>, thousands of comments pour in from individuals, advocacy groups, corporations, and more. Yet the data is notoriously difficult to access, analyze, and utilize effectively.</p> | ||
| <br> | ||
| <p>To bridge this gap, Professor Ben Coleman and his students at Moravian University developed a robust open-source data pipeline. Powered by donated API keys, their tool continuously downloads and publishes public comments across agencies to <a href="https://aws.amazon.com/marketplace/pp/prodview-ypmw3cvvwhv3y" target="_blank" rel="noopener noreferrer">S3 on AWS through its Open Data Platform</a>, making the comments freely available for exploration and analysis.</p> | ||
| <br> | ||
| <p>On July 26, we're hosting a hackathon to create open-source tools that can be used to examine public comments on any future or past regulations or RFIs. We will explore several datasets, including a <a href="https://www.federalregister.gov/documents/2025/05/16/2025-08701/request-for-information-health-technology-ecosystem">recent CMS RFI</a> seeking input on improving the health tech ecosystem for patients. Professor Coleman will be on-site to walk participants through the data download tool and structure.</p> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <section class="section alt"> | ||
| <div class="container"> | ||
| <h2 class="section-title">📝 Submit Your Problem Statements 📝</h2> | ||
| <div style="max-width: 800px; margin: 0 auto; text-align: center;"> | ||
| <p>We're actively seeking problem statements from policy experts to explore during the hackathon. If you have an idea, please submit it through our form; we'll review submissions and select key problems for participants to tackle. For example, one of our primary problem statements will address the recent CMS RFI on patient-centered health technology, but we encourage submissions on other topics as well.</p> | ||
| <div class="cta-buttons"> | ||
| <a href="https://docs.google.com/forms/d/e/1FAIpQLSfSGLrrTdu85aPlaLKGb2qZPPQ4wVJowmIpmAOu9e_MviG-sQ/viewform?usp=dialog" class="btn btn-secondary">Submit a Problem Statement</a> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <section class="section"> | ||
| <div class="container"> | ||
| <h2 class="section-title">✨ What We'll Build Together ✨</h2> | ||
| <p class="section-description" style="max-width: 800px; margin: 0 auto; text-align: center;"> | ||
| In this collaborative, non-competitive event, participants will develop open-source tools designed for reuse with any public comment dataset, past or future, exploring questions such as: | ||
| </p> | ||
| <br> | ||
| <div class="question-grid"> | ||
| <div class="question-card">Who's commenting? (Individuals, nonprofits, corporations)</div> | ||
| <div class="question-card">What are the major themes, sentiments, and sector-specific concerns?</div> | ||
| <div class="question-card">Can we detect copy-paste campaigns or coordinated submissions?</div> | ||
| <div class="question-card">What are organizations' historical commenting trends and motivations?</div> | ||
| <div class="question-card">Which public comments directly influenced the final regulatory outcomes?</div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
|
|
||
| <section class="section"> | ||
| <div class="container"> | ||
| <h2 class="section-title">✨ Hackathon Goals ✨</h2> | ||
| <div class="goals-grid"> | ||
| <div class="goal-card"> | ||
| <div class="goal-number">1</div> | ||
| <h3>Bring Together Contributors</h3> | ||
| <p>Connect researchers, designers, data scientists, policy experts, and civic advocates to collaborate on civic tech solutions.</p> | ||
| </div> | ||
| <div class="goal-card"> | ||
| <div class="goal-number">2</div> | ||
| <h3>Build Open-Source Tools</h3> | ||
| <p>Develop tools for analyzing public comments, making it easier to extract meaningful insights from public feedback.</p> | ||
| </div> | ||
| <div class="goal-card"> | ||
| <div class="goal-number">3</div> | ||
| <h3>Promote Civic Engagement</h3> | ||
| <p>Demonstrate how public comments on regulations can inform better policymaking through improved engagement.</p> | ||
| </div> | ||
| <div class="goal-card"> | ||
| <div class="goal-number">4</div> | ||
| <h3>Have Fun!</h3> | ||
| <p>No prior experience is required! Just bring your curiosity, ideas, and laptop. We'll provide starter kits, roaming mentors, food, and drinks. This will be a collaborative, not competitive, hackathon.</p> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <section class="section"> | ||
| <div class="container"> | ||
| <h2 class="section-title">🤝 We're Looking For 🤝</h2> | ||
| <div class="goals-grid"> | ||
| <div class="goal-card"> | ||
| <h3>Partnerships</h3> | ||
| <p>Organizations interested in co-hosting, promoting, and helping us facilitate the event.</p> | ||
| </div> | ||
| <div class="goal-card"> | ||
| <h3>Subject Matter Experts</h3> | ||
| <p>Individuals with expertise willing to serve on our problem review board and provide insights on submitted problem statements.</p> | ||
| </div> | ||
| <div class="goal-card"> | ||
| <h3>Sponsorships</h3> | ||
| <p>Financial support, venue donations, food and beverage provision, or computing infrastructure; including cloud credits, AI resources, and infrastructure support. Please reach out to <a href="mailto:[email protected]">[email protected]</a></p> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <section class="section alt" id="schedule"> | ||
| <div class="container"> | ||
| <h2 class="section-title">📅 Event Schedule 📅</h2> | ||
| <p style="text-align: center; font-size: 2rem;">TBD</p> | ||
| </div> | ||
| </section> | ||
|
|
||
| <script> | ||
| document.addEventListener('DOMContentLoaded', function() { | ||
| // Smooth scrolling | ||
| document.querySelectorAll('a[href^="#"]').forEach(anchor => { | ||
| anchor.addEventListener('click', function (e) { | ||
| e.preventDefault(); | ||
| const target = document.querySelector(this.getAttribute('href')); | ||
| if (target) { | ||
| target.scrollIntoView({ behavior: 'smooth', block: 'start' }); | ||
| } | ||
| }); | ||
| }); | ||
|
|
||
| // Timeline animation | ||
| const observer = new IntersectionObserver((entries) => { | ||
| entries.forEach(entry => { | ||
| if (entry.isIntersecting) { | ||
| entry.target.classList.add('visible'); | ||
| } | ||
| }); | ||
| }, { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }); | ||
|
|
||
| document.querySelectorAll('.timeline-item').forEach(item => { | ||
| observer.observe(item); | ||
| }); | ||
| }); | ||
| </script> | ||
|
Comment on lines
+190
to
+216
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,17 +17,10 @@ <h1 class="margin-bottom-1">{{ page.title }}</h1> | |
| {% endif %} | ||
| </ul> | ||
|
|
||
| <p class="usa-hero__subheading margin-top-0 margin-bottom-2"> | ||
| <strong>Date:</strong> {{ page.date | date: "%B %-d, %Y" }}<br /> | ||
| {% if page.location %} | ||
| <strong>Location:</strong> {{ page.location }} | ||
| {% endif %} | ||
| </p> | ||
|
|
||
| <img class="maxh-mobile margin-bottom-2" src="{{ site.baseurl }}/assets/images/event_thumbnails/{{ page.image }}" alt="{{ page.image_alt_text }}" /> | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
|
|
||
| <div class="usa-prose"> | ||
| {{ page.description | markdownify }} | ||
| {{ content }} | ||
| </div> | ||
|
|
||
| <p><a href="/events/">← Back to Events</a></p> | ||
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -8,22 +8,22 @@ description: An integrated library of open source programs to test datasets of s | |||||||||
| --- | ||||||||||
| <section class="bg-base-lightest padding-y-4 usa-prose maxw-none"> | ||||||||||
| <div class="grid-container usa-prose"> | ||||||||||
| <em>To provide open source software that detect coordinated inauthentic behavior (CIB) to researchers, moderators, and journalists. We aim to make our programs intuitive so users do not need programming experience to run our tests.</em> | ||||||||||
| <em>To provide open source software that detects coordinated inauthentic behavior (CIB) to researchers, moderators, and journalists. We aim to make our programs intuitive so users do not need programming experience to run our tests.</em> | ||||||||||
|
Comment on lines
10
to
+11
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The word "detect" should be "detects" to agree with the singular subject "software".
Suggested change
|
||||||||||
| </div> | ||||||||||
| </section> | ||||||||||
|
|
||||||||||
| <section class="padding-y-1 usa-prose maxw-none"> | ||||||||||
| <div class="grid-container"> | ||||||||||
| <h2 class="font-sans-lg">🏠 Why This Matters</h2> | ||||||||||
| <p>CIB Mango Tree works to support researchers to detect and respond to coordinated inauthentic behavior (CIB) online - one of the most subtle yet damaging threats to democratic discourse. Inspired by Taiwan’s civic tech spirit, this open-source project equips non-technical watchdogs with tools to analyze social media activity and uncover manipulation. By identifying low-hanging signs like repeated phrases or synchronized posting times, CIB Mango Tree lowers the barrier to entry for <strong>civic engagement in digital spaces.</strong> In an age where disinformation silences genuine voices, we are working to create a more truthful internet.</p> | ||||||||||
| <p>CIB Mango Tree supports researchers in detecting and responding to coordinated inauthentic behavior (CIB) online - one of the most subtle yet damaging threats to democratic discourse. Inspired by Taiwan’s civic tech spirit, this open-source project equips non-technical watchdogs with tools to analyze social media activity and uncover manipulation. By identifying low-hanging fruit like repeated phrases or synchronized posting times, CIB Mango Tree lowers the barrier to entry for <strong>civic engagement in digital spaces.</strong> In an age where disinformation silences genuine voices, we are working to create a more truthful internet.</p> | ||||||||||
| </div> | ||||||||||
| </section> | ||||||||||
|
|
||||||||||
| <section class="padding-y-1 usa-prose maxw-none"> | ||||||||||
| <div class="grid-container"> | ||||||||||
| <h2 class="font-sans-lg">🚀 Our Impact</h2> | ||||||||||
| <p> | ||||||||||
| CIB Mango Tree is democratizing access to powerful social media analysis tools and helping communities respond to online manipulation. Our prototype has been used to <strong>flag suspicious online activity during key moments like elections</strong>. Beyond the tools, we’ve built a community of volunteers and collaborators who are passionate about protecting open discourse, both in Washington, DC and globally. | ||||||||||
| CIB Mango Tree democratizes access to powerful social media analysis tools and helps communities respond to online manipulation. Our prototype has been used to <strong>flag suspicious online activity during key moments like elections</strong>. Beyond the tools, we’ve built a community of volunteers and collaborators who are passionate about protecting open discourse, both in Washington, DC and globally. | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There should be a non-breaking space (i.e.
Suggested change
|
||||||||||
| </p> | ||||||||||
| </div> | ||||||||||
| </section> | ||||||||||
|
|
@@ -38,7 +38,7 @@ description: An integrated library of open source programs to test datasets of s | |||||||||
| <section class="padding-y-1 usa-prose maxw-none"> | ||||||||||
| <div class="grid-container"> | ||||||||||
| <h2 class="font-sans-lg">🤝 Community Partners</h2> | ||||||||||
| We are thankful for all our partners from journalists to researchers, especially | ||||||||||
| We are thankful for all our partners, from journalists to researchers, especially the | ||||||||||
| <a href="https://ospo.gwu.edu/" class="usa-link usa-link--external" target="_blank" rel="noopener noreferrer">GW Open Source Program Office</a>. | ||||||||||
| </div> | ||||||||||
| </section> | ||||||||||
|
|
@@ -53,7 +53,7 @@ description: An integrated library of open source programs to test datasets of s | |||||||||
| <section class="bg-primary-darker text-white padding-y-5 usa-prose maxw-none"> | ||||||||||
| <div class="grid-container text-white"> | ||||||||||
| <h2>👋 Come Join Us</h2> | ||||||||||
| <p>Everyone is welcome no matter your skill level or background. We especially need help with:</p> | ||||||||||
| <p>Everyone is welcome, no matter your skill level or background. We especially need help with:</p> | ||||||||||
| <ul class="usa-list"> | ||||||||||
| <li>Web development</li> | ||||||||||
| <li>Community engagement</li> | ||||||||||
|
|
||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CSS rule for
.timeline-itemappears unused, and the corresponding JavaScript on line 212 also targets non-existent elements. Remove this dead code to improve clarity and reduce file size.