<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Peter Braun</title>
        <link>https://www.beipeter.com</link>
        <description>Peter Braun - Software designer, founder, and tech enthusiast.</description>
        <lastBuildDate>Tue, 16 Jun 2026 17:26:14 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Peter Braun</title>
            <url>https://www.beipeter.com/favicon.ico</url>
            <link>https://www.beipeter.com</link>
        </image>
        <copyright>All rights reserved 2026</copyright>
        <item>
            <title><![CDATA[SportSwipe: Our Winning Project at Hackathon Fulda 2022]]></title>
            <link>https://www.beipeter.com/articles/hackathon-2022</link>
            <guid isPermaLink="false">https://www.beipeter.com/articles/hackathon-2022</guid>
            <pubDate>Tue, 01 Nov 2022 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<h2>SportSwipe: Our Winning Project at Hackathon 2022</h2>
<p>At the 2022 Hackathon at Fulda University, themed "Hacks ’n Health," our team, "Slackoverflow," wowed the judges with an innovative idea and its implementation. With our app, SportSwipe, we not only secured first place but also demonstrated how technology can contribute to a healthier lifestyle.</p>
<div style="display:flex;flex-wrap:wrap;justify-content:center;gap:10px"></div>
<h3>The Idea Behind SportSwipe</h3>
<p>Germany has a movement problem—many people spend most of their day sitting. At the same time, many spots in sports classes remain unused, even though they often fill up quickly. Our solution: an app that connects users with available spots in sports classes. With a simple swipe to the right, users can express their interest and join a class for free on short notice. Additionally, users can create their own classes to encourage others to be more active.</p>
<h3>The Implementation</h3>
<p>In just 25 hours, we developed a complete concept and a working prototype. Our technical foundation was built on a modern stack of proven technologies:</p>
<ul>
<li><strong>Frontend:</strong> React Native, Expo, and Next.JS for cross-platform usage (Android, iOS, and Web).</li>
<li><strong>Backend:</strong> Laravel PHP and Firebase to ensure GDPR-compliant data processing and synchronization.</li>
<li><strong>Deployment:</strong> Docker, Kubernetes, and Vercel for seamless delivery.</li>
</ul>
<p>We placed a strong emphasis on user-friendly design, complemented by features like a calendar view, custom tags, and transparent course management.</p>
<h3>Monetization and Potential</h3>
<p>In addition to the user app, we developed a course management tool using Next.JS, enabling course organizers to manage their offerings efficiently. For monetization, we proposed two key approaches: targeted advertisements from fitness-focused businesses and premium options for course providers, allowing them to list more classes or gain greater visibility.</p>
<h3>Our Success</h3>
<p>Our solution stood out for its clear focus on promoting health, reducing resource waste, and leveraging technological innovation. The jury particularly praised the practical implementation and the potential to inspire people to be more active. Winning first <a href="https://www.osthessen-zeitung.de/einzelansicht/news/2022/oktober/team-slackoverflow-gewinnt-vierten-fuldaer-hackathon.html">place</a> was a fantastic conclusion to an exciting hackathon experience.</p>
<p>With SportSwipe, we demonstrated not only the creativity and power of teamwork but also how small ideas can drive significant change.</p>
<p>For more information, visit our <a href="https://presentation-flame.vercel.app/">presentation website</a> and check out the <a href="https://github.com/SlackOverflowHack/presentation">GitHub repository</a>.</p>]]></content:encoded>
            <author>info@beipeter.com (Peter Braun)</author>
        </item>
        <item>
            <title><![CDATA[Citymania: 2nd Place at Hackathon Fulda 2021]]></title>
            <link>https://www.beipeter.com/articles/hackathon-2021</link>
            <guid isPermaLink="false">https://www.beipeter.com/articles/hackathon-2021</guid>
            <pubDate>Mon, 15 Nov 2021 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<p>The problem of overcrowded or hard-to-find parking spots is a daily challenge that we address with our app "Citymania." This innovation earned us <a href="https://osthessen-news.de/n11656954/hackathon-fulda-helle-koepfe-smarte-loesungen-viel-gelernt-fuer-zukunft.html">2nd place at Hackathon Fulda 2021</a>.</p>
<div style="display:flex;flex-wrap:wrap;justify-content:center;gap:10px"></div>
<h2>Our Solution: Citymania</h2>
<div style="display:flex;align-items:center"><div style="flex:1;padding-right:20px"><p>Citymania allows users to check in real-time how many parking spots are
available in a given parking lot. With this app, users save time, reduce
stress, and help decrease traffic by minimizing the number of drivers
searching for parking. Our vision is to fundamentally improve the parking
situation in cities.</p></div><div style="flex:1"></div></div>
<h2>Implementation</h2>
<p>The technical implementation of Citymania involves several key components:</p>
<h3>The App</h3>
<p>Our app was developed using <strong>TypeScript</strong> and provides an intuitive user interface to display available parking spaces.</p>
<pre><code class="language-typescript">// Example code for displaying available parking spaces


