Case study03of 05

Audio system · Source published

Auralis

Explainable audio recognition with secure full-stack workflows.

An experimental audio-recognition application that analyzes microphone or uploaded clips, ranks an original catalog, and explains confidence through signal and score diagnostics.

Role
Product direction, full-stack architecture, audio-analysis workflow, interface design, testing, and release verification.
Year
2026
Status
Source published
Stack
React · TypeScript · Fastify · PostgreSQL · Prisma · Web Audio API · Zod · Vitest
Auralis landing page presenting microphone capture and upload recognition workflows.
Product captureAudio-recognition landing experience

Overview

Auralis is an experimental full-stack audio-recognition application for capturing or uploading a short clip, extracting signal characteristics, receiving ranked matches, and retaining private recognition history and favorites.

Problem

Commercial music recognition requires infrastructure and catalogs beyond the scope of a portfolio project, while fake predetermined results provide little engineering value.

Solution

Auralis implements a smaller transparent recognition pipeline using original generated audio, browser-derived PCM descriptors, strict backend validation, ranked candidate scoring, and explicit confidence diagnostics.

Feature evidence

Capture and upload

Microphone recording and bounded audio uploads enter one analysis workflow.

Signal analysis

PCM features cover frequency bands, envelope behavior, pitch, and harmonic estimates.

Explainable ranking

Candidate scores, runner-up gaps, signal quality, and confidence states remain visible.

Private library

Authenticated history, favorites, and dashboard analytics are server scoped.

System layers

A React client decodes audio and derives bounded descriptors. Shared contracts validate the handoff to Fastify, where the recognition engine scores an original catalog and persists user-owned history.

  1. 01

    React + Web Audio

    Capture, decoding, PCM extraction, and visual diagnostics.

  2. 02

    Shared contracts

    Audio limits and descriptor validation.

  3. 03

    Fastify API

    Authentication, byte-level validation, and recognition coordination.

  4. 04

    Recognition engine

    Ranked catalog scoring and confidence diagnostics.

  5. 05

    PostgreSQL + files

    Private history, favorites, catalog, and staged storage.

Where the engineering concentrates.

Treating client audio as untrusted

Browser-derived descriptors are useful for analysis but remain input that the server validates and bounds.

Confidence without false certainty

Signal quality and the gap between ranked candidates influence explicit confidence states.

Choices and tradeoffs.

01

Original bounded catalog

The recognition pipeline demonstrates real matching without pretending to cover commercial music.

02

Byte-level file detection

Container and media evidence are checked independently of filenames and request headers.

03

Compensating cleanup

Filesystem and database failures trigger explicit cleanup behavior.

04

Synchronous processing

The current scope favors an inspectable request lifecycle over background infrastructure.

Security, accessibility, and testing.

Security

  • Authenticated private history and favorites
  • File type detection from bytes
  • Independent container metadata validation
  • Bounded duration and sample-rate inputs

Accessibility

  • Text equivalents for visual diagnostics
  • Keyboard-operable capture and upload flows
  • Confidence communicated with labels, not color alone
  • Responsive media-console layout

Testing

  • Vitest checks for audio utilities and score behavior
  • Validation tests for descriptors and upload limits
  • Recognition confidence and runner-up behavior
  • Failure cleanup verification

Current boundaries

The current product has a deliberate scope. These boundaries define what it does not claim.

  • Small synthetic catalog
  • Browser features are not cryptographically tied to uploaded audio
  • No production acoustic fingerprinting
  • No arbitrary commercial-song recognition
  • Local storage is not horizontally scalable
  • Processing is synchronous

The next credible steps.

  1. 01Move processing to a durable job boundary
  2. 02Bind server-derived features more closely to stored audio
  3. 03Replace local storage with an object-storage adapter
  4. 04Expand the original test catalog carefully

What the implementation clarified.

  1. 01

    A bounded original catalog demonstrates real ranking behavior without overstating commercial recognition coverage.

  2. 02

    Confidence becomes more useful when it exposes signal quality and distance from the runner-up, not just a top score.

  3. 03

    Upload safety requires independent checks of bytes, container evidence, duration, and sample-rate boundaries.