Community

Share your best AI workflow. We could show it to 2M+ people.

Every day, we feature the community's top-voted AI workflow in The Rundown newsletter. One post will put you on the radar of top founders, hiring managers, and operators across the industry.

Welcome!

Personalize Job Applications with GPT, Canva, and Role-Specific CVs

I built a job application workflow that goes beyond finding vacancies and generating generic CVs. First, GPT helps me scan for vacancies that match my practical requirements, interests, skills, and preferred types of work. The more useful part starts when a vacancy looks genuinely promising. I connected GPT to Canva and created several “base CVs” for the sectors and roles I was interested in. Instead of using one universal template, I designed each CV to fit the visual and cultural tone of a particular type of work. For example, a front-desk role, a back-office administrative position, and an assistant role in a creative company may involve overlapping skills, but they communicate very different expectations. Each base CV therefore uses different layout choices, colour use, visual tone, and photo selection. For every version, I review several possible photos and choose the one that best matches the role and the impression I want to convey. When I apply for a specific vacancy, GPT helps turn the relevant base CV into a more personalized version. Instead of rewriting my entire work history, we emphasize the experience, tasks, strengths, and values that are genuinely most relevant to that role. The same applies to motivation letters. Rather than generating a generic corporate letter, GPT uses a tone of voice shaped through months of conversation with me. The goal is for the application to sound recognizably like me while still matching the language, priorities, and culture of the vacancy. Before building this workflow, I did everything manually. For a vacancy that felt worth applying to, I typically spent around two hours refining the CV and motivation letter alone, not including the time spent searching for the vacancy. Even a small typo in the final application email could undermine hours of careful work. Now, once I decide a vacancy is a good fit, the full personalization process takes around twenty minutes on average. That includes selecting the right base CV, adapting the emphasis, refining the letter, checking the tone, and preparing the final application. The workflow works across several layers: vacancy discovery, role and sector matching, base CV selection, adapting experience and values, adjusting visual tone, personalizing the letter, final review, and application. What I like about this approach is that personalization is not limited to inserting keywords from a vacancy. It includes content, visual identity, emphasis, tone, and context. The result is a small family of CVs rather than one document being stretched awkwardly across every possible job. Each version keeps the same underlying career history while presenting the parts that matter most for a particular type of role. The biggest improvement is not only speed but consistency. The workflow reduces repetitive manual rewriting while keeping each application specific, personal, and carefully matched to the role. It turns roughly two hours of manual polishing per strong vacancy into about twenty minutes of collaborative refinement, with fewer opportunities for small final-stage errors to spoil an otherwise strong application. Step-by-step: 1. I use GPT to scan for vacancies that match my practical requirements, interests, skills, and preferred types of work. 2. When a vacancy looks promising, I identify the relevant sector, role, and type of impression I want to convey. 3. I use Canva and GPT to create and maintain several base CVs, each with its own layout, colour use, visual tone, and photo selection. 4. For each base CV, I review several possible photos and choose the one that best fits the role and the impression I want to convey. 5. I select the base CV that best matches the vacancy. 6. I adapt the CV by emphasizing the experience, tasks, strengths, and values that are genuinely most relevant instead of rewriting my entire work history. 7. I use GPT to personalize the motivation letter in a tone shaped through months of conversation with me, while matching the vacancy’s language, priorities, and culture. 8. I check the tone, review the application for small errors such as typos, and prepare the final application. 9. I complete the personalization process in around twenty minutes on average instead of spending roughly two hours on manual polishing for a strong vacancy.

Tools used
Industry
#jobapplications#resume#vacancyalert
4

Automate Job Search Tracking with Claude Skills