export function ParkingOverview() {
  const [parkingLots, setParkingLots] = useState([]);

  useEffect(() =&gt; {
    getParkingData().then(setParkingLots);
  }, []);

  return (
    &lt;div&gt;
      {parkingLots.map((lot) =&gt; (
        &lt;div key={lot.id}&gt;
          &lt;h3&gt;{lot.name}&lt;/h3&gt;
          &lt;p&gt;Available spots: {lot.freeSpaces}&lt;/p&gt;
        &lt;/div&gt;
      ))}
    &lt;/div&gt;
  );
}
</code></pre>
<h3>Backend</h3>
<p>The backend is based on <strong>Firebase</strong> and processes data provided by parking sensors and cameras.</p>
<h3>Sensors</h3>
<p>We use <strong>AI2LoRa</strong> to scan parking lots with built-in cameras. These cameras send the results to an <strong>ESP32 LoRa</strong> microcontroller, which transmits the data over LoRaWAN.</p>
<h3>Detailed Workflow</h3>
<p>Despite LoRaWAN's limitations on large data packet transmission, CityMania achieves real-time updates every three minutes, thanks to its efficient hardware and software architecture.</p>
<ol>
<li><strong>Image Capture</strong>: A Raspberry Pi equipped with a camera captures images of the parking lot.</li>
<li><strong>Image Analysis</strong>: An AI model on the Raspberry Pi analyzes the image to determine how many parking spots are occupied or free.</li>
<li><strong>Data Compression and Transfer</strong>: The processed data is compressed and sent to an Arduino with an ESP32-LoRa module via a serial interface.
<ul>
<li>Future versions aim to eliminate this step as hardware improves.</li>
</ul>
</li>
<li><strong>LoRaWAN Transmission</strong>: The ESP32-LoRa module sends a compact 3-byte payload containing the parking data over LoRaWAN to a LoRa gateway.</li>
<li><strong>TTN Server Integration</strong>: The LoRa gateway communicates with a TTN (The Things Network) server, which forwards the data to a Python connector via MQTT.</li>
<li><strong>Database Update</strong>: The Python connector processes the data and updates the Firebase database through a REST API.</li>
<li><strong>User Access</strong>: End users query the database via the mobile app to retrieve real-time and historical parking data.</li>
</ol>
<pre><code class="language-python"># Example code for processing camera data
import cv2
from lora import send_to_lora

def process_parking_lot(image_path):
    image = cv2.imread(image_path)
    free_spots = detect_free_spots(image)
    send_to_lora(free_spots)

def detect_free_spots(image):
    # Image processing for parking lot analysis
    return len([spot for spot in image if spot == 'free'])
</code></pre>
<pre><code class="language-python"># Connection to Firebase
from firebase import Firebase

def push_to_firebase(data):
    firebase = Firebase(config)
    db = firebase.database()
    db.child("parking_data").set(data)
</code></pre>
<h2>Additional Features with CityMania</h2>
<p>For more technical details and the source code of our project, visit our GitHub repository: <a href="https://github.com/RuntimeTerror-Hackathon">CityMania GitHub Repository</a></p>
<h3>Real-Time Updates</h3>
<p>CityMania processes live images of parking lots in your area using artificial intelligence to provide real-time parking availability. Updates occur every three minutes to ensure accuracy.</p>
<h3>Cost-Effective and Durable</h3>
<p>The hardware used is robust and low-cost, making it suitable for deployment in various environments. With the optional addition of photovoltaic panels and batteries, it can even operate in locations without direct power supply.</p>
<h3>Privacy-Focused</h3>
<p>No personal data or license plate information is stored or transmitted. Images are processed locally and deleted within seconds after determining whether a parking spot is occupied or free. This ensures full compliance with privacy standards.</p>
<h3>Efficient Data Utilization</h3>
<p>The trained AI model requires minimal computational resources for analysis, making the system energy-efficient and highly scalable.</p>
<h3>Future Development</h3>
<p>CityMania has vast potential for growth, including features like:</p>
<ul>
<li><strong>Reporting Issues:</strong> Allowing users to report problems or damages in real-time.</li>
<li><strong>Integrated Payment Systems:</strong> Adding a seamless parking payment functionality.</li>
<li><strong>Smart City Integration:</strong> Expanding into a city-wide platform for local news, public announcements, and even digitized government services.</li>
<li><strong>Virtual Key-Card:</strong> Enabling digital access to public facilities like gyms and libraries.</li>
</ul>
<p>Our mission is to bring tomorrow's technology to today's cities, enhancing urban living while reducing environmental impact.</p>
<h2>Outlook</h2>
<p>Winning 2nd place validated our concept. Our goal is to further develop Citymania and CityMania, deploying them in more cities to sustainably improve the parking situation and pave the way for smarter, greener urban spaces.</p>]]></content:encoded>
            <author>info@beipeter.com (Peter Braun)</author>
        </item>
    </channel>
</rss>