Neu in Underfiction

Version 0.17.0

• Ordne deine Figuren mit eigenen Tags in Gruppen und filtere das Figuren-Regal nach Tag. • Bibliothek, Underfiction und Community teilen sich einen Umschalter, und die Community lässt sich nach Name und Tag durchsuchen. • Stellst du den Erzähler zur Rede, sagt er, was der Text getan hat, und verpflichtet sich zu einer Regel, die er hält. • Beim Tippen bleibt die Geschichte bis zum Eingabefeld sichtbar. • Korrekturen überall.

Version 0.16.9

• Bild- und Clip-Züge haben dieselben Aktionen wie Prosa, „Zu Hintergründen hinzufügen“ steht neben „Animieren“. • Lange Beschreibungen zeigen nahe der Grenze einen Zähler, und beim Teilen steht, was zu kürzen ist. • Ohne Credits oder abgemeldet? Direkt aus der Meldung aufladen oder anmelden. • Bilder, die du am Handy Figuren und Welten hinzufügst, erreichen jetzt deine anderen Geräte. • Beim Wechsel zwischen Versionen eines Zugs bleibst du an deiner Stelle. • Korrekturen überall.

Version 0.16.8

• Wähle das Format einer Illustration: Hochformat, Quadrat oder Querformat. • Der Wechsel zwischen Geschichte, Bild und Video steht jetzt immer über dem Eingabefeld. • „Kosten pro Zug anzeigen“ in den Einstellungen zeigt unter jedem Zug, was er gekostet hat. • Modellpreise folgen jetzt dem, was ein typischer Zug wirklich kostet. • Ein vom Längenlimit abgeschnittener Zug wird nicht mehr berechnet. • Flüssigeres Scrollen, während eine Antwort einläuft. • Korrekturen überall.

Version 0.16.7

• Das Modell, das deine Geschichte schreibt, wählst du jetzt direkt im Einrichtungsformular neben Beginnen. • Der Preis neben jedem Modell ist, was ein durchschnittlicher Zug in Credits kostet; er hängt von der Geschichte und der Länge der Antwort ab. • Dein Guthaben bleibt stabil, während ein Zug geschrieben wird; bisher sank es kurz und sprang zurück. • Ein Modell ohne Version zeigt keine leere Versionsmarke mehr. • Korrekturen überall.

Muse Wonder and Gemini 4 Argon join, GPT and Inkling leave

Muse Wonder joins the model picker and tops the shortlist as best overall. It writes consensual sex and graphic violence and says no, in its own words, to coerced sex. Gemini 4 Argon joins as a family of its own rather than the next Gemini Pro: it refuses explicit sex where Pro writes it, and still writes violence. GPT 6.1 Sol and Inkling leave the picker on usage; turns already written on them keep their names in the log. The shortlist is Muse, Gemini Pro and DeepSeek.

A smaller ceiling on invites

An invite still earns you 30% of every top-up the person you invited makes, and the lifetime ceiling per invited reader is now 1,000 credits. Anyone you invited before today stays on the 5,000 they joined under. The 200 credits an invited reader starts with on top of the welcome grant are unchanged.

Version 0.16.6

• Das Vorlesen spielt jetzt auch dort, wo es bisher stumm blieb. • Das Vorlesen hat auf jedem Gerät eine Leiste: verstrichene über gesamter Zeit, Pause und Stopp nebeneinander. • Anhören öffnet sein Blatt, und dort beginnt eine Lesung auch von vorn. • Zwei neue Stimmen zum Anhören. • Korrekturen überall.

Version 0.16.5

• Eine Illustration oder ein Clip erscheint dort, wo du ihn angestoßen hast, nicht zwischen deiner Zeile und ihrer Antwort. • Ein Zug schreibt weiter, wenn du die App verlässt, und einer, den eine abgerissene Verbindung unterbricht, wird fortgesetzt statt doppelt bezahlt. • Die Bild- und Videoauswahl nennt für jedes Modell den Preis. • Änderungen und Löschungen halten über alle Geräte. • Korrekturen überall.

Flux 3 draws, Seedance 2.5 animates

