{"id":8014,"date":"2026-04-08T08:59:22","date_gmt":"2026-04-08T06:59:22","guid":{"rendered":"https:\/\/www.rawk.at\/?p=6185"},"modified":"2026-05-31T07:59:02","modified_gmt":"2026-05-31T07:59:02","slug":"ai-writer-ai-powered-blog-writing-assistant","status":"publish","type":"post","link":"https:\/\/new.rawk.at\/?p=8014","title":{"rendered":"AI Writer &#8211; AI-Powered Blog Writing Assistant"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"8014\" class=\"elementor elementor-8014\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-a43f845 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a43f845\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ba6979b\" data-id=\"ba6979b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ed5c742 elementor-widget elementor-widget-text-editor\" data-id=\"ed5c742\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Type:<\/strong> Software\u00a0 <br \/><strong>Status:<\/strong> In Development<\/p><p><strong>Tech Stack: <\/strong>Python 3.12, FastAPI, SQLAlchemy, SQLite, React 18, Vite 6, Tailwind CSS, OpenAI API, Anthropic API, Docker<\/p><p><strong>Problem Statement<\/strong><\/p><p>Existing AI writing tools either generate complete texts (which dilutes authorship) or offer only spell-checking (which provides too little support). A middle ground is missing: a tool that provides contextual suggestions paragraph by paragraph, which the author can individually accept or reject while maintaining creative control. Multilingual support with translation functionality is rarely integrated in existing tools.<\/p><p><strong>Description<\/strong><\/p><p>A writing assistant for blog posts that uses AI suggestions from OpenAI and Anthropic to support writing, editing, and translating. Posts consist of various paragraph types (text, headline, subheadline, quote), for which AI suggestions can be individually generated, accepted, or rejected. Offers translation between German and English, Markdown export, auto-save, and runtime-configurable LLM settings (provider, model, temperature, system prompt).<\/p><p><strong>Use Case<\/strong><\/p><p><em>A writing assistant that provides AI suggestions paragraph by paragraph while composing blog articles.<\/em><\/p><p><strong>Link: <\/strong><a href=\"https:\/\/github.com\/rawk7000\/ai_writer\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/rawk7000\/ai_writer<\/a> (private repo)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e37c9c elementor-widget elementor-widget-gallery\" data-id=\"0e37c9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;columns&quot;:3,&quot;gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:25,&quot;sizes&quot;:[]},&quot;lazyload&quot;:&quot;yes&quot;,&quot;gallery_layout&quot;:&quot;grid&quot;,&quot;columns_tablet&quot;:2,&quot;columns_mobile&quot;:1,&quot;gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;link_to&quot;:&quot;file&quot;,&quot;aspect_ratio&quot;:&quot;3:2&quot;,&quot;overlay_background&quot;:&quot;yes&quot;,&quot;content_hover_animation&quot;:&quot;fade-in&quot;}\" data-widget_type=\"gallery.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-gallery__container\">\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/01-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"0e37c9c\" data-elementor-lightbox-title=\"01\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODU1NiwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDEtOC5wbmciLCJzbGlkZXNob3ciOiIwZTM3YzljIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/01-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/08-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"0e37c9c\" data-elementor-lightbox-title=\"08\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODU2MywidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDgtOC5wbmciLCJzbGlkZXNob3ciOiIwZTM3YzljIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/08-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/07-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"0e37c9c\" data-elementor-lightbox-title=\"07\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODU2MiwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDctOC5wbmciLCJzbGlkZXNob3ciOiIwZTM3YzljIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/07-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/06-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"0e37c9c\" data-elementor-lightbox-title=\"06\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODU2MSwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDYtOC5wbmciLCJzbGlkZXNob3ciOiIwZTM3YzljIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/06-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/05-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"0e37c9c\" data-elementor-lightbox-title=\"05\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODU2MCwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDUtOC5wbmciLCJzbGlkZXNob3ciOiIwZTM3YzljIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/05-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/04-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"0e37c9c\" data-elementor-lightbox-title=\"04\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODU1OSwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDQtOC5wbmciLCJzbGlkZXNob3ciOiIwZTM3YzljIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/04-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/03-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"0e37c9c\" data-elementor-lightbox-title=\"03\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODU1OCwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDMtOC5wbmciLCJzbGlkZXNob3ciOiIwZTM3YzljIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/03-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/02-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"0e37c9c\" data-elementor-lightbox-title=\"02\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODU1NywidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDItOC5wbmciLCJzbGlkZXNob3ciOiIwZTM3YzljIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/02-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94f0854 elementor-widget elementor-widget-gallery\" data-id=\"94f0854\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;columns&quot;:2,&quot;lazyload&quot;:&quot;yes&quot;,&quot;gallery_layout&quot;:&quot;grid&quot;,&quot;columns_tablet&quot;:2,&quot;columns_mobile&quot;:1,&quot;gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;link_to&quot;:&quot;file&quot;,&quot;aspect_ratio&quot;:&quot;3:2&quot;,&quot;overlay_background&quot;:&quot;yes&quot;,&quot;content_hover_animation&quot;:&quot;fade-in&quot;}\" data-widget_type=\"gallery.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-gallery__container\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Type: Software\u00a0 Status: In Development Tech Stack: Python 3.12, FastAPI, SQLAlchemy, SQLite, React 18, Vite 6, Tailwind CSS, OpenAI API, Anthropic API, Docker Problem Statement Existing AI writing tools either generate complete texts (which dilutes authorship) or offer only spell-checking (which provides too little support). A middle ground is missing: a tool that provides contextual [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8556,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-8014","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8014"}],"version-history":[{"count":4,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8014\/revisions"}],"predecessor-version":[{"id":8570,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8014\/revisions\/8570"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/media\/8556"}],"wp:attachment":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}