Skip to content
Contact

Malé kroky

Narrated short stories you can buy and listen to, but not download

Visit Website →
Malé kroky

Malé kroky ("Small steps") is a set of short stories that Jana Chmelová wrote and narrated herself. We made a design system for it in Figma and built the site from it on WordPress, with a custom theme and a custom plugin. A story is bought without registering and paid for by bank transfer with a QR code. Once the payment lands, the story shows up in the buyer's library on its own. It plays right on the site, and the recording never leaves it as a single file.

Malé kroky

The Challenge

Jana Chmelová writes short stories about ordinary life and reads them herself. She wanted to sell them one at a time, for 49 koruna each. But an MP3 that someone downloads can be forwarded the same minute, and the sale is gone. The kind of protection big streaming services use is billed every month, and a 49-koruna story will never earn that back. The purchase also could not start with registration. Someone who wants to hear a sixteen-minute story is not going to create an account and think up a password for it. Payment is by bank transfer, so a day or two can pass between the order and the listening, and the customer should know what is happening the whole time. And Jana would be adding new stories herself, with no developer involved.

Our Solution

  • The Figma design system starts from the logo the author already had.We took the colours from it and from her social media posts: a cream background, olive text, and terracotta for the leaves and footprints. There is no black in the palette. Body text is 17 px, and every pairing of text and background meets WCAG AA contrast.
  • The stories have no illustrations, the genre colour is the cover.Olive means something to think about, honey is humour, terracotta is everyday life, and sand is for the sadder ones. So nobody has to hunt for a picture when a new story goes up.
  • The site runs on WordPress with a custom theme and a custom plugin.We used neither a page builder nor WooCommerce. A purchase is always one story or one collection, with no cart and no shipping, and that does not take a shop plugin.
  • The order is a form with a name and an email.Once it is sent, the site issues an invoice through SimpleShop and shows the QR code, the account number, and the payment reference straight away. The invoice also arrives by email.
  • After payment, everything happens without Jana.SimpleShop tells the site that the money has arrived. The site creates an account, unlocks the story, and sends an email with a link where the customer sets a password. And if that payment message ever gets lost, the site goes through the paid invoices itself every hour.
  • Anyone who buys online has 14 days to withdraw from the contract.That does not fit a story they may have listened to in the meantime. So the order asks whether they want the story right after payment and give up the right to withdraw. Without that consent, the site unlocks the story on the fifteenth day.
  • The recording never leaves the site as a single file.After upload, the plugin cuts it into ten-second segments and encrypts each one. The player puts them together as it plays, and for every segment the server checks again that the customer is signed in and owns the story. A link to the audio is valid for six hours, and only for the sign-in it was issued to.
  • We left DRM out on purpose.It is billed monthly, and a 49-koruna story cannot carry that. Our protection gets by on ordinary PHP hosting and stops the Download button, Save as, and a forwarded link. One account can be signed in three times at once at most. Recording the sound off the speakers is always possible, and not even Netflix can prevent that.
  • The player is our own, without the menu a browser adds to audio.It can speed up to double, slow down to 0.75×, and skip 15 seconds either way. It remembers where listening stopped, so the library offers to continue from the same spot, on another device too. Free stories play in full, with no sign-in.
  • The admin is WordPress with only what Jana needs left in it.We shortened the menu and added Stories, Collections, Customers, and Sales and payments. To add a story she fills in the title, description, genre, and price and uploads an MP3. The site works out the length itself and does the cutting and encrypting in the background. She also has a 21-page guide.

What We Delivered

Figma design system with 35 components and 73 icons

WordPress with a custom theme and a custom plugin

Purchase without registration, payment by bank transfer with a QR code

Listening in encrypted segments, no file to download

Account and library set up on their own after payment

A player that remembers where you stopped

Free stories in full, with no sign-in

Stories managed without a developer, plus a 21-page guide

Technologies Used

WordPressPHPJavaScriptHLSAES-128hls.jsSimpleShop APISecure Custom FieldsFigma

Want Similar Results?

Let's discuss your project. We'll provide a detailed quote within 48 hours.
Get a no-obligation quote