Flux 3 joins the models you can illustrate on, at twelve credits a picture. It keeps close to what you ask for, down to the medium: an oil painting comes back as an oil painting, an ink drawing as ink. It sits behind a filter that lets a battlefield through and turns a nude away. Seedance 2.5 joins the models you can animate on: four to fifteen seconds, up to 1080p, sound on every clip. It moves a painted or drawn picture and refuses a photographic one with a person in it, so it is the model for illustrated scenes; a clip it refuses costs nothing. Five seconds at 720p come to two hundred and eighty-eight credits, against fifty-eight on MiniMax H3 Max, which stays the default.

GPT moves to 6.1

GPT 6.1 Sol takes the GPT slot in the model picker at a quarter of Astra's price: three credits per thousand characters, against fifteen. The 1M context is unchanged. If GPT was your model, it still is; turns already written on GPT 6 Astra keep its name in the log.

Version 0.16.4

• Der Senden-Knopf behält auf schmalen Bildschirmen seinen Platz im Eingabefeld. Ein langer Modellname wird stattdessen gekürzt.

DeepSeek's version is a number

The version beside a model's name is a number and nothing else, so DeepSeek's reads 4.1. V4 Pro leaves the versions you can keep DeepSeek on: it was a different model rather than an earlier release of the same one. If you had kept DeepSeek on V4 Pro, your next turn is written on 4.1 and the scene says so once. Turns already written on V4 Pro keep its name in the log.

Version 0.16.3

• Ein neues Konto startet mit 200 Credits. Wen du einlädst, startet mit 400. • Eine Geschichte läuft vier Züge, bevor sie nach einem Konto fragt.

Version 0.16.2

• Lange Szenen lesen ältere Züge über Notizen, die jeder Zug behält, und halten nie mehr zum Verdichten an. • Während die Engine vor ihrer ersten Zeile nachdenkt, zeigt der Zug, wie lange schon. • Ein Starter öffnet die Szenen-Einrichtung mit einer kurzen Prämisse, die du vor dem Anfang ändern kannst. • Halte ein Modell auf der gewählten Version oder lass es der neuesten folgen. • Korrekturen überall.

New pictures, new clips

Qwen Image 3 Pro is the new default for illustrations: it draws the dark scenes up close where Seedream kept its distance, and costs a little less. Muse joins at four credits a picture and GPT Image 2.5 for the finest detail, both behind a strict filter. To animate, MiniMax H3 Max is the new default: sound on every clip, and now up to 1080p. Wan 3.0 takes over from Wan 2.7 for less, and Gemini Omni Flash takes Veo's place for cinematic shots at a quarter of the price. Seedream, Kling, Veo, Krea, Nano Banana 2 Lite and MiniMax Turbo leave the pickers. If Wan was your model, it still is; pictures and clips already made keep the name they were made on.

Version 0.16.1

• Beginne eine Geschichte allein mit einer Welt. Ohne Hauptfigur führst du von außen Regie, und jede Zeile, die du schickst, ist eine Anweisung. • Wie lang eine Antwort wird, entscheidet jetzt der Erzähler, und dass die Engine deine Figur in Ruhe lässt, schaltest du unter Erzählweise ein. • Das Community-Regal zeigt jetzt alles; ein Schalter in den Einstellungen schließt es wieder. • Korrekturen überall.

Opus moves to 5.5

Opus 5.5 takes the Opus slot in the model picker, and it costs a fifth less than Opus 5: six credits per thousand characters in the picker, against eight. The 1M context is unchanged. If Opus was your model, it still is; turns already written on Opus 5 keep its name in the log.

Grok moves to 4.7

Grok 4.7 takes the Grok slot in the model picker, and it now thinks before it writes. The old setting hurried it to the first line; reading whole scenes side by side, the deliberating version holds the room better, lets feeling arrive through a gesture instead of naming it, and stops tidying its own tension away. That costs time and credits: first prose lands in under a minute on a long chapter rather than half of one, and a thousand characters costs five credits where 4.6 cost two. Grok still holds a scene's language where 4.6 would answer German prose in English, still balks at least, and is still the one-tap retry when another model refuses a passage. The 500k context is unchanged. Grok now runs straight from xAI instead of through an intermediary, which is quicker and drops a system prompt that rode every turn; xAI sees the prose and never the reader, and the model picker's privacy badge says so. Turns already written on 4.6 keep its name in the log.

