Every developer knows the feeling. It's Monday morning standup, someone asks what you accomplished last week, and your mind goes completely blank. You were definitely productive on Friday, but the weekend wiped the slate clean. Now you're scrambling through your terminal history, scanning commit logs, and clicking through Jira tickets while everyone waits.
I decided to solve this problem once and for all.
The real problem isn't memory
At first, I thought this was a memory problem. I'm not the type to keep meticulous notes in a notebook throughout the day, so when standup rolls around, I have to reconstruct my work from artifacts. Commits, PRs, Jira tickets, issue updates. The information exists, it's just scattered across multiple systems.
But the deeper problem is context switching.
I recently wrote about how we structured our FiTT offering using a lawn care analogy: our clients don't hire individual developers, they subscribe to a service where the right team just shows up and handles what needs handling. Sometimes it's three people with a truck full of equipment. Sometimes it's one person with a rake.
I'm one of the people who shows up. And like a good groundskeeper who might edge the hedges at one property in the morning and lay mulch at another in the afternoon, I often touch multiple client projects throughout the week. I genuinely enjoy this. There's something that tickles my brain in a particularly pleasant way about solving problems across different domains, jumping from a payment integration on one project to a data pipeline on another to a frontend redesign on a third.
But come standup time, whatever I touched most recently dominates my mental space. I'd find myself talking about a small bug fix I did that morning while completely forgetting the feature work I'd spent three days on earlier in the week. The recency bias was real, and working across multiple client engagements made it worse.
The spark
I'd had n8n installed on a DigitalOcean droplet for a while, but it was a tool looking for a problem. I knew it could automate things, but I hadn't found the right "thing" yet.
Then I watched Leon van Zyl's tutorial on automated standups, and something clicked. Not just "oh, I could build that," but a broader realization about where automation tools like n8n actually fit. They're not for the big, obvious workflows that justify dedicated engineering time. They're for the quiet, repetitive friction points you've learned to live with. The stuff that's annoying but not annoying enough to fix properly.
Standup prep was exactly that kind of problem. Five minutes of archaeology every morning, barely worth complaining about, but it added up. And now I had a solution.
Building the automation
The concept is simple: every morning at 8 AM, a workflow gathers my activity from the past 24 hours and generates a natural-sounding standup update delivered straight to my inbox.
The workflow ended up more involved than I initially expected. My work lives in two places (GitHub and Jira), so I needed to pull from both to get the complete picture.
On the GitHub side, the workflow fetches my recent commits (with full details on which files changed), plus any open PRs. On the Jira side, it gets more interesting: I'm pulling in-progress tickets, recently updated issues, my transitions (status changes I've made), and my activity feed. All of that gets merged and cleaned into structured data.
Both streams converge and get sent to Claude Haiku with a prompt asking for a conversational summary. Something I could read aloud without sounding like a robot.
The workflow pulls GitHub commits, PRs, and Jira activity in parallel, merges everything into structured data, sends it to Claude for a conversational summary, then routes the output to email (sync days) or Slack (async days) based on your calendar.

I shipped PR #157 this week adding a new blog post about hiring developers using a lawn care analogy to introduce our FiTT service model. The post went live with all the content and images.
Currently working on PR #158 which adds a new Digital Transformation & AI service page and updates our homepage messaging to focus on transformation. It's a pretty big change, new hero section with 'We Transform How You Work' messaging, featured placement in navigation, and a revamped services overview that highlights the new offering.
No blockers, just need to finish testing the navigation changes and static build process for PR #158.
Natural. Conversational. Accurate. And I didn't have to think about it.
The calendar twist
Our team runs synchronous standups some days and async standups on others. I wanted the workflow to adapt automatically. So I added a Google Calendar check: if there's an event with "standup" in the name within the next day, it's a sync day and I just get an email to reference during the call. If not, it's async, and the workflow posts directly to Slack (either to a channel or to myself, depending on what's needed).
One quirk I discovered: Google Calendar's API has a strange behavior where setting a result limit of 1 or 2 returns nothing. Set it to 3, and it works fine. The mystery remains, but I did work around it.
What I didn't expect
The practical time savings are real. What used to take 5-10 minutes of morning archaeology now takes zero minutes. But the unexpected benefit was psychological.
There's something genuinely satisfying about getting that automated email every morning. It's a little daily summary of what you accomplished, delivered without any effort on your part. Even on days when it felt like I didn't get much done, seeing the actual commit history and ticket activity usually proves otherwise. It's become a small morning morale boost I didn't know I needed.
Since building this, I've found more of those quiet friction points where n8n helps. Triaging support emails. Generating SQL queries from natural language against a read-only database. Even auto-inking my kids' pencil drawings with AI. None of these are big enough to justify a "real" engineering project, but they're real enough to be worth an hour of wiring things together.
Try it yourself
I've shared the complete n8n workflow JSON below. You can import it directly into your n8n instance and be up and running quickly.
The workflow is designed around a single Config node that holds all the project-specific values: your Jira project key and domain, your GitHub owner and repo, your username, email, which Jira statuses count as "in progress," and how many days to look back. Everything else in the workflow references that Config node.
This means scaling to multiple projects is trivial. I have one copy of this workflow for each client engagement I'm on. When I start on a new project, I duplicate the workflow, update the Config values to point at the right Jira project and GitHub repo, select the right Slack channel, and I'm done. When the engagement ends, I just delete that workflow. No archaeology required.
After importing, you'll need to:
- Update the Config node with your values (jira_project, jira_domain, jira_in_progress_statuses, github_owner, github_repo, github_username, email, lookback_days)
- Set your schedule in the Schedule Trigger
- Make some manual selections: your calendar for "Get Standup Meeting," your Slack user for "Send to Myself," and your channel for "Send to Channel"
- Reconnect all credentials (GitHub, Jira, Anthropic, Google Calendar, Slack, SMTP)
Download the n8n workflow JSON
I'm running n8n on a DigitalOcean droplet for about $12 a month. Self-hosting is straightforward if you're comfortable with Docker, but n8n also offers a cloud option if you'd rather skip the infrastructure.
The real insight here isn't about AI. The AI is almost incidental, just doing the final polish on structured data. The value comes from the automation itself: having a system that reliably gathers and presents information you were going to need anyway.
If you're tired of that Monday morning memory scramble, this might be worth an hour of your time to set up. Your future self, standing in standup with nothing prepared, will thank you.
Want a team that thinks this way?
We're always looking for ways to remove friction and let our teams and our clients focus on what matters. If you'd like that kind of thinking applied to your projects, let's talk!
