A Productive Workflow for the Independent Developer
As an independent developer, focused time is the most valuable resource. Juggling features, bugs, and project management drains productivity. This tool-driven workflow provides structure without administrative overhead.
This process uses GitHub and Sentry to track issues and handle production errors efficiently. It's a cost-effective system for producing quality work.
Development Loop: Idea to Production
This cycle covers all planned work, ensuring every change is deliberate and tracked.
-
1. Task Capture (GitHub Issues)
All work begins as a GitHub Issue. This creates a centralized backlog without detailed specifications. Capturing an idea with a title (e.g., feat: Add user profile page) takes seconds and clears mental overhead, allowing focus to return to the current task.
-
2. Execution (Branching)
All work is done on a dedicated branch from main. This isolates changes, protects the main codebase, and links the work to its issue (e.g., 42/add-profile-page).
-
3. Merging and Automation (Squash and Merge)
When work is complete, a Pull Request is opened. Using "Squash and Merge" condenses all changes into a single commit on the main branch.
The commit message includes a keyword (e.g., Fixes #42) to automatically close the GitHub Issue. This maintains a clean project history and automates the final step.
Error Management: Alert to Resolution
Unplanned work, like production errors, requires a structured process to avoid derailing development.
-
1. Triage and Delegate (Sentry to GitHub)
When Sentry reports a production error, assess its impact. If it's a real bug, convert it to a GitHub Issue directly from Sentry with one click. This moves the error and its technical context into the backlog. Archive the Sentry alert to keep the inbox clean.
-
2. Automated Resolution (Sentry Releases)
The bug is then handled using the core development loop. The key is using "Releases." Every deployment is tagged with a unique identifier (like a git commit hash).
When the fix is deployed, Sentry detects the new release. Since the Sentry alert was linked to the GitHub Issue, Sentry automatically marks the error as resolved. This closes the loop without manual intervention.
Automation Setup
This workflow is powered by a one-time configuration:
- GitHub & Sentry Integration: Install the Sentry application on the GitHub repository to allow communication.
- Release Tagging: Modify the deployment script to pass a release identifier (e.g., a git hash) to the Sentry SDK on initialization.
This setup enables a highly automated workflow, providing a clear link between code, features, and resolved errors.