Inspiration

Imagine arriving at a university only to discover that your usual entrance is closed. You received a notification, but it never told you which entrance to use instead.

Now imagine the announcement actually included that information, but your phone's collapsed notification hid it.

These are two different problems: missing information and information that fails to remain visible.

Important announcements should not leave people guessing about what to do next. We built SignalProof to help organizations identify these problems before publishing their messages.

What it does

SignalProof is a pre-send validation and simulation laboratory for important announcements.

It helps schools, universities, event organizers, and operations teams examine a message before it reaches its intended audience.

SignalProof brings together four capabilities:

1. Announcement Lab — Find the missing facts

Users create structured announcements for campus entrance closures, class or event cancellations, and service outages.

A deterministic rules engine identifies missing or invalid information, including required actions, effective times, alternative locations, and contact details. Every finding explains the issue and links directly to the field that needs correction.

2. Channel Lab — One message. Three realities.

The same announcement is transformed into three simulated communication formats: SMS, mobile push notifications, and email.

SignalProof analyzes SMS encoding and estimated segments, demonstrates collapsed versus expanded push notifications, and previews email subjects, snippets, and bodies.

Most importantly, it distinguishes between information included in the full message and information actually visible in a shortened preview.

3. Review & Evidence — Make improvements measurable

Users can record announcement versions and compare them side by side.

Our demonstration starts with a campus closure containing three errors and two warnings. After correcting the missing information, the source validation passes all 13 applicable checks.

SignalProof identifies changed fields, resolved findings, remaining warnings, and channel-specific differences. It also detects regressions when a newer version introduces problems.

4. Human Review — Keep people responsible

Automated checks cannot verify every real-world fact.

SignalProof therefore includes manual review checklists, explicit warning acknowledgements, and review records tied to the exact announcement content and channel settings.

If reviewed content changes, a new review may be required.

Users can export evidence as JSON, plain text, or printable reports, and back up their browser-local history.

How we built it

SignalProof is built with React 19, TypeScript, Vite 8, Tailwind CSS 4, and Lucide.

We designed a modular architecture separating announcement validation, channel generation, semantic fact coverage, version comparison, and human review.

The core validation engine is deterministic and explainable. It does not depend on a language model or external AI API at runtime.

For time-sensitive announcements, we integrated the Temporal polyfill to support named IANA time zones, daylight-saving transitions, nonexistent local times, and explicitly resolved ambiguous times.

Versioned LocalStorage preserves drafts, evidence snapshots, and recorded reviews without requiring accounts or a backend.

We used Vitest, React Testing Library, Playwright, and axe to test the application. GitHub Actions builds, verifies, and deploys the static application to GitHub Pages.

Challenges we ran into

Keeping source information consistent across channels

A field being complete does not guarantee that its value appears in the generated SMS or visible notification. We developed semantic fact references so the system can identify when information is missing, omitted, or hidden.

Making historical evidence trustworthy within a local application

We needed to preserve what earlier versions actually contained without silently replacing their findings when the validation engine changed. We introduced versioned snapshots, canonical content binding, and compatibility-aware storage migration.

Handling daylight-saving time correctly

Some local times never occur, while others occur twice. We implemented explicit time-zone interpretation and ambiguity handling instead of making silent assumptions.

Balancing useful warnings with a clear interface

Compact notifications naturally hide details. We grouped related visibility concerns while preserving the underlying individual findings and severity counts.

Accomplishments that we're proud of

  • Built a working application covering three announcement scenarios and three communication channels.
  • Created explainable validation rules with direct correction guidance.
  • Implemented real before-and-after analysis and content-bound human self-attestation.
  • Added time-zone-aware validation and portable evidence reports.
  • Passed 234 unit and integration tests, 25 production end-to-end tests, 6 deployment smoke tests, and 9 live-site browser tests.
  • Published the application on GitHub Pages with an automated, verified deployment workflow.
  • Built responsive interfaces and tested key workflows across Edge, Firefox, and Playwright WebKit.

What we learned

Building SignalProof reinforced an important principle:

A complete message is not necessarily a visible message, and a visible message is not necessarily a correct one.

Source completeness, channel visibility, and human verification are separate responsibilities. Reliable communication tools should make those boundaries understandable rather than hiding them behind a single score.

We also learned the importance of reproducible builds, accessibility testing, defensive local storage, and preserving evidence when software rules evolve.

What's next for SignalProof

We want to expand scenario coverage, conduct usability testing with communications and accessibility teams, improve multilingual support, and validate channel simulations against additional real-world devices.

Future versions could support optional collaborative reviews and authenticated workflows, with appropriate privacy protections.

AI assistance and transparency

OpenAI Codex assisted with implementation, UI development, testing, debugging, documentation, and release engineering.

The running application does not rely on an AI API. Its core checks are deterministic.

Our demo uses fictional announcement data and locally synthesized English narration. SignalProof does not send actual messages, verify institutional authority, certify safety, or guarantee delivery. Human judgment remains essential.

Built With

Share this project:

Updates

Submission history