<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ferdinand Virtudes 😼</title>
    <description>The latest articles on Forem by Ferdinand Virtudes 😼 (@ctrlvee).</description>
    <link>https://forem.com/ctrlvee</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F673221%2F67e82852-f3c4-4108-8680-679bc2bc61a1.jpeg</url>
      <title>Forem: Ferdinand Virtudes 😼</title>
      <link>https://forem.com/ctrlvee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ctrlvee"/>
    <language>en</language>
    <item>
      <title>ReliefLine</title>
      <dc:creator>Ferdinand Virtudes 😼</dc:creator>
      <pubDate>Sun, 04 Jan 2026 06:09:20 +0000</pubDate>
      <link>https://forem.com/ctrlvee/reliefline-4fch</link>
      <guid>https://forem.com/ctrlvee/reliefline-4fch</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;ReliefLine is a disaster relief planning platform that replaces guesswork with data-driven precision. It bridges the gap between global alerts and local response in the Philippines by providing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smart Relief Calculator: Instantly generates supply budgets (rice, water, family packs) based on official Department of Social Welfare and Development (DSWD) government standards and census data.&lt;/li&gt;
&lt;li&gt;Real-Time Monitoring: Aggregates live disaster feeds from global monitoring systems into a single dashboard.&lt;/li&gt;
&lt;li&gt;Educational Hub: Offline-friendly guides to help Filipinos abroad and locals understand disaster preparedness.&lt;/li&gt;
&lt;li&gt;Impact Visualizer: Shows donors exactly what their contribution funds (e.g., "Feed 5 families for 2 days").&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Pitch Video
&lt;/h2&gt;

&lt;p&gt;

&lt;iframe src="https://player.mux.com/d22n5HyQfxPo1EPEx01ETOC3dLcHtRY02KSUqKIqycWEs" width="710" height="399"&gt;
&lt;/iframe&gt;



&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Live Site: relief-line.vercel.app&lt;/p&gt;

&lt;p&gt;Try It Out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calculator: Select "Metro Manila," enter a population, and see the exact relief budget required.&lt;/li&gt;
&lt;li&gt;Updates: Check the "Updates" tab for live, aggregated disaster feeds.&lt;/li&gt;
&lt;li&gt;Impact: Use the "How You Can Help" tool to see donation purchasing power.&lt;/li&gt;
&lt;li&gt;Guides: Download the print-optimized disaster preparedness manuals.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Story Behind It
&lt;/h2&gt;

&lt;p&gt;The Philippines faces ~20 typhoons a year, affecting millions of lives. When disaster strikes, relief planning is often reactive—planners guess how much rice or water is needed, leading to waste or shortages.&lt;/p&gt;

&lt;p&gt;I built ReliefLine to standardize this process. It serves two distinct groups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Global Filipinos: Including the 2.3 million Overseas Filipino Workers (OFWs) and the wider population who sent home $37 billion in remittances last year, requiring transparency to donate effectively.&lt;/li&gt;
&lt;li&gt;Local Agencies: Non-Governmental Organizations (NGOs) and Local Government Units (LGUs) covering 40,000 barangays who need accurate, compliant logistics tools to distribute aid faster.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technical Highlights
&lt;/h2&gt;

&lt;p&gt;The Stack&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: Next.js 14 (App Router), React, TypeScript, Tailwind CSS&lt;/li&gt;
&lt;li&gt;Backend: Next.js API Routes, PostgreSQL + Drizzle ORM&lt;/li&gt;
&lt;li&gt;Visuals: Mapbox GL JS for geospatial data (work in progress) &lt;/li&gt;
&lt;li&gt;Data Sources: GDACS, USGS, Ambee, NewsData.io, PSGC (Census)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intelligent Aggregation: Merges disaster data from 4+ sources—including the Global Disaster Alert and Coordination System (GDACS) and the United States Geological Survey (USGS)—using coordinate-based matching (within 200km) to deduplicate events.&lt;/li&gt;
&lt;li&gt;DSWD-Compliant Math: "Digitized" the official Social Welfare manual. Calculations strictly follow government formulas (e.g., 1.2kg rice/person/day, 15% overhead buffer).&lt;/li&gt;
&lt;li&gt;Smart Caching: Implements aggressive caching strategies for external APIs to handle high traffic and rate limits during emergencies.&lt;/li&gt;
&lt;li&gt;Offline-First: Educational content is designed to be lightweight and print-ready for low-bandwidth areas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Challenges Solved&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Location Mapping: Built a fuzzy matching system to link generic disaster alerts (e.g., "Storm near Luzon") to specific provinces and barangays in the Philippine Standard Geographic Code (PSGC) database.&lt;/li&gt;
&lt;li&gt;Data Deduplication: Created logic to merge overlapping reports from quake sensors (USGS) and storm trackers (GDACS) into single, actionable events.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data &amp;amp; Accuracy Disclosure&lt;br&gt;
To ensure transparency for this submission, here is the breakdown of the data used in the platform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disaster Feeds: All disaster alerts (Typhoons, Earthquakes) are live, real-time data pulled from USGS, GDACS, and NewsData.io.&lt;/li&gt;
&lt;li&gt;Formulas: All relief calculations are strictly based on the official DSWD Disaster Response Operations Guidelines.&lt;/li&gt;
&lt;li&gt;Geography: All location data (Provinces, Cities, Barangays) is sourced from the official Philippine Standard Geographic Code (PSGC).&lt;/li&gt;
&lt;li&gt;Population: Data is currently fictional, but will be integrated with 2024 consensus results for more accurate information.&lt;/li&gt;
&lt;li&gt;Pricing: These are static estimates for the demo and do not currently reflect real-time inflation or regional price variances.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>muxchallenge</category>
      <category>showandtell</category>
      <category>video</category>
    </item>
    <item>
      <title>Philippine Corruption From Wikipedia Data</title>
      <dc:creator>Ferdinand Virtudes 😼</dc:creator>
      <pubDate>Sun, 14 Dec 2025 23:15:42 +0000</pubDate>
      <link>https://forem.com/ctrlvee/philippine-corruption-from-wikipedia-data-3m7g</link>
      <guid>https://forem.com/ctrlvee/philippine-corruption-from-wikipedia-data-3m7g</guid>
      <description>&lt;p&gt;I recently dug into Wikipedia's data on Philippine corruption using some Python magic, and the patterns that emerged were really fascinating. Let me walk you through what I discovered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After analyzing 51 documented corruption cases, I found:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;11 different types of corruption that keep popping up&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Kickbacks take the top spot (15.7% of cases)&lt;/li&gt;
