CASE FILE / FISH CERTIFICATION AUTHORITY

FunkPd built FCA as a WordPress application for trusted certification records.

FCA was built from scratch as an end-to-end MVP. FunkPd made the public submission path, the private review workflow, the certificate system, and the verification surfaces work as one product.

DeveloperFunkPd, end to end
ApplicationWordPress plus a site-specific FCA Core plugin
Primary operatorFCA admins reviewing evidence and issuing records
01 // Product thesis

The product is trust, not content.

FCA is a workflow application built on WordPress. A catch enters with evidence, an admin checks it against the rules, and only an approved record becomes public proof.

Public surfaceSubmit a catch, view approved records, check a certificate, and browse the Hall of Fame.
Private surfaceSubmission evidence, contact details, admin notes, and rejected submissions stay in the review workflow.
Issued proofAn approved catch receives a certificate, a QR path, and a public record tied back to the issued data.
02 // Shipped surfaces

One sequence shows the application working end to end.

These safe local captures show the path from submission to review, issued certificate, upload checking, and public records. Private names and review data are omitted.

03 // Application architecture

A site-specific plugin gives WordPress a real domain model.

The FCA Core plugin owns the application rules. WordPress remains the operating surface for the client, while FCA adds the domain objects and public workflows the service needs.

Domain objects

Species, anglers, submissions, photos, measurements, certificates, admins, and Hall of Fame records.

WordPress model

Private fca_submission items, public fca_record items, private leads, and the fca_species taxonomy.

Editable rules

Species requirements and minimum lengths are managed through the admin instead of being hardcoded into the form.

Page builder bridge

Elementor widgets expose submission, Hall of Fame, requirements, verification, and certificate upload surfaces.

04 // State workflow

Moderation controls what becomes a public record.

The review workflow separates evidence from publication. Approval commits the record only after its required artifacts succeed; rejection and revoke actions preserve guarded transitions and audit events.

  1. 01SubmitValidate fields, requirements, consent, and uploaded evidence.
  2. 02ReviewAn admin checks species, region, length, photos, date, and location.
  3. 03Approve or rejectActions are gated and recorded. Pending edits require a reason.
  4. 04IssueAn approved submission creates its certificate and public record.
  5. 05VerifyQR and PDF checks resolve back to the canonical issued record.
05 // Certificate integrity

Authenticity is implemented as application logic.

The certificate is not only a visual document. Its identifiers, payload, metadata, QR destination, and live record are linked so a visitor can check what was issued.

Issued identityCertificate IDs follow FCA-{submission_id}-{YYYYMMDD}. QR codes use canonical /verify/{certificate}/ URLs.
Document outputThe FCA-only PDF writer renders the certificate template with its ID, checksum, fingerprint, integrity label, verify URL, and QR image.
Tamper checksCanonical payload snapshots produce SHA-256 fingerprints. Machine-readable PDF metadata is signed with HMAC-SHA256 using the WordPress auth salt.
Second verification pathThe public upload checker validates a PDF request, extracts identifiers, and compares the result with the live record. It also applies a per-IP throttle and a default 5 MB limit.
06 // Admin UX

The admin is the primary user of the application.

FCA needed a usable operator surface, not only a polished frontend. The custom review metabox removes irrelevant editor controls, shows submitted evidence, supports pending-field edits with a required reason, and exposes approve, reject, revoke, photo, and audit controls.

Review permission
Review actions are currently gated by manage_options. The inspected plugin does not register custom WordPress roles.
Owner handoff
The FCA dashboard links an owner guide and short guidance for requirements, email settings, certificate settings, security, and mail logs.
07 // Next step

Need a WordPress system with a real operating workflow?

Send the process, the records, and the people who need to run it. FunkPd will define the scope and proof plan.

Operator Identity

Built and fixed by one person.

You work with Nolan Phelps directly. He does the diagnosis, scope, build, fixes, and handoff himself.

No sales layer. No project manager. No outsource chain.

Since 2017WinnipegWordPress rescue
Nolan Phelps

Nolan Phelps

FunkPd