Audio Playback Plugin Development

Job ID: 39571952

Budget: £250 – £750 GBP

‘bandfront-player’ WordPress Plugin

Part of a system that lets a musician spin up a fresh server and launch a fully functional music storefront with two .env variables and one bootstrap script (see github.com/100mountains/server-setup). The goal is for this plugin to turn a WooCommerce + Storefront child-theme site into a Bandcamp-style platform. Demo: https://therob.lol/

This is for an open source project so the budget is not huge, but a lot is already done and as I work on it more I will be doing some of the tasks listed.

CURRENT FUNCTIONALITY

A plugin (~6 100 lines of PHP) that embeds intelligent audio players in WooCommerce product pages, protects files (automatic demo truncation), and provides analytics.

Architecture / Stack – PHP 7.4+, WooCommerce; MediaElement.js; eight core OOP classes; WordPress meta + options; fixed to Storefront child theme.

Core classes (includes/)
class-bfp-admin.php – admin UI & settings
class-bfp-player-renderer.php – HTML output
class-bfp-player-manager.php – instantiation & assets
class-bfp-audio-processor.php – file trimming / demos
class-bfp-file-handler.php – uploads & URLs
class-bfp-config.php – config cache
class-bfp-hooks-manager.php – hooks / filters
class-bfp-woocommerce.php – WC logic

Key features
1 Context-aware players: minimal shop previews, full product controls, global defaults with per-product overrides.
2 Audio protection: auto demo clips, secure URLs, unlock after purchase, optional FFmpeg, custom demo override.
3 Layouts & skins: three built-in skins (to be revised), responsive, single/multi-player, grouped-product playback.
4 Page-builder integrations: Elementor, Gutenberg, Divi, BeaverBuilder, SiteOrigin, WPBakery.
5 Five player engines: HTML5, jPlayer, CP Media, Compact, MediaElement.js.
6 Analytics: Google Analytics events, play counters, hook for third-party tracking.
7 WooCommerce hooks: simple/variable/grouped, auto-detect downloadable audio, purchase checks, optional cart player, seamless preview→checkout.

File summary – 67 files: 29 PHP, 30 assets, 8 misc; one MP3 demo.

THE JOB
• Refactor 29 PHP files to modern standards; sanitize inputs; strip redundant/vendor code.
• Consolidate overlapping options (e.g. always show track titles); make code shorter yet clear.
• Add skip-forward / skip-back to shop-page player.
• Test existing audio engines and decide which remain.
• Audit page-builder integrations (plugin is Storefront-only).
• Optionally restore cloud-storage code.
• Reskin three players → keep two; simplify customisation.

Security & compliance – meet wordpress.org rules; verify nonces/capabilities; block SQLi/XSS; follow coding standards.

Performance – optimise DB queries; load assets only when needed; review caching.

QA – cross-browser and mobile, MP3/WAV/OGG, latest WP & WC, graceful missing-file handling, accessibility (ARIA/keyboard), admin feedback.

Compatibility – must work with the Bandfront child theme for Storefront.

Player control settings
Current modes: play/pause only, full controls, smart controls (minimal on shop, full on product pages), play-overlay on images (experimental). Decide defaults for Storefront-only scope.

Development can run on the live server or a fresh 32 GB test server.

more technical info here: https://docs.google.com/document/d/17TUtBsTGZKdl735vyRH-LwxP8D32Nmc3KG_yY1s1pCU/edit?tab=t.0

˙