Nowvella
A web-based manuscript editor for long-form fiction, built as a modern, more detailed take on the desktop tool Manuskript, with an outline, story bible, revisions, export and an MCP server for AI assistants.
Around the editor sit the story development panes: characters, plot, and a compendium of world items (places, organisations, objects, concepts and events) that can be nested and referenced from the text. Shared universes are supported by treating a shared world as its own project that books depend on, and a series table gives each book a reading position so that continuity flows forward through the series. Every scene keeps a revision history with restore, there is a distraction-free mode, and a Thoughts area lets an author capture loose ideas and link them to anything in the book.
When the book is ready it compiles to Markdown, HTML, plain text, DOCX or PDF, with named compile presets. Nowvella also runs an MCP server, so an author can connect an AI assistant such as Claude or ChatGPT to read, search, reorganise and update their own manuscript.
Case Study
The Challenge
Writing software has to be trustworthy above everything else: an author must never lose words, never see someone else's book, and be able to get their work out in a usable format wherever the app is hosted. Matching the depth of a mature desktop tool like Manuskript in the browser meant a large feature surface (outline, metadata, story panes, revisions, references, compile) that had to stay coherent, and opening the manuscript up to AI assistants added a second way in that needed exactly the same protections as the web interface.
The Solution
I built it on Laravel 13 with Inertia and Vue 3, using a Clean/Onion architecture with a framework-free domain layer for the composition model. It is single-database multi-tenant with one tenant per author, and every tenant-owned table carries a tenant_id with composite foreign keys through it, so PostgreSQL itself rejects cross-tenant references rather than relying on application code to filter them. Support access is an audited impersonation flow rather than an admin bypass. Export has a native engine that writes DOCX and PDF itself, so every deployment can export with no system binaries, and pandoc is detected at runtime as an enhancement. The editor is CodeMirror 6 with Hunspell-style spell checking, autosave keeps what the author typed while a save is in flight, and the MCP server (Laravel MCP) accepts either a per-tenant key or an OAuth 2.1 token via Passport with PKCE and dynamic client registration, so clients like ChatGPT can connect by asking the author for approval.
The Outcome
Nowvella is in active development as a private project. The roadmap's phases through to continuity across a series are implemented and tested, with CI running linting, type checks, PHPStan and a Pest suite against PostgreSQL, and the latest phase (Thoughts) is in progress. It is not yet publicly launched.
Technologies Used
More Projects You Might Like
Jetboost.tech
An all-in-one platform for UK tradespeople, sole traders, small businesses and clubs: customers, quotes, jobs, invoicing, payments and bookings in one app, with VAT, CIS and the domestic reverse charge built in.
The Peters Collection
An archive management and image licensing platform for a collection of vintage photographs by John Peters, spanning the 1960s to the early 2000s, with a searchable public gallery, protected images and online licence sales.
Budgitt
A self-hosted household budget and 13-month cash-flow forecasting app that replaced my long-running Excel workbook, with a spreadsheet-style budget grid, loan and interest modelling, statement import and an AI assistant connector.