Work / Case Study
A home for Aniken D. Robinson's dark short fiction, built and hosted by VTS. A masked host presents the programme; twenty tales sit behind him with cover art, a proper reader and a downloadable ePub apiece — and the reader who likes one finally has a way to find the next.

20
tales, each with cover art and an ePub
21,353
words — from 274 to 2,485 apiece
0
words retyped — the site harvests them
4 min
median read, timed from the prose itself
Aniken D. Robinson writes dark short fiction, and writes it fast — a new tale most weeks, running from a two-minute dare you read in the dark to an eleven-minute deep-space slow burn. Under the name iTaleSoWell he had built a real body of work in a matter of months.
It was scattered across five houses that don't talk to each other. Prose on Wattpad. A single on Kindle. Episodes on YouTube and TikTok. Behind-the-curtain posts on Instagram. Every one of those platforms owns the relationship with the reader, decides who sees the next thing, and can change its mind on a Tuesday. A reader who finished one tale and wanted another had nowhere obvious to go.
What was missing wasn't marketing. It was an address of his own — one place that holds all of it, presents it the way he'd present it, and turns a reader who liked something into a reader who comes back.
iTaleSoWell — a masked host with a crypt of tales — isn't a skin over a blog. He decides what the pages are called (Now Showing, The Library, Your Host), what a reader is doing when they arrive (taking a seat), and what a tale is when it opens (a feature). Give a writer a theme and you get decoration. Give them a character and you get an information architecture that writes itself.
A wall of cover art is a novel-and-movie idiom, and it fails a thousand-word tale — the art can't carry what the prose can. So the library leads with each tale's actual opening paragraph, pulled from the story rather than written as a blurb. The poster grid is still there as a toggle, for when the art is the point.
The catalogue splits into an Early Show and a Late Show, read off the content rating each tale already carries. It's theatre language on purpose. The readers most likely to want the milder shelf are the ones a label like "kids" would condescend to — and a surface that declares itself child-directed invites a body of regulation nobody here needs.
The author writes on an Android handset, and his readers arrive on phones. So the reader was built there first: a measure capped at about ninety characters so the eye doesn't lose its place on the return, a chapter index built from the headings he already types, and text size that sticks between visits. Reading position is stored as a fraction rather than a page number — the only form that survives changing the font, rotating the phone, or switching between scrolling and page-turns.
Every tale carries a downloadable ePub, generated from the same prose the page shows. Nobody assembles them by hand, so there is no version of the site where the download and the page disagree.
A storefront is the easy half. The harder half is the room behind it, where the author files a tale, names what it is, and decides who hears about it — because that is the part he touches every week for years.
It is built for the numbers he actually has. The overview ranks, rather than totals, because “which of my tales is working” is real information at a hundred reads and the hundred is not, and it reports movement in people rather than percent, because at this size “up fifty percent” means two readers. His own site sits beside the platforms as one channel among four — the one marked as his.
Vocabulary works the way writers do. A new tag arrives held: usable the moment he invents it mid-sentence, invisible to readers until he promotes it. Forcing an author to stop and administer a taxonomy gets the taxonomy abandoned; publishing every passing word as a public category gets it filled with noise. Held is neither.
And the list runs itself without behaving like a bot. Publishing a taleis the send, so there is no second thing to remember, but it is capped at one message a week and delivered at a civil hour, on the principle that a tale published at three in the morning should not email anyone at three in the morning. Bounces and complaints suppress themselves against the thresholds the mail provider actually enforces.
Two people sign in, and they are not equals. Approving a piece of artwork is the author's alone; the developer can keep house but cannot bless the work. Even the notification badges respect it — a count of decisions waiting on Aniken never appears on my screen, because a nag about work you are not permitted to do is just noise.
The back office is shown with sample data at realistic volume — a dashboard has to be designed against the numbers it will hold, not against an empty state.
A site for an author's life's work should still open in ten years. This one is hand-written HTML, CSS and JavaScript with no framework and no build step — there is nothing in it to rot. What automation exists sits outside the site: a job that reads the author's Wattpad and builds the mechanical parts of a new tale, and a deploy that is one fast-forward pull.
Site
Hand-written HTML, CSS and JavaScript — no framework, no build step, no dependencies to age out from under it
Reading
Scroll or CSS-column page-turns, chapter index derived from the author's own headings, position stored as a fraction so it survives font changes and rotation
Harvest
A Python job reads the author's Wattpad, builds the tale text, cover, ePub and reading time, and opens a pull request for the parts that need a person
Media
Covers and ePubs served from a store outside the repository — binaries never enter git history, where they cannot be removed
Deploy
A fast-forward git pull into the web root, served by Apache with brotli and immutable asset caching
Double opt-in list on the author's own domain, sending through SES with DKIM alignment
When a new tale appears, the pipeline does the parts with a right answer: the text, the cover, the ePub, the reading time computed from the word count. It then stops and asks. The content rating, the logline on the poster, and the host's sign-off after the last line are the author's — they are judgements about his own work, and a machine guessing at them would be worse than a machine not trying.
The same line runs through the mailing list. It is double opt-in on his own domain, there is no way to add an address by hand, and every message carries a one-click way out. An audience nobody can throttle, built one person at a time, is the only asset in this business that compounds.
If you make something and it lives scattered across platforms that own your audience, the fix is an address you control. Let's talk about what yours should be.