Overview
Designed to help users overcome writers block and build a consistent journaling habit. The generator is portable and fully reusable. The Journal Prompt Generator began as a simple tool to make journaling more accessible.
Many people want to write but don’t know where to start so this app removes that barrier. It delivers daily writing prompts drawn from multiple categories such as Personal Growth, Mindfulness, Lifestyle, and Family Memories.
Built with Django and the Django REST Framework, the generator supports both anonymous use and logged-in interaction. Visitors can get random prompts instantly, or registered users can save their favourites, track their writing streak, and set personal writing goals.
Because it’s modular and reusable, I integrated it into two live sites:
Pen & I Publishing – where it complements the journaling notebook range.
Inspirational Guidance – where it anchors the self-reflection and personal growth content.
Each instance uses the same backend codebase, showing how portable Django apps can be when structured around reusable components.
Technical Details
Core Architecture:
Models:
- WritingPrompt stores the text, category, difficulty, and type (journal, memoir, or both).
- PromptCategory, Tag, and WritingStyle provide filtering options for targeted prompt generation.
Views:
A REST API using DRF ViewSets powers random prompt generation, filtering, and category listings.
A frontend view renders the dedicated /journal-prompt-generator/ page, combining the API with a clean, responsive interface.
Writing Tracker Integration:
Through related apps (WritingGoal and WritingSession), users can set goals (time, words, sessions), record entries, and monitor progress via charts and summaries.
Authentication:
Users can register and log in to unlock enhanced features - favourites, saved prompts, and goal tracking.
Key Features:
- Random prompt generation with optional filters for category, difficulty, or writing type.
- Persistent session tracking to avoid repeat prompts during a session.
- JSON API for future integration with mobile or desktop writing tools.
- Schema-enhanced SEO setup (FAQPage, WebApplication) for better search visibility.
- Mobile-first responsive layout built with Tailwind CSS and reusable components.
Reusable Structure:
Because the generator is built as a standalone Django app (prompt), it can be dropped into any project that supports authentication. Each site simply overrides the template design while using the same models, serializers, and logic.
Results
This app became more than a writing tool, it evolved into a foundation for creative engagement across platforms. It has helped users build journaling habits and made the sites more interactive.
For me, it served as a practical test of modular Django design: one app, multiple live implementations. It combines the power of API-driven architecture with gentle UX - turning journaling into an approachable daily practice.
The project continues to expand with new categories, difficulty levels, and integrations, including future plans for user-curated prompt collections and AI-assisted idea generation.