Dedicated Web Platform for Scheduling Legacy Messages

Scheduled Message Delivery Platforms for Text, Voice and Video

Industry
Nonprofit
Core Technologies
PHP 8.2, HTML, MySQL, Apache Web Server, Visual Code, Tortoise SVN

Summary

We build scheduled message delivery platforms that let a person record a message now and specify when and to whom it should be released. Messages may be text, recorded audio or video, addressed to named recipients, and scheduled to a fixed date, a recurring occasion, or a triggering event. Around that core sit account registration, subscription tiers, automated notification, an administrative console for user and plan oversight, and reporting on operational health.

The Challenge

People who use platforms of this kind are often in circumstances where the message matters absolutely, including military personnel, patients in palliative care and emergency services staff. That raises the standard for correctness: a message delivered early, late, to the wrong address or not at all is a failure that cannot be corrected afterwards.

The content is deeply personal, so encryption at rest and in transit, strict per-object access control and short-lived access tokens are baseline rather than hardening. Recipients typically hold no account, which means a verification path that proves the right person is receiving the message without forcing registration. Release after the sender is gone requires an explicit policy covering who may release, cancel or amend a scheduled message, and what evidence is needed.

Retention is the constraint that distinguishes this domain. Storage costs accrue for the entire waiting period, a lapsed subscription must not silently destroy content, and the platform needs a documented answer for what happens to undelivered messages if a payment fails or an account goes dormant. Data-protection rules on erasure interact awkwardly with a promise of future delivery, so those rules belong in the design, not the terms page.

The Solution

Functional blocks

The architecture separates identity and account management, a media capture and storage pipeline, a scheduling and trigger engine, a delivery layer across email and messaging channels, subscription and billing, and an administration panel. A modern PHP runtime with a relational database on a conventional web server is an appropriate foundation, with version control and a defined branching process supporting collaborative work on the codebase.

Working with an existing application

Where an application already exists, the first task is mapping it rather than replacing it. Tracing every interface element to its database fields and business rules exposes what is sound, what is duplicated and what is unreachable, and creates room to add capability without destabilising behaviour that already works.

Media pipeline

Video and audio need a pipeline, not a file field. Uploads are chunked and resumable, transcoded to widely supported formats and bitrates, given a poster frame, checksummed on write, and stored in object storage behind signed, expiring URLs rather than in the database or a public directory. Because playback may happen far beyond the recording date, format choice favours long-lived codecs and the platform is able to re-encode an archive when a format falls out of support.

The scheduler

The scheduler is the component that must never drift. The minimum is a durable queue with persisted jobs, exactly-once delivery semantics enforced by an idempotency key, explicit time-zone handling for both sender and recipient, and a dead-letter path for failures. Delivery goes out through a transactional email service with authenticated sending domains, and recipient contact details are revalidated periodically because addresses decay over long waits.

Build practices

  • Schedule is separated from payload, so a delivery date can change without touching stored media
  • Every scheduling action is written to an immutable audit trail
  • The queue is monitored for jobs that are due but unprocessed
  • Cross-browser and cross-platform testing covers capture as well as playback, since recording behaviour differs sharply between browsers and operating systems
  • Later automation such as transcription, tagging or subscription handling is layered on a stable core rather than embedded in it

What This Delivers

Confidence is the product. That means verified backups with rehearsed restores, alerting on any missed delivery window, plain-language confirmation to the sender of exactly what will be sent and when, controlled release rules that hold when the sender can no longer act, and a media format strategy that assumes the playback device does not yet exist.

Technologies and Tools

  • Modern PHP runtime with a relational database on a conventional web server
  • Object storage with signed, expiring URLs for media
  • Chunked resumable upload and transcoding pipeline
  • Durable job queue with idempotency keys and a dead-letter path
  • Transactional email service with authenticated sending domains
  • Version control with a defined branching process