When Flood Control Becomes a Ghost Project and the Logs Don’t Match: A Developer’s Dive into the PH Flooding Issue

Back in college at the University of the Cordilleras, typhoons were so common that we treated rain like background noise. We'd climb steep Baguio roads, umbrellas flipping inside out, only to arrive at class and hear: “Due to the weather, class is dismissed.” Cool. Thanks, sir. Should’ve just kayaked my way to school.
Baguio rarely floods - it’s more like rivers flowing downhill on turbo mode. But down in the lowlands? Floods aren’t just water. They’re receipts. Proof that “flood control projects” exist mostly on paper, half-done in reality, and fully cashed out in budget reports.
Meanwhile, I’m still engrossed in that Sabungero story, scrolling through logs like a dev chasing a memory leak, only to realize the story will probably get buried again. No commits, no merges, just another forgotten ticket in the infinite backlog of chaos.
The Ghost Project Pattern

In tech, a ghost project is when a PM proudly declares: “That feature is deployed!” But the repo is empty, the logs are silent, and the only thing running is the coffee machine.
That’s exactly our flood control situation. Officials say: “It’s done.” Then three weeks after it hits the news, workers magically appear, shovels in hand. Three weeks ago - oh look - exactly when the scandal broke out.
// TODO: Investigate Discaya-linked companies
const discayaCompanies = [
"Alpha & Omega Gen. Contractor & Development Corp.",
"St. Timothy Construction Corporation",
"Curlee Discaya-linked firm #3"
];
discayaCompanies.forEach(company => {
console.log(`// WARNING: ${company} may contain ghost projects`);
});
Korea even backed out of loaning the Philippines money, fearing it would just vanish into corruption. That’s like refusing to hand over staging servers to a dev team notorious for pushing broken PRs to main.
// ERROR: LoanRejectedException: South Korea refuses to deploy funds
Enter Sarah Discaya: The Self-Own Patch Note
Ah, Sarah Discaya. The dev equivalent of typing git commit -m "final fix" only to realize you’ve committed your entire node_modules folder.
During the investigation, she confidently told the senate: “I only own one company involved.” Respect. Owning up is good. Except logs don’t lie, and it turns out the other companies were technically under family relatives, even former workers.
Here’s the annotated source code of Discaya’s empire:
// TODO: Investigate Discaya’s 421 projects
// Curlee & Sarah Discaya construction firms:
// P31B in gov projects (Jul 2022–May 2025)
// Alpha & Omega Gen. Contractor & Development Corp.
// & St. Timothy Construction Corp.:
// 105 projects each
// 9 total companies, 421 projects, P31B
// TODO: Verify if projects correlate with actual flood preventionSix companies founded by the Discayas and their son bagged 345 solo and joint contracts worth P25.2 billion, mainly for flood-control infrastructure. Three other construction firms were linked, with Curlee Discaya listed as COO. Combined: 421 projects amounting to P31 billion.
“421 projects, P31 billion… and somehow the only thing flooding is our patience.”
Meanwhile, the government funded 9,855 flood-control projects worth over P545 billion. And yet, floods happen. Because, well… legacy code.
// WARNING: Discaya family handles null safety poorlyThe Soap Opera Patch: Arjo, Maine, and the Flood Control Cinematic Universe
Then Arjo Atayde and Maine Mendoza somehow got dragged into this script - because what’s a Philippine scandal without a cameo from a celebrity couple? Suddenly, it wasn’t just a flood control issue anymore; it became a prime-time drama waiting to happen. You could almost see the storyboard: Arjo, drenched in rain, dramatically pointing at unfinished ditches, Maine holding an umbrella with perfect posture, while a confused government engineer mutters: “I swear, the logs said it was done!”
“Sa Gitna ng Baha, May Nagmamahalan… and somewhere, someone still forgot to commit the project logs.”
Next thing you know, we’ll get a full-blown teleserye adaptation: “Sa Gitna ng Baha, May Nagmamahalan”, directed by the Senate Blue Ribbon Committee, with guest appearances by Estrada yelling at commit logs, Chiz Escudero donating ₱30M mid-scene, and Sarah Discaya nervously trying to debug her sprawling family repo in real time. It’s part romantic drama, part corporate thriller, part legacy code horror show.
You can almost picture it: Arjo’s intense stare as a live flood hits the unfinished project, Maine flinging paperwork like confetti, senators popping up as the “review team” demanding proper version control, and cameramen capturing every exception thrown in real time. Audiences would tune in, not for flood prevention, but for the sheer spectacle of watching infrastructure merge conflicts unfold on prime-time television.
// INFO: CelebrityException: Arjo/Maine cameo detected in live flood logs
// WARNING: HighDramaDetected: Possible memory leak in audience attention
// TODO: Cast engineer as comic reliefSenate Hearings: Developer Stand-Up Meeting Edition
The hearings felt less like an investigation and more like watching a dev team argue about who broke production. Imagine a stand-up meeting where every senator behaves like a junior dev blaming others:
Estrada: "Who approved this PR? Who merged this commit?!" // TODO: Estrada handles null safety poorly
Chiz Escudero: "Wait, they donated ₱30M, not my fault if it's dirty" // WARNING: Chiz Escudero merge conflict detected
Senator A: "It’s your code!"
Senator B: "No, it’s your commit!"
Senator C: "Check staging!"
Logs: [404 Not Found]
Sarah Discaya: "I own only one repo..." // ERROR: FamilyRepoOwnershipMismatch
Logs: "Family-owned, all of it"
Estrada grilled the system hard, only to find his own name popping up in the alleged “linked” list - like blaming someone for committing admin123 to main, then realizing your branch is the culprit.
Finger-pointing continued in classic PHP debugging fashion:
“It wasn’t me, it was the contractor.”
“It wasn’t us, it was the subcontractor.”
“Actually, it was Sarah.”
Sarah: “Only partly me…”
Logs: “Family-owned, all of it.”
// TODO: Audit all finger-pointing references
// ERROR: MergeConflictException: multiple ownership detectedBaguio City: A Bright Spot in a Corrupted Codebase
Amidst all this chaos, Baguio City quietly remains ranked the #1 safest city in the Philippines and 7th in the world. Up-and-down roads, raging rivers, and typhoons aside, at least gravity keeps our water where it should be. For once, a system running as expected - like a production server that doesn’t crash during a demo.
Walking through Session Road after a heavy rain feels like scrolling through perfectly optimized code. The streets may flood slightly in corners, sure, but there’s no catastrophic memory leak of potholes swallowing cars whole. Unlike other cities where flood control projects are ghost commits and null pointer exceptions in public works, Baguio’s infrastructure behaves like a stable, well-tested function: inputs are rain, outputs are functioning drainage.
Even our hills contribute to natural “error handling.” Water flows downhill like proper exception handling in a well-written algorithm - no need for hundreds of millions in ghost projects to tell it what to do. Typhoons may try to push the system, but Baguio quietly returns the expected result: minimal damage, predictable flooding, and a lot of drenched but mostly safe residents.
// INFO: SafetyCheckPassed: Baguio City ranked #1 PH, 7th globally
// TODO: Analyze if gravity is stronger than corruption
// WARNING: RagingWaterDetected: Apply local exception handling
Closing Thoughts: Floods, Logs, and Ghosts
Flood control in the Philippines is like maintaining legacy code written by a dozen interns and one genius who rage-quit halfway. Everyone insists it’s working, but production crashes every rainy season.
As developers, we know the rules:
Don’t mark it done if it isn’t.
Don’t hide bugs under someone else’s name.
And for the love of uptime, don’t gaslight the logs.
Because unlike silent bugs in staging, floods make noise. They tear through roads, drown homes, and expose every ghost project pretending to exist.
Baguio may be safe from flooding thanks to gravity, but even there we learned: water finds a way. And in Philippine politics, so does corruption.
The Philippines doesn’t just need flood control. It needs version control.
// TODO: Refactor PH Flood Control System
// ERROR: LegacyCorruptionDetected: manual overrides everywhere
References
Discaya admits family firms bid for same flood projects
confirmed that Centerways Construction donated P30 million to his 2022 election campaign
Travelers, take note, the Summer Capital isn’t just cool, it’s safe!
Five Reveals from the Flood-Control Data