smtool is a native content strategy and publishing workflow application built with Qt.
The goal is to help creators, founders, developers, and indie hackers transform ideas into a balanced stream of long-form and short-form content.
Most content tools focus on publishing.
smtool focuses on the workflow before publishing:
Idea → Draft → Long-form Content → Fan-out → Schedule → Publish
The project started as an experiment to improve my own content creation workflow while documenting the development of software products in public.
- Capture and organize content ideas
- Maintain a balanced content strategy
- Plan blogs, videos, and social posts
- Create fan-out workflows from long-form content
- Visualize publishing schedules
- Track content through its lifecycle
smtool is built around a simple idea: your ideas should remain yours.
Content planning does not require cloud services, user accounts, subscriptions, tracking, telemetry, or advertising.
smtool is a desktop application that stores data on your own devices and operates independently of online services.
The project aims to provide a calm, distraction-free environment for content planning and publishing workflows while respecting privacy, ownership, and user autonomy.
Any future synchronization features will be optional and designed to preserve these principles.
A single source item:
- Blog post: "Building secure gRPC services"
can generate:
- LinkedIn post: Key lesson
- LinkedIn post: Common mistake
- Mastodon post: Technical detail
- Short video clip
- Newsletter summary
smtool helps manage this process.
A lightweight Android companion app is planned to make idea capture fast and frictionless.
The purpose of the mobile app is not to provide full content management functionality. Instead, it acts as a simple inbox for collecting ideas while away from the desktop.
Planned features:
- One-tap idea capture
- Voice dictation
- Quick notes
- Optional content pillar selection
- Local storage
- Offline operation
Example workflow:
- An idea appears while walking, commuting, or exercising.
- Open the mobile app.
- Dictate the idea.
- Save.
- Continue what you were doing.
At a later time, the mobile app will synchronize captured ideas with the desktop application, where they enter the Inbox workflow for clarification, planning, scheduling, and publication.
The design goal is to minimize friction and context switching while maximizing idea capture. The mobile application is designed as a capture tool, not a content creation tool.
The desktop app is ready in it's initial version.
The mobile companion app is under development.
- Qt 6
- C++20
- QML
- SQLite
- CMake
cmake -S desktop -B build/desktop
cmake --build build/desktop --parallel./build/desktop/bin/SmToolTo seed demo content into an empty database:
./build/desktop/bin/SmTool --seed-demo-dataTo override the SQLite path explicitly:
./build/desktop/bin/SmTool --database-path /tmp/smtool.sqliteBy default the application stores its database under QStandardPaths::AppDataLocation.
ctest --test-dir build/desktop --output-on-failure