Version 0.16.0

• Neu hier? Deine erste Szene sind drei Felder: dein Name, wen du triffst, wo es beginnt. Den Rest schreibt die Engine. • Eine Szene mit einer einzigen Figur beginnt jetzt mit einer Zeile Kontext. Wähle, wer zuerst spricht — ihre Begrüßung, deine eigene Zeile, oder lass beides leer, dann eröffnet die Engine die Szene. • Eine aus einer Zeile geschriebene Figur handelt von ihr, nie von dir. • Korrekturen überall.

DeepSeek moves to V4.1

DeepSeek V4.1 Flash takes the DeepSeek slot in the model picker. On the same scenes it wrote cleaner prose than V4 Pro — fewer stock phrases, half the dashes — and it costs half as much: one credit per thousand characters in the picker, against two on V4 Pro. It thinks before it writes and keeps the 1M context. If DeepSeek was your model, it still is; turns already written on V4 Pro keep its name in the log.

Version 0.15.9

• Eine Geschichte trägt keine Kopie der Porträts ihrer Figuren mehr in sich. Jeder Zug schickt deutlich weniger, gerade am Handy. Vorhandene Geschichten werden beim nächsten Speichern schlanker. • Gelöschte Geschichten werden nach dreißig Tagen planmäßig entfernt.

Version 0.15.8

• Veröffentliche eine Welt oder eine Figur vom Handy aus im Community-Regal. Autorenname und private Links stehen in den Einstellungen, eine eigene Karte lässt sich zurückziehen. • Eine Community-Karte öffnet sich im vertrauten Bogen; Regalkarten zeigen Bild und Namen. • Ein langes Kapitel kostet pro Zug weniger: Die App fasst früher zusammen und schickt nur, was der nächste Zug braucht. • Import ist in die Einstellungen gezogen; das Plus legt nur noch an. • Korrekturen überall.

Version 0.15.7

• Starte eine Szene direkt von einer Community-Karte: die Welt gibt den Rahmen, die Figur tritt deiner Besetzung bei. • Das Regal sortiert nach neu oder beliebt und filtert nach Schlagwort; Karten zeigen Kurztext, Schlagwörter und Umfang, die Besetzung einer Welt in Porträts. • Versehentlich jemanden blockiert? Die Einstellungen führen blockierte Autoren auf, mit dem Weg zurück. • Eine Szene ab 150 Zügen wird wieder geschrieben, statt stumm zu scheitern. • Korrekturen überall.

Version 0.15.6

• Ein Zug schreibt weiter, wenn die Verbindung abbricht oder du die App verlässt, und knüpft bei deiner Rückkehr dort an, wo er stand. • Ein abgebrochener Zug kommt jetzt auch dann an, wenn das Netz den ersten Versuch verschluckt. • Die Protokolle zeigen, was Bilder, Clips und Vertonung kosten, nicht nur Züge. • Geschichten benennen sich nicht mehr mitten im Kapitel um, und eine Geschichte öffnet beim neuesten Zug. • Korrekturen überall.

Version 0.15.5

• Fehlerbehebungen und Stabilitätsverbesserungen.

Gemini Flash moves up a version

Gemini 3.8 Flash takes the Flash slot and stays the default story model — the same 1M context and the same rate per token as 3.7. It does think longer before it writes: measured on the same scenes, deep in a long chapter it spends about twice the hidden reasoning 3.7 spent for the same paragraphs, so the picker prices Flash at three credits per thousand characters instead of two. Turns already written on 3.7 keep its name in the log.

Half of the cheapest clip

MiniMax H3 Max Turbo joins the models you can animate on: the same five to fifteen seconds, the same 480p and 768p, sound on every clip, at half of H3 Max's price. Five seconds at 768p costs twelve credits, against twenty-four on H3 Max and a hundred and sixty-four on Grok. H3 Max keeps its place in the picker.

Version 0.15.4

• GLM 5.2 und Grok 4.6 rücken zu den empfohlenen Modellen auf: der günstigste Zug und die wenigsten Ablehnungen. • MiniMax H3 Max animiert Clips mit Ton für ein Drittel der Credits.

