Opus 4.8
Upgraded the default model from Opus 4.7 to Opus 4.8 for sharper prose and stronger scene continuity. No change to ratings, context window, or pricing structure.
What's new in Underfiction
Upgraded the default model from Opus 4.7 to Opus 4.8 for sharper prose and stronger scene continuity. No change to ratings, context window, or pricing structure.
Completed Traditional Chinese localization across the mobile UI, built-in characters, worlds, prompts, scene summaries, and store metadata. Tightened Android release automation so Play metadata follows the release tag and the uploaded AAB's versionCode, and pointed the Android landing CTA at the live Play Store listing.
Prepared the Android build for Play Store review with Spanish localization, smoother story-screen keyboard behavior, and final reader input polish.
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.
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.
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.
Normalized spacing across galleries, modals, and page shells, and tightened touch targets on mobile. Switched to new generative cover art across the worlds.
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.
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.
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.
Image previews now appear instantly while uploads complete in the background, with no shimmer flicker when swapping sources. Embedded a promo video on the landing page and refreshed the model picker.
Export a world and all its characters as a portable book file, and import books from other users — images sync automatically. Added comprehensive SEO infrastructure with structured data, blog posts, homepage FAQ, and an accessibility pass that brought the PageSpeed score to 100.
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.
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.
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.
Fixed race conditions in the billing pipeline and sync layer. Patched a cross-user data leak in reconciliation, closed an auth bypass on system-generated content, and added missing database indexes. Improved cursor stability during streaming.
Stories can now sync across devices with optional server-side encryption at rest for synced copies. Also introduced Patronage loyalty tiers with bonus credits on every purchase, and a configurable auto top-up so you never run dry mid-scene.
Import and export characters as TavernCard V2 PNG files — fully compatible with SillyTavern, ChubAI, and other platforms. Character portrait images upload to Cloudflare R2. Added smooth expand/collapse on the advanced character fields.
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.
Characters, worlds, and settings now sync across all your devices in real time. Conflict resolution uses last-write-wins with tombstones — no merge surprises. Also launched the referral program: invite a friend and you both get 1,000 credits when they make their first purchase.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Stories can now span multiple scenes with automatic async summarization to keep context manageable. Migrated local storage from localStorage to IndexedDB — stories survive browser cleanup and handle much larger content without hitting size limits.
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.
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.