&lt;li&gt;Bribery comes in second (13.7%)&lt;/li&gt;
&lt;li&gt;Election fraud and overpricing tie for third (11.8% each)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What really surprised me was how often these cases involve multiple corruption types. The PDAF scam, for instance, showed up under nine different categories!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Corruption Network 🕸️&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I mapped everything out, it looked like a spiderweb of connections:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6jipj2pn9ougmvj2s35d.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6jipj2pn9ougmvj2s35d.png&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each case (blue nodes) connects to the corruption types it involved (red nodes). The bigger the red node, the more cases fell into that category. What stood out? How frequently "election fraud" and "nepotism" appear together with financial crimes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Historical Pattern Emerges&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Looking across different political eras revealed some interesting trends:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gser5psiqj4blqvqznt.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gser5psiqj4blqvqznt.png&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Marcos Era: The classic "plunder + embezzlement" combo&lt;/li&gt;
&lt;li&gt;Post-EDSA: Things quieted down (at least in documentation)&lt;/li&gt;
&lt;li&gt;Arroyo Era: Election fraud takes center stage&lt;/li&gt;
&lt;li&gt;PDAF Era (2013): Pork barrel abuse becomes systematic&lt;/li&gt;
&lt;li&gt;Recent Years: Healthcare and procurement issues surface
It's like each era developed its own "corruption signature."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Behind the Scenes 🔧&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here's how I approached this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Collection: Used wikipedia-api to pull content from corruption-related pages&lt;/li&gt;
&lt;li&gt;Automated Categorization: Created a keyword system that automatically tagged cases (looking for terms like "ghost projects," "lagay," "overpricing")&lt;/li&gt;
&lt;li&gt;Visualization: Used networkx to show connections and seaborn for the historical heatmap&lt;/li&gt;
&lt;li&gt;Manual Enhancement: Added some well-known cases that Wikipedia might not have categorized fully
The cool part? This whole analysis runs automatically. You can point it at different Wikipedia corruption pages and see similar patterns emerge.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;My Takeaway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What struck me most wasn't just the volume of cases, but how interconnected different corruption types are. Financial crimes rarely happen in isolation - they often involve election manipulation, nepotism, and contract rigging working together.&lt;/p&gt;

&lt;p&gt;The data also shows how corruption evolves. Each political generation seems to develop new methods while keeping old favorites like bribery and kickbacks in the toolkit.&lt;/p&gt;

</description>
      <category>wikipedia</category>
      <category>philippines</category>
      <category>corruption</category>
      <category>networkx</category>
    </item>
    <item>
      <title>get motivational messages</title>
      <dc:creator>Ferdinand Virtudes 😼</dc:creator>
      <pubDate>Sun, 14 Dec 2025 23:01:26 +0000</pubDate>
      <link>https://forem.com/ctrlvee/get-motivational-messages-28e9</link>
      <guid>https://forem.com/ctrlvee/get-motivational-messages-28e9</guid>
      <description>&lt;p&gt;I made a platform to send scheduled motivational messages -&lt;/p&gt;

&lt;p&gt;&lt;a href="https://getgoodvibes.today" rel="noopener noreferrer"&gt;https://getgoodvibes.today&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The SMS isn't available yet and the email system doesn't go through for .edu accounts, but the idea is there.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>productivity</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Web Scraping</title>
      <dc:creator>Ferdinand Virtudes 😼</dc:creator>
      <pubDate>Thu, 04 Dec 2025 03:01:20 +0000</pubDate>
      <link>https://forem.com/ctrlvee/web-scraping-1gif</link>
      <guid>https://forem.com/ctrlvee/web-scraping-1gif</guid>
      <description>&lt;p&gt;There's so much to learn about the balance between being ethical and compliant when web scraping.&lt;/p&gt;

&lt;p&gt;I found great resources on ScrapeHero that discuss how they make it happen.&lt;/p&gt;

&lt;p&gt;I'm definitely curious about the entire business model and process for Data as a Service.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.scrapehero.com/web-scraping-tutorials/page/4/" rel="noopener noreferrer"&gt;https://www.scrapehero.com/web-scraping-tutorials/page/4/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