A cheaper clip

MiniMax H3 Max joins the models you can animate on: five to fifteen seconds, 480p or 768p, sound on every clip, and well under half the price of anything else here that carries sound. HappyHorse leaves the picker in the same breath — MiniMax does its job for a third of the credits. Clips already animated on it keep its name.

Version 0.15.3

• Veröffentliche Geschichten, Figuren und Welten im Community-Regal — und stöbere in dem, was andere dort hingestellt haben. • Anführungszeichen machen eine Zeile zu Rede, der Schrägstrich führt Regie, blanke Prosa bleibt Prosa. • Im Roleplay ist ihr Kopf offen; deiner bleibt deiner. • Dein getippter Anfang überlebt den Story-Roleplay-Wechsel. • Regale sortieren das Neueste nach vorn. • Android: Porträts ziehen aus der Bibliotheksdatei aus — große Bibliotheken laden leicht, Tippen stockt nie.

Version 0.15.2

• Das Eingabefeld schwebt über der Prosa und hat Platz für einen Absatz. • Ein Bild-Prompt entsteht in etwa einer Sekunde, Wort für Wort im Feld. • Wähl das Bild zum Animieren vom Regal: Szene, Figuren, Welt, deine Fotos. • Schreib eine Zeile über die Beschreibung und lass den Rest generieren. • Eine Art von Anweisung pro Geschichte: schreib sie, benenn sie, nutz sie überall. • Grok 4.6 und Gemini 3.7 Flash übernehmen ihre Plätze; Bilder auf Grok Imagine 2.

Gemini Flash moves up a version

Gemini 3.7 Flash takes the Flash slot and stays the default story model — the same 1M context and the same rate per turn as 3.6, on a model Google built to hold a longer thread. Turns already written on 3.6 keep its name in the log.

Grok moves up a version

Grok 4.6 takes the Grok slot in the model picker, still set to write rather than deliberate. Illustrations get Grok Imagine 2, and Grok clips animate on Grok Imagine 1.5, which adds 1080p. Turns and images already made on the older versions keep their names in the log.

Version 0.15.1

• Story oder Rollenspiel: Wähle die Form beim Einrichten. Rollenspiel beginnt bei einer Figur. • Die Erzählsteuerung nennt ihr Subjekt, und ein Ich-Erzähler behält seine Innensicht. • Schreib eine Anweisung einmal, nutze sie überall. Gespeicherte Anweisungen synchronisieren. • Deine Bibliothek folgt dir auf jedes Gerät. Ein Schalter schaltet die Synchronisierung ab. • Benenne deine Hauptfigur, bevor die Eröffnung entsteht.

Grok is back in the picker

Grok 4.5 rejoins the model lineup, set to write rather than deliberate — it reaches the first line of prose in seconds. Kimi K3 leaves the picker; turns already written on it keep their name in the log.

Version 0.15.0

• Fünf Klassiker kommen in die Bibliothek: Stolz und Vorurteil, Jane Eyre, Dracula, Überredung, Sherlock Holmes. • Die Bibliothek öffnet mit einer Bühne aus Welten und Einstiegen, neu fürs Telefon. • Wähle die Erzählweise oder schreibe eine Regieanweisung, der jeder Zug folgt. • Füge ein Bild hinzu, und der Erzähler schreibt, was er sieht. • Jede Passage lässt sich vorlesen, in einer Stimme deiner Wahl. • Exportiere eine Story oder die ganze Bibliothek als portable .underfiction-Datei.

The Library, rebuilt for the phone

The Library has its own shape on a phone now: a showcase that fits the width, a menu that sizes to its labels, and detail views with one clear way back. The navigation menu stays put on the pages it opens.

Credits read in your language

Credit amounts in logs, generation details, and top-ups are written in the language you are reading, on web, iOS, and Android.

Import says what went wrong

A character card or archive that will not open now names the file and the reason, instead of failing with one generic line.

Model rates on Android

The Android model picker shows what each model costs per turn, matching web and iOS.

Browse the openings on iPhone and Android

The starter browser is native now: page through the built-in worlds, their leads, and every authored opening without leaving the Library.

