Back to projects

Strev

Trainer management with sensitive data and asynchronous work

Strev home page showing the routines screen of the app
Product view: Strev's acquisition page and routines workspace.

In one line

Strev is a web product for personal trainers. It brings together daily management, payments and video technique analysis without making the interface wait for the model.

The problem

Strev handles routines, progress and health data that need specific protection inside the application.

Video technique analysis takes longer than a normal request. The interface needs to respond while that work continues in the background.

How it works

  1. Sensitive fields are encrypted separately

    The rest of the document remains available for normal queries while health data stays protected inside the database.

  2. Video goes to a queue

    The request returns straight away and the analysis runs elsewhere. The model is Gemini and the job is judging exercise technique, not generating routines.

  3. If Redis goes down, the API holds

    The rate limiter degrades when the cache is unavailable and lets the main service keep responding.

  4. Every download checks ownership

    The application checks who requested the video before issuing a temporary download URL.

  5. Maintenance starts in preview mode

    Purge, migration and encryption tasks first show what they would change. Destructive execution requires an explicit command.

Where the bar sits

  • Queued video analysis
  • Field-level health data encryption
  • Explicit destructive maintenance

React, Node, Express, MongoDB, Redis with BullMQ, Stripe and Gemini. Closed source.

Contact Me

All three fields are required.