I think the best advice is to experiment with different approaches and find what works best for you. I’ve been working on a novel for ~7-8 years in my spare time, and I’m probably only ~25-33% done, so maybe take my advice with a pinch of salt.
The problem when I was starting out was inertia – I had a clear idea of what I wanted to write, and made copious notes about the plot, characters, and other elements. Once I’d finished that part, I came to a realisation that it would just take too much of my time, and I already had other priorities with my work and personal life. My thinking was that I’d need to set myself a strict schedule, abandon other interests entirely, commit to writing x paragraphs per day, and set a deadline to finish it. Due to my other commitments at the time, that wasn’t viable for me, so I felt the project was already a failure.
It took a while to get over that, but once I’d started, I found myself continually re-wording sentences and paragraphs, focussing too much on grammar and vocabulary choices than actually progressing the story. So I sat back and realised that I needed to change my approach again. I know my writing style and quality probably isn’t going to be the greatest for a first draft of a first novel, so rather than attempting perfection sentence-by-sentence, I let the quality slide a bit and pressed on. Now, I just leave myself hints to go back and re-work the problematic sections later – for me, I compartmentalise by highlighting those sections in a gaudy yellow. Only when I’m happy with the changes will I take the highlighting off.
Regarding pacing, the thing that works best for me is to set aside a specific time of day for writing, maintain that, and try to remove any distractions for that period. It definitely helps keep momentum, and if it’s a day when I’m not up to writing anything ‘new’, I can go back to the highlighted sections and fix them, or add more planning notes about the following chapters. Progress is progress, regardless if the ‘word count’ isn’t going up, and consistency matters more than intensity.
I also experimented using text-to-speech, but found it wasn’t a good fit for me. My typing speed is good enough, and text-to-speech seems to work better when you don’t ‘um’, ‘err’, and correct yourself as much as I do. I suppose I could try it again at some point, but I’d need to learn how to use it properly with editing commands like ‘go back’ or ‘delete that’. If you’re the kind of person that can speak in entire paragraphs without verbally stumbling, its worth a try.
I know everyone’s got an opinion on AI and particularly Generative AI these days, so make whatever decisions you feel are appropriate for you. I’ve experimented with local LLMs, noticed there are models that are probably more ‘ethical’ than others, and that I’d prefer a local one over something remote/cloud/subscription based. I’d be reluctant to ask AIs to “write a story about…” though. If your intention is creative writing, and you might want it published some day, then you do need to put in the work. Readers want ideas and creative effort, not regurgitated ‘slop’ that can be generated in a few seconds, and publishers have tools to detect AI-generated content. I’d also be cautious about asking AI chatbots to critique your work – most tend to be far too ‘agreeable’ out-of-the-box. Aside from that, LLMs can be useful for the writing process – You could write a prompt to ask it to paraphrase sections of your own work, or to change the tone. Maybe it’ll give you crap, just a few useful sentences, or changes that you hadn’t even thought of – it’ll be up to you if you want to use some/all/none of it.
As I said earlier, what works for me might not work for you, and you’ll probably want to experiment with different approaches. Don’t be afraid to pivot to something else if it’s not working or not sustainable.


https://github.com/Manish7093/IBus-Speech-To-Text
I tried this in Fedora/Wayland previously, and it seems to work in most applications. It uses “VOSK” models which the GUI can download automatically - you just pick your language and desired model size when setting it up.
When I was exploring this a few months ago, I noticed speech recognition models have moved on quite recently (e.g. https://github.com/openai/whisper which can be run locally) but didn’t see anything integrating it into an input-method like the above.