Directions, grouped at setup

Narration nudges are called directions, and story setup groups them into sections instead of one long list.

Duplicating a character keeps your place

Copying a character asks first and leaves the editor open, instead of dropping you back to the list.

Narration directions

Choose the voice before you write: First Person, Second Person, Present Tense, Inner Thoughts. The narrator holds what you pick for the rest of the scene, and scene summaries now keep that voice instead of pulling the prose back toward third person.

Standing directions

Give a story a direction in your own words — "keep her unreliable", "no dialogue tags" — and every turn follows it. It outlasts compression, travels inside portable archives, and comes along when someone takes the pen on a shared excerpt.

Four new openings in the original worlds

Pip, Syra, Lydia, and Lola each get an authored opening built on a shared secret or a craft rather than a stated romance. They lead their worlds in the library rail, and The Antler & Stone reaches the showcase for the first time.

Private or anonymized, stated plainly

Story and narration model pickers mark which models run inside Venice and which reach the model through anonymized routing. Hover a badge and it spells out what that guarantee covers.

Your library lives on your device

Stories, characters, and worlds are held locally, and nothing about them leaves the device unless you move it yourself. Portable .underfiction archives are how a story or a whole library travels between web, iOS, and Android.

One composer at every width

The prose composer uses a single compact layout from phone to desktop, and long speaker names no longer crowd out the field.

Steadier on every platform

Fixed iOS navigation dismissal and zoom transitions, web header and scrollbar shifts, Android segmented-control sizing, and a setup layout that moved while an animation ran.

The world showcase

The starter grids are now a moving showcase on the landing page and in every Library. Lead characters frame each world, the openings read like a table of contents, and the stage advances on its own until you touch it.

Straight into setup

Pick a world or a character and you land in story setup. The onboarding walkthrough and the separate persona step are gone.

Carry your whole library

Export everything — stories, characters, worlds, images, videos — as one portable .underfiction file, and import it on any other device. Merging keeps whichever copy of a story you edited last.

An empty shelf opens the Library

If you have not written anything yet, your shelf opens on the built-in worlds and characters instead of a blank screen.

The classics in eight languages

The complete classics collection — worlds, canon leads, and openings — is now localized in all eight supported languages.

A new landing page

Rebuilt around the showcase, with starting in the browser as the first move and the native apps a quieter link below it.

Five literary classics

Pride and Prejudice, Jane Eyre, Dracula, Persuasion, and Sherlock Holmes joined the built-in library on web, iOS, and Android — eight canon leads, new cover art, fifteen authored openings. You are not the protagonist by default: you take the governess's chair in Jane Eyre, Anne's position in Persuasion, and elsewhere you arrive beside canon as a confidante or a client.

Recommended models first

The story model picker opens on a clear first group of recommended models, with ratings and prices lined up down the list. Kimi K3 is back in the lineup.

Animate an image from earlier in the story

Any illustration already attached to the story can be the source when you animate a scene, not just the most recent one.

Illustrate and Animate, named the same everywhere

Media actions use the same labels and sit in the same place on web, iOS, and Android.

Stories follow your language

The prose language follows what you write, independent of the interface language. Switch mid-story and the narrator switches with you; keep going and it stays in the scene's language. The per-story language setting is gone, and interface language moved into Preferences.

World artwork on story cards

Story cards show the artwork of the world they belong to again.

Turn actions stay out of the way

Rerun, edit, share, and the rest stay quiet until you reach the passage they belong to.

A design pass across platforms

Tuned story setup, character editing, settings, navigation, and the input bar so web and iOS read as the same product at the same rhythm.

Write from an image

Attach an image to your next turn and the narrator writes from what it sees — a face, a room, a photograph you want in the scene. On web, iOS, and Android.

Read it aloud

Have any passage narrated in the model and voice you choose. Narration is cached on your device, so replaying a passage is free.

Export a story

Take a story whole, or stopped at any earlier turn, as readable Markdown or as a portable .underfiction archive carrying its characters, world, images, and videos.

Library actions in the toolbar

Import, export, and the rest of the library actions moved out of the page body and into the toolbar.

Clearer credit use

Credit spend rounds the way you would read it, and model pricing labels in story setup say what they mean.

