Ocean.org

Ongoing website maintenance and technical improvements for Ocean.org, a highly customized WordPress site, with a major focus on CI/CD cleanup, codebase normalization, and long-term stability.

Project Overview

Ocean Wise Conservation Association, the nonprofit behind Ocean.org, is dedicated to protecting marine life and promoting ocean literacy. Their website serves as a hub for educational content, conservation projects, and community engagement.

When we inherited the project, it came with years of accumulated technical debt: no repository strategy, undocumented logic, and an unstable deployment system. I was brought in to take over maintenance, modernize the workflow, and make it sustainable for long-term growth.

Project Scope

  • Full documentation of setup and infrastructure
  • Repository cleanup and branch consolidation
  • CI/CD pipeline rebuild and automation
  • WordPress theme + plugin version control and validation
  • Code quality improvements and ongoing updates
  • SEO upgrades (AIO) and internationalization (i18n) groundwork
  • Ongoing development and section upgrades

The project began as a handover from a previous vendor and has evolved into an ongoing collaboration with the OceanWise team, with new improvements rolling out continuously.

Unique Features

  • CI/CD pipeline rebuilt to:
    • Auto-generate secure .env files on deployment
    • Run validation at each step (test → lint → build → deploy)
    • Guarantee environment parity between dev and production
  • PR templates and changelogs implemented for consistency
  • SEO overhaul using AIO plugin optimization
  • Internationalization in progress for global audience reach
  • Custom WordPress theme organization and component mapping

Technology Stack

  • CMS: WordPress
  • Frontend: Tailwind CSS, HTML, CSS, JavaScript
  • Backend/Infra: Node.js, MySQL, YAML, Azure
  • Tooling: Git, Composer, custom CI/CD scripts

Why this stack? The original platform was WordPress-based, but our modern tooling (Tailwind, YAML pipelines, automated testing) made it easier to manage and scale over time without needing to rebuild from scratch.

Challenges

The project came with several headaches:

  • Outdated documentation on local setup or architecture
  • Inconsistent deployments and broken pipeline logic
  • Stale or orphaned branches made merging risky
  • Plugins and theme files were version-skewed and untracked

To fix it, we:

  • Documented everything, from local setup to theme/db structure
  • Cleaned and consolidated the repo into a single stable base branch
  • Added security rules to protect main branches
  • Automated .env setup and secret injection in CI/CD
  • Set validation gates after every build step
  • Verified all site dependencies (Tailwind, Composer, DB, env vars, etc.)
  • Made deployments predictable and observable

Now, the team can develop and ship confidently.

Client Collaboration

I acted as the main point of contact with the OceanWise  team, gathering requests, converting them into actionable tasks, and distributing them to developers. I handle code reviews, approve work, and support the team in delivering consistently.

Communication has been smooth and ongoing, which has made the process efficient even as we continue upgrading various parts of the site.

Results / Impact

  • CI/CD now stable and fast, no more surprises during deployment
  • Major SEO wins with AIO improvements
  • Clear documentation and testing made dev onboarding painless
  • Site availability and uptime improved significantly
  • Set foundation for internationalization, future-ready architecture
  • Team morale and efficiency up because devs aren’t fighting the setup

This shift from fragile legacy code to a robust, maintainable environment has had a lasting impact on OceanWise's digital presence.

Post-Launch Support

We’re actively working on:

  • New localized content and region-specific versions of the site
  • Upgrading several key pages and sections for better UX and accessibility
  • Planning future initiatives with OceanWise for broader engagement
  • Trouble shooting on-demand

Maintenance is ongoing, with a strong foundation in place for future growth.

Final Thoughts

So far this project taught me a lot, not just about technical cleanup and CI/CD, but also about leading a small dev team. Taking a project like this and transforming it into something clean, predictable, and scalable was incredibly rewarding.

There’s still more to do, but we’ve turned this site into a stable, modern platform that can keep growing, just like the mission it supports.

No items found.

Similar Projects

Explore Projects
JSON2Type Generator
Azure
TypeScript
Node
Javascript

A lightweight VS Code extension that converts selected JSON into clean TypeScript definitions. Perfect for solo devs like myself, open-source projects, or anyone working with JSON-heavy APIs.

Five Rivers Bank
Webflow
WebTricks
GA4
Cloudflare
Javascript

As part of the Skyrocket Digital team, I helped bring Five Rivers Bank’s online presence to life by building a fast, accessible, and easy-to-manage website in Webflow.

Whale Report Alert System
Expo
Github
Azure
Cursor
React Native

WRAS (Whale Report Alert System) is a real-time conservation tool created for OceanWise. The project was led by the team at Skyrocket Digital, where I worked as part of the development team. We delivered a mobile app, web platform, and admin dashboard that help mariners and researchers reduce whale collisions by sending real-time sighting alerts.

While updating my old Stardew Valley project, I ran into a giant JSON file, and ended up building a VS Code extension to generate TypeScript types. It's now live!
I accidentally made a VS Code extension
I spent a month testing Webflow’s Model Context Protocol (MCP) on 5 production sites. Here’s what worked for SEO, CMS management, and what still feels unfinished.
Testing Webflow MCP: SEO Wins, CMS Experiments, and Lessons After 1 Month
Want to use Webflow’s MCP without switching editors? Here’s how to set it up in VS Code with GitHub Copilot, fast, simple, and no extra cost.
How to Add Webflow's MCP to VS Code (No Cursor Needed)