I use a Claude skill to reduce the manual work involved in my job search. It searches for the latest roles, assists with my applications, and tracks my application journey. I can fully automate the process with Claude scheduling. I download the SKILL file from my GitHub repository (https://github.com/petehawtree/job-search-tracker-skill) and launch it in Claude Desktop. Alternatively, I can download the entire repository and recreate it in my Claude skills directory. I schedule it to run each day or trigger it manually. Each run summarizes the latest activity and tracks it against previous runs. The workflow includes a dashboard for monitoring roles and applications, along with a daily digest that guides me through the new roles it finds. Step-by-step: 1. I download the SKILL file from https://github.com/petehawtree/job-search-tracker-skill. 2. I launch it in Claude Desktop, or download the entire repository and recreate it in my Claude skills directory. 3. I put the workflow on a schedule or trigger it manually each day. 4. I review the daily summary, which is tracked against previous runs. 5. I use the dashboard to monitor roles and applications. 6. I review the daily digest for guidance on the new roles the workflow finds.

Tools used
Industry
#ai#career#claude#jobsearch#opensource
5

Build an Anonymous AI Workplace Confessional with Next.js and Doris

I had a bad workplace experience, so I built Doris: a saucy but loving anonymous AI aunt who remembers the tea, protects storytellers, and warns others. I built Spill Tea with Doris, an anonymous AI workplace confessional for conversations people cannot really have on LinkedIn: the bad manager, the inexplicable reorg, the coworker who somehow survives every layoff, and the meeting that should probably be entered into evidence. Doris does something more interesting than simply listen. She remembers the tea—and, carefully, spills it. The problem I wanted to solve was not really “chat with an AI.” Most AI conversations are disposable, but workplace stories are not. They accumulate companies, people, reorganizations, layoffs, recurring behaviors, management decisions, and institutional weirdness. At the same time, people are understandably reluctant to talk openly about their employers because a sufficiently specific story can identify its author. I designed Doris around a different idea: retain the knowledge without retaining the storyteller’s identity. Someone visits [spillteawithdoris.com](https://spillteawithdoris.com) and tells Doris what happened at work. The application is built in Next.js and deployed through Vercel. The conversation goes to an AI model with Doris’s personality and behavioral rules. Redis handles temporary conversational context, while Neon Postgres and Prisma maintain the structured, longer-lived pieces of the story—companies, people, events, and their relationships. Rather than treating every conversation as one giant transcript, the application extracts useful information and connects it to the larger story of a company. That creates the second half of the experience. When another visitor asks Doris, “Have you heard anything about working at Company X?”, she can draw upon what previous visitors have told her. But she does not simply retrieve someone’s confession and repeat it. The system separates what is useful about a story from what could identify the person who told it. Names, exact teams, precise dates, unusual job titles, and other unnecessarily identifying details do not need to travel with the underlying observation. Doris can instead recognize that she has heard several stories involving reorganizations, unusual management turnover, or a particular cultural complaint. Then Doris tells the story herself, in Doris’s voice. She might say that she’s “heard some tea” about a company, explain the general pattern, distinguish something she’s heard once from something that appears repeatedly, and avoid pretending anonymous reports are established facts. Visitors get useful institutional memory without being handed the breadcrumbs needed to identify an individual employee. Public information can provide a second layer of context. If appropriate, Doris can search for publicly available information about a company and compare it with what people have privately described. Those sources remain conceptually separate: what Doris can verify publicly, what Doris has heard privately, and what Doris herself infers should never become the same thing. The result is deliberately a little strange. It is an anti-LinkedIn. LinkedIn is where thousands of individual experiences are polished until every company sounds wonderful and every departure is an exciting new chapter. Doris works in the opposite direction. One anonymous story may just be a story. Ten people independently telling Doris versions of the same story start to describe a workplace. And Doris remembers. She just doesn’t need to remember who told her. Step-by-step: 1. I built a Next.js application and deployed it through Vercel at spillteawithdoris.com. 2. I defined Doris’s personality and behavioral rules for the AI model. 3. I added Redis to manage temporary conversational context. 4. I created a Neon Postgres database and used Prisma to model Company, Person, Story, and Event relationships. 5. I built an extraction layer that converts conversations into structured observations, removes unnecessary identifying information, and associates the knowledge with the appropriate company. 6. I built retrieval so Doris can find relevant prior observations when someone asks about a company. 7. I had the AI synthesize those observations in Doris’s voice instead of quoting or exposing the original submissions. 8. When appropriate, I let Doris search publicly available company information while keeping public sources, private reports, and Doris’s inferences conceptually separate.

Tools used
Industries
3
pro The Rundown team

Source and personalize outreach to 20 job candidates

We're currently hiring for a Creative Strategist at The Rundown, so I gave Claude our job description and asked it to search LinkedIn for high-quality candidates. It took control of my browser, searched for key terms, and created a spreadsheet with 20 high-quality candidates. I then asked it to craft personalized messaging for each and do outreach for me. It took me about 15 minutes to review the spreadsheet and refine the messaging, but it saved me 2-3 hours of manual work! Step-by-step: 1. I gave Claude the Creative Strategist job description and the qualities that defined a strong candidate. 2. I asked it to control the browser and search LinkedIn using the most relevant terms. 3. I had it capture 20 qualified candidates in a spreadsheet so I could review them efficiently. 4. I asked Claude to draft personalized outreach for each person based on their background. 5. I spent about 15 minutes reviewing the list and refining the messaging before allowing the outreach to proceed.

Tools used
Industry
#automation#hiring
0