Localized menus keep their labels

Fixed menu labels that fell back to English and a language switch that did not always take.

Opus 5

Upgraded Claude Opus from 4.8 to Opus 5 — a step up in long-scene coherence and prose control at the same price. Context window and credits-per-turn are unchanged; existing stories pick it up automatically.

Starter stories and Gemini 3.6 Flash

New starter stories on the landing page and in Library — curated openings you can step into with one tap, now on web, iOS, and Android. The library gained a Mine/Library switch so built-in material and your own work stay cleanly separated. Gemini 3.6 Flash joined the model picker and became the default story model.

Version 0.14.4

• Generierst du eine Passage neu, bleiben deine alternativen Fassungen erhalten – sie überstehen Abbruch, Fehler oder das Zurückkehren. • Lange Szenen kosten weniger in der Fortführung und halten besser zusammen, dank cleverer Komprimierung im Hintergrund. • Kimi ist zurück im Lineup. • Dazu eine Runde Zuverlässigkeits-Fixes für Speichern und Generierung.

Shared story excerpts

Share a moment from any story as an unlisted link — a directive and the prose it produced, in a clean reader view. Readers can take the pen: one tap copies the full setup into their own library so they can continue the scene their way. Links are unlisted and never indexed; only you can share them.

Version 0.14.3

• Geschichten, die mit einer leeren Szene beginnen, schreiben jetzt ihren Anfang, statt fehlzuschlagen. • Erneutes Versuchen nach einer fehlgeschlagenen Generierung dupliziert oder verliert keine Passagen mehr. • Lehnt ein Modell eine Szene ab, siehst du jetzt den tatsächlichen Grund statt eines generischen Fehlers. • Schlankeres, zuverlässigeres Speichern mit weniger Fehlermeldungen.

Version 0.14.2

• Charakterbücher wirken jetzt in der Geschichte: Einträge zünden auf ihre Stichwörter, während sich die Szene entfaltet. • Tavern-Import ist jetzt verlustfrei — Szenario, Begrüßungen und Bücher überstehen den Rundweg. • Charakterbögen neu geordnet nach dem, was die Prosa wirklich steuert, plus neuer Details-Abschnitt. • Klarere Meldungen, wenn eine Generierung fehlschlägt; leere Generierungen werden automatisch erstattet. • Schlankere Figuren in den Startwelten, Korrekturen am Guthaben-Fluss und die übliche Runde Feinschliff.

Version 0.14.1

• Illustrieren: Bilder von Figuren und Szenen erzeugen, direkt aus der Geschichte. • Animieren: aus einer Illustration oder einem Hintergrund wird ein kurzer Videoclip. • Neue Modelle: GPT 5.6 Terra, Kimi und DeepSeek — Seedream 5 Pro führt jetzt die Bildgenerierung an. • Aufgeräumte Eingabeleiste: Einstellungen, Illustrieren und Animieren hinter einem Plus-Menü. • Mit einem Tipp ans Ende der Szene springen, dazu eine schnellere Bibliothek und die übliche Runde Fehlerbehebungen.

Version 0.14.0

• Szenen-Hintergründe: Stimmung per Hintergrundbild, direkt in der Eingabeleiste umschaltbar. • Neuer Szenen-Navigator: über den Story-Titel zwischen Kapiteln springen. • Tavern-Charakterkarten (V2 & V3) und World Books auf allen Plattformen importieren. • Aufgeräumte Bibliothek, einfachere Einstellungen, schnellere Bildverarbeitung — plus die übliche Runde Fehlerbehebungen.

Version 0.13.2

• Neue Story-Startmodi: Adapt, Wörtlich und Figur. Figuren können jetzt Begrüßungen speichern und über TavernCard first_mes importieren/exportieren.

Version 0.12.9

• Die übliche Runde an Fehlerbehebungen und Feinschliff.

Version 0.12.8

• Underfiction spricht jetzt Japanisch, Koreanisch und traditionelles Chinesisch. • Plus die übliche Runde an Korrekturen und Feinschliff.

Version 0.12.5

• Underfiction spricht jetzt Spanisch. • Plus die übliche Runde an Korrekturen und Feinschliff.

Version 0.12.2

Upgraded Opus from 4.6 to 4.7. Bumped the freedom rating on GPT and the quality rating on Gemini to reflect recent provider improvements. Fixed a credit-purchase webhook bug where some Stripe deliveries silently retried instead of posting credits cleanly on the first try.

Version 0.12.1

Overhauled the credits experience with cleaner controls, a smarter default amount, and instant rendering of saved cards and auto top-up. Redesigned the landing page with a full-screen hero, prose sections, and a simplified world showcase. Fixed missing tab bars when navigating directly to /characters or /stories, and resolved a handful of hydration errors. Loading skeletons now match the actual content they replace.

Version 0.12.0

Removed the mood system entirely — presets, prompts, and UI — to simplify story setup and let your prompts shape tone directly. Stabilized paragraph reveal during streaming so text lands smoothly. Improved the main menu, fixed a hero image flash on world open, an edit-last-turn bug, and assorted mobile polish issues.

Version 0.11.3

Normalized spacing across galleries, modals, and page shells, and tightened touch targets on mobile. Switched to new generative cover art across the worlds.

Version 0.11.2

Introduced shared typography, control, surface, and spacing token systems across the app for consistent rhythm and visual language. Refreshed the logo, favicons, and promo video, and polished the navigation icons.

Version 0.11.1

Built-in worlds and characters are now immutable templates — editing one transparently clones it to your personal library on first edit, so the originals stay clean. Added a dedicated My Worlds section, made the Core sections collapsible, and refined character card defaults. Added a Sentry alert for missing Venice pricing so model gaps get caught before users hit them.

Version 0.11.0

New fast-track flow lets you start a story in seconds — pick a world, drop in a character or persona, and you're writing. Refined the mobile bottom navigation, polished modal interactions, and added new crosspost articles to the blog.

Version 0.10.1

Image previews now appear instantly, with no shimmer flicker when changing sources. Embedded a promo video on the landing page and refreshed the model picker.

Version 0.10.0

Export a world and all its characters as a portable book file, and import books from other users with their images included. Added comprehensive SEO infrastructure with structured data, blog posts, homepage FAQ, and an accessibility pass that brought the PageSpeed score to 100.

Version 0.9.1

Stabilized text reveal streaming so paragraphs land without jumping. Fixed shimmer flicker on cached character images, resolved leaked body scroll locks, and improved overall scroll performance on long stories.

Version 0.9.0

Rewrote scene summary prompts to better preserve character dynamics and relationship arcs across transitions. Unified the scene opening flow so new scenes, forks, and regenerations all start consistently. Added user-friendly provider error messages that name the model and offer a one-tap retry.

Version 0.8.2

Rebuilt the core story runtime for reliability and lower token cost. Menu pages now open as overlays inside the story view so you never lose your place. Added mid-scene history compression to keep long conversations affordable, and introduced a free-tier framing for new users.

Version 0.8.1

Fixed race conditions in the billing pipeline and library reconciliation. Patched a cross-user data leak, closed an auth bypass on system-generated content, and added missing database indexes. Improved cursor stability during streaming.

Version 0.8.0

Introduced Patronage loyalty tiers with bonus credits on every purchase, and a configurable auto top-up so you never run dry mid-scene.

Version 0.7.2

Import and export characters as TavernCard V2 PNG files — fully compatible with SillyTavern, ChubAI, and other platforms. Added smooth expand/collapse on the advanced character fields.

Version 0.7.1

New bottom navigation bar with thematic icons. Scene list and menus now open as swipe-to-dismiss bottom sheets. Replaced the input modal with an inline expanding input bar. Scene suggestions are now free for everyone. Fixed a handful of tap-target and zoom issues on iOS.

Version 0.7.0

Launched the referral program: invite a friend and you both get 1,000 credits when they make their first purchase.

Version 0.6.1

Restructured the character model as a TavernCard V2 superset — personality PLists, example dialogue, post-history instructions, and full compatibility with the broader roleplay ecosystem. Replaced dollar-based billing with credits, a purpose-built currency with clearer pricing.

Version 0.6.0

Worlds and characters now load from markdown content files — a single source of truth that's easy to author and version. Redesigned the landing page around worlds, characters, and creative freedom. Added per-world hero images and a mood system that shapes the AI's tone.

Version 0.5.2

Dedicated Characters tab with portrait cards organized by world. Full-bleed character portraits in the edit modal. Separated built-in characters from your personal library so edits to one don't affect the other. Fixed hero image flicker on first world open.

Version 0.5.1

Introducing Worlds — curated world settings with their own characters, lore, and narrative hooks. Four starter worlds ship out of the box: Ashworth End, Linden Park, Antler Lodge, and Marabou Syra. Each world generates dynamic scene suggestions via the LLM so every playthrough starts differently.

Version 0.5.0

The platform has a new name and identity. What started as Fablis, then became Unreliable, is now Underfiction — a name that better captures what we're building. Added Sentry error tracking with full content redaction, and a pre-flight context window check to catch token overflows before they time out.

Version 0.4.3

Published three launch-day posts covering why we built this, the case for local-first privacy, and what literary AI prose should actually read like. Enabled anonymous free tries so new visitors can start a story before signing up.

Version 0.4.2

Generation now falls back to Grok when Venice hits rate limits, so you're never stuck waiting. Defaulted everyone to Opus with an 8k response length. Added loading skeletons, API caching, and entrance animations across the app.

Version 0.4.1

New public landing page that showcases the platform to visitors. Unified all page headers into a shared PageHeader component and reworked logo routing. Replaced anonymous usage stats with per-user credit and usage data.

Version 0.4.0

Underfiction is live. Five preset story scenarios to get new users started, a welcome credits bonus on signup, and the password gate is gone. Extensive mobile polish: 44px tap targets, proper iOS keyboard handling, fixed content overlap with the floating header.

Version 0.3.4

Five curated story presets — mainstream genres with pre-built characters and prose samples — appear on the dashboard for new users. Added an advanced settings section with editable system prompts for full control over the AI's behavior. Fixed a bug where the scene auto-generation never triggered.

Version 0.3.3

Switched to full turn history instead of a truncated prose blob, giving the AI much richer context. Added optional example dialogue and style reference prose to character cards. Two-tier scene summaries: short for the sidebar, detailed for context injection.

Version 0.3.2

Paper texture, upgraded drop caps, and scene ornaments give the reading view a tactile, book-like feel. Card hover animations, a streaming cursor, and prose reveal fades round out the mood. Also fixed the most persistent scroll-jump bugs during text reveal.

Version 0.3.1

Full mobile-responsive pass with touch-optimized interactions and viewport fixes. Added SEO infrastructure: OpenGraph images, JSON-LD, sitemap, and robots.txt. New settings page with model picker, temperature slider, and max response length control.

Version 0.3.0

Choose between roleplay, balanced, and novel prose styles — each shapes how the AI writes and responds. Mixed narration and dialogue input with distinct visual styling. Adaptive narration so the AI matches your writing cadence. Also added an in-memory story cache for instant page transitions.

Version 0.2.2

Fork any conversation from any turn to explore alternate paths. New slash command menu: /as to switch character voice, /tone to shift mood, /newScene, and /narrate. Warmed up the color palette and added a subtle prose surface background.

Version 0.2.1

Pay-per-use credit system powered by Stripe with reserve-then-settle billing. Usage logs page with model breakdown and provider cost. Transaction history with Stripe receipt links. Custom amount top-ups and an auto top-up toggle.

Version 0.2.0

Sign in with Google or GitHub, or create an email/password account. Password reset via email. Automatic OAuth account linking when emails match. Migrated from SQLite to PostgreSQL for production reliability.

Version 0.1.2

Stories can now span multiple scenes with automatic async summarization to keep context manageable. Migrated local storage from localStorage to IndexedDB, which handles much larger content without hitting size limits.

Version 0.1.1

Added a light/dark theme toggle that respects system preference, with smooth 150ms color transitions. Switched the reading typeface to Literata for a warmer, more bookish feel. Fixed dark mode hover states across the UI.

Version 0.1.0

The first working build of what would become Underfiction. Core story engine with AI-powered prose generation via Venice.ai, a reading view, character creation, and scene setup. Stories saved locally in the browser. Everything starts somewhere.