Workflow Hub

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.

Create a Free AI-Assisted Labor Positioning Mini-Course

I’m pregnant with my second child. For my first, we had a doula, so my husband and I didn’t spend much time learning about labor positions or what can help during labor because we knew she would guide us. This time, we don’t have a doula, and we didn’t want to spend a lot of money on an online course or take the time to attend an in-person one. I asked ChatGPT to scour free resources from leading experts and create a mini-course we could work through, along with a cheat sheet for my husband to use during labor. It saved me hours of research and gave us an incredibly useful resource. Step-by-step: 1. I explained that I’m pregnant with my second child and that we had relied on a doula during my first labor. 2. I identified the information we needed to learn, including labor positions and what can help during labor. 3. I asked ChatGPT to scour free resources from leading experts and use them to develop a mini-course. 4. I also asked it to create a cheat sheet for my husband to use during labor. 5. We used the mini-course and cheat sheet as a more affordable and convenient alternative to an online or in-person course.

Anon Kingfisher
  • ChatGPT
3

AI Lead Qualification and Follow-Up Workflow

I use this workflow to handle new business enquiries by connecting AI to the actual business process instead of using AI as a standalone chatbot. The process moves each lead from AI qualification to a CRM update, sales notification, and follow-up. AI extracts the service required, budget, location, and urgency, then routes the lead based on the result: - High intent: Notify sales immediately - Medium intent: Start an automated follow-up - Low intent: Add the lead to a nurture sequence Step-by-step: 1. Capture the new business enquiry. 2. Use AI to extract the service required, budget, location, and urgency. 3. Update the CRM with the qualification details. 4. Route the lead according to its intent level. 5. Notify sales immediately for high-intent leads, start automated follow-up for medium-intent leads, and add low-intent leads to a nurture sequence.

Hashim khan
  • ChatGPT
1

Build a Flexible Learning Path Around Current Curiosity

I use AI to turn shifting interests into a flexible learning route instead of committing too early to one fixed curriculum. I start with what I am genuinely curious about: the topics currently holding my attention, what I already know, what I want to understand better, and what kind of learning feels useful. Rather than choosing one large Coursera program and hoping it remains relevant for months, I ask AI to identify the underlying themes. Several interests that look unrelated on the surface may share the same foundations. Other topics may be better approached through design, psychology, technology, history, or systems thinking. I can then combine courses from different programs instead of treating one certificate as the only valid path. The learning route stays flexible: I can postpone a course, insert a new one, or drop a subject that turns out to be less interesting without treating that as failure. The result is less like enrolling in a predefined curriculum and more like building a living learning map. AI helps with course discovery, sequencing, overlap, prerequisites, and the relationships between different topics. I remain the one deciding what is worth following. The goal is not maximum completion. It is to keep learning connected to genuine curiosity. Step-by-step: 1. I identify the topics currently holding my attention, along with what I already know, what I want to understand better, and what kind of learning feels useful. 2. I share that context with AI and ask it to identify the underlying themes across my interests. 3. I use those themes to determine whether different topics are connected through shared foundations or are better approached through design, psychology, technology, history, or systems thinking. 4. I discover and combine courses across different programs instead of committing to one large Coursera program or treating one certificate as the only valid path. 5. I ask AI to help with course sequencing, overlap, prerequisites, and the relationships between topics. 6. I adjust the learning route as my curiosity changes by postponing, adding, or dropping courses while deciding for myself what is worth following.

Fien De Waele
  • ChatGPT
2

Use ChatGPT to Research, Negotiate, and Document a Watch Collection

I use ChatGPT to support a hobby that combines research, negotiation, history, craftsmanship, and family legacy: collecting mechanical watches. The workflow usually begins when I discover a watch that interests me. Rather than simply asking whether it is a good watch, I use ChatGPT as a research analyst. We investigate the exact reference, movement, production history, complications, materials, rarity, manufacturer history, comparable watches, secondary-market pricing, previous sales, and any known weaknesses or servicing concerns. With unusual independent watches, this can become surprisingly deep research. The goal is to answer two separate questions: Is the watch genuinely interesting? And is this particular example worth buying at this price? If I decide to pursue a watch, ChatGPT shifts into the role of negotiation adviser. I share dealer listings, asking prices, trade proposals, emails or text messages, previous offers, comparable sales, and my own walk-away price. We discuss likely dealer economics, negotiating leverage, possible counteroffers, and how aggressively or patiently I should approach the transaction. ChatGPT also helps draft correspondence, but the final decision remains mine. I find the greatest value in having an analytical partner that remembers the research and can challenge my enthusiasm before I spend money. After acquiring a watch, I create an entry in a private document I call my Horological Codex. Each entry includes the technical specifications and historical information, along with why I chose that particular watch, how I acquired it, its price, its appraised value, what was happening in my life at the time, and why it deserves a place in the collection. One early watch commemorates an educational milestone. Another is a one-of-one piece commissioned directly with an independent watchmaker. Other watches connect to family events, travel, my cars, personal interests, or particular periods of my life. The Codex preserves those stories and memories alongside the watches themselves. My original Codex eventually became a large, 70-page formatted document, and maintaining it manually became cumbersome as watches entered and left my collection. My next version will separate the structured information from the presentation layer: I will maintain a master record for each watch, then use AI to generate or update the polished Codex from that underlying data. That way, the collection can evolve without requiring me to rebuild an entire book every time something changes. I keep the full Codex private because it contains family and financial information, but the system itself has become a meaningful way to preserve the history behind the collection. Step-by-step: 1. I identify a watch that interests me and describe the exact reference and available listing information to ChatGPT. 2. I research the watch’s movement, production history, complications, materials, rarity, manufacturer, comparable watches, secondary-market pricing, previous sales, and known weaknesses or servicing concerns. 3. I evaluate both whether the watch is genuinely interesting and whether the specific example is worth buying at the asking price. 4. If I decide to pursue it, I share the dealer’s listing, asking price, trade proposals, correspondence, previous offers, comparable sales, and my walk-away price with ChatGPT. 5. I use that information to discuss dealer economics, negotiating leverage, counteroffers, and the right negotiation approach, then make the final decision myself. 6. After acquiring the watch, I record its technical details, history, acquisition story, price, appraised value, personal significance, and place in the collection in the Horological Codex. 7. I maintain a master record for each watch so AI can eventually generate or update the polished Codex without requiring me to rebuild the entire 70-page document whenever the collection changes.

L.M.
  • ChatGPT
1

Choose Your Next Read from a Goodreads TBR with ChatGPT

I love reading, but I’m indecisive about what to read next. Lately, I’ve been getting recommendations from ChatGPT, which has led me to keep adding books to my to-read list instead of tackling the books that have been there for years. At the same time, searching through my 200 existing TBR books on Goodreads for one that matches my precise mood would be too time-consuming. To solve this, I exported all the books from my Goodreads bookshelf as a CSV file, uploaded it to ChatGPT, and asked it to recommend books from my “to-read” list that matched a description of what I was currently in the mood to read. For example, I asked it to recommend a book from my TBR list that was published in the 19th or 20th century and featured a strong, unforgettable heroine. It gave me a few options, and I decided to read *O Pioneers!* by Willa Cather next. One note: ChatGPT summarizes the plots of the books it recommends, so I suggest adding “no spoilers, please” to your prompt. Step-by-step: 1. I exported all the books from my Goodreads bookshelf as a CSV file. 2. I uploaded the CSV file to ChatGPT. 3. I described the kind of book I was currently in the mood to read, including publication period and character preferences. 4. I asked ChatGPT to recommend books only from my existing Goodreads “to-read” list. 5. I added “no spoilers, please” to prevent plot summaries from revealing too much. 6. I chose *O Pioneers!* by Willa Cather from the recommendations.

Zeniya Cooley
  • ChatGPT
1

Use ChatGPT to Turn Family Cooking Experiments Into Recipes

My mom and I love trying new recipes together, but our best dishes rarely turn out exactly like the original recipe. She adds a little more garlic, I suggest a different spice, and by the time we sit down to eat, neither of us remembers what we changed. 😂 I started using ChatGPT as our cooking journal. After we make something, I send it a photo of the dish and a quick voice note about what we used, what we changed, and what we’d do differently next time. ChatGPT turns those notes into a recipe we can make again while preserving our comments and the story behind the meal. Now, when we’re deciding what to cook, I can ask for a favorite we haven’t made in a while, a recipe that uses what’s in the fridge, or a shopping list for our next cooking day. It’s becoming a collection of our recipes and the time we’ve spent making them together. ❤️ Step-by-step: 1. I created one place to keep our recipes, with space for ingredients, steps, photos, ratings, and notes. 2. Each time my mom and I cook, I take a photo and record a short voice note about the changes we made. 3. I ask ChatGPT to turn our notes into a clear recipe and flag any measurements we forgot to record. 4. I review the recipe with my mom, fill in the missing details, and save the version we actually made. 5. We add what we liked, what we’d change, and any memories from that cooking day. 6. When we want to cook again, I ask ChatGPT to find a recipe, adapt it to the ingredients we have, or make a shopping list.

Tiffany Tu
  • ChatGPT
1

Use Claude and ChatGPT to plan and navigate international travel

The Rundown recently held our first in-person retreat in Portugal, which was also my first time traveling to Europe. Claude and ChatGPT were amazing resources throughout the trip, from helping me navigate a chaotic international airport to providing personalized advice on cultural differences, tipping, translating menus, and using public transportation. My wife accompanied me and had plenty of time for solo exploration during the day. She is already a big planner, but a ChatGPT project containing our trip information helped her create a detailed plan, including a packing list, pre-trip checklist, and well-structured day-by-day itinerary for seeing as much of Lisbon as possible. As someone who gets stressed by travel, having an expert with context about my life available in my pocket to answer questions whenever I needed it is something I can’t imagine taking trips without. Step-by-step: 1. I used Claude and ChatGPT for personalized travel guidance during my first trip to Europe. 2. I asked for help navigating a chaotic international airport and handling cultural differences, including tipping, translating menus, and using public transportation. 3. My wife created a ChatGPT project with our trip information to support her planning. 4. She used it to create a packing list, pre-trip checklist, and day-by-day plan for exploring Lisbon during her solo time. 5. I used the tools throughout the trip to answer questions with context about my life and reduce the stress of traveling.

Zach Mink
  • ChatGPT
  • Claude
0

Build a Self-Hosted AI Wine Cellar App with Docker and Claude

I built a self-hosted wine cellar app that runs in a Docker container on my home NAS and doubles as a personal AI sommelier. I add a bottle by taking a photo of its label with my iPhone. A vision model identifies the wine, vintage, region, and grape varieties, while a second model estimates its market value and writes tasting and pairing notes. The app renders a visual map of my rack, so I can see exactly where each bottle is and pull one without hunting. My ratings feed a taste profile built from my own history, which the AI sommelier chat uses to answer questions such as what to open with dinner or which bottles are drinking at their peak. The feature I use most is Scan & Check. When I’m in a store, I photograph a bottle and get a Collection Fit score based on my profile before buying it. The app also exposes an MCP endpoint, so Claude can search my cellar, score a wine, or list my top-rated bottles from any conversation. I built it almost entirely with Claude Code and use it daily from my phone. Step-by-step: 1. I run the wine cellar app in a Docker container on my home NAS. 2. I photograph a bottle’s label with my iPhone when adding it to the collection. 3. A vision model identifies the wine, vintage, region, and grapes, and a second model estimates market value and generates tasting and pairing notes. 4. I use the app’s visual rack map to locate bottles by slot. 5. I rate wines so the app can build a taste profile from my history. 6. I use the AI sommelier chat to choose what to open, including bottles that are drinking at their peak. 7. I use Scan & Check in stores to photograph potential purchases and review their Collection Fit score. 8. I connect to the app’s MCP endpoint so Claude can search my cellar, score wines, and list my top-rated bottles from a conversation.

Ray Toth
  • ChatGPT
  • Claude Code
3

Build WarrantKit to Kill Switch AI Agents with Epoch-Based Authority Revocation

I built WarrantKit, an open-source (Apache-2.0) kill switch for AI agents. Each agent run receives a Warrant: a typed contract that specifies what the agent may do, for how long, and under which policy. A gateway checks every action before it reaches the outside world. When containment triggers, the runtime’s epoch advances, immediately invalidating every Warrant issued under the old epoch instead of allowing it to linger until a timer expires. Evidence of what happened remains separate from authority, and receipts can be verified offline with a standalone Python script. I designed the architecture and threat model, then used AI coding assistants for most of the implementation. I reviewed everything against an adversarial test suite and a real-host enforcement demo that others can run themselves. Before writing the mechanisms, I wrote tests for the attacks: replayed runtime reports, tampered event sequences, evidence attempting to upgrade itself into authority, and authority carried across execution boundaries. The suite has 202 passing tests, and several core behaviors exist because a test caught the system trusting too much. One example is a recovered runtime carrying a stale report into a new epoch. I then proved enforcement on a real Linux host with a cgroup-v2 real-kill demo before claiming it. The no-root demo is simulated, and the README says so. It also lists what WarrantKit is not. The architecture is layered: WarrantKit owns the authority lifecycle and verification; AgentContainment owns the enforcement boundary; and Warden, DProvenanceKit, and ClaimProofKit record evidence independently. Step-by-step: 1. I defined a Warrant as a typed contract specifying an agent’s permitted actions, duration, and governing policy. 2. I placed a gateway in front of the outside world so it checks every agent action before allowing it through. 3. I made containment advance the runtime’s epoch, invalidating every Warrant issued under the previous epoch immediately. 4. I kept evidence separate from authority and made receipts verifiable offline with a standalone Python script. 5. I wrote adversarial tests for replayed runtime reports, tampered event sequences, evidence attempting to become authority, authority crossing execution boundaries, and stale reports carried into a new epoch. 6. I implemented the system with help from AI coding assistants and reviewed the implementation against the test suite and a real-host enforcement demo. 7. I validated enforcement on a real Linux host with a cgroup-v2 real-kill demo, while clearly labeling the no-root demo as simulated in the README. 8. I kept authority lifecycle, enforcement, and evidence recording in separate architectural layers using WarrantKit, AgentContainment, Warden, DProvenanceKit, and ClaimProofKit.

Danny Kissel
  • ChatGPT
4

Reconstruct a Lost Spotify Playlist from Listening History

Sometimes a playlist disappears before you realise how much you depended on it. That happened to a meditation playlist I used constantly for months. Then Spotify removed it, and I discovered an inconvenient detail: I barely knew the track or artist names. I remembered the music and what it did for me, but I could not reliably search for it. The reconstruction began accidentally. While analysing my Spotify listening history for another purpose, AI noticed that I had played roughly the same fifty tracks again and again for about four months. Suddenly, I did not need to remember the missing playlist. My listening history had remembered it for me. A playlist can leave a behavioural fingerprint even when its name and contents are gone. Look for repetitive periods, recurring groups of tracks, similar sequences, and songs that appear together for several months before disappearing around the same time. Step-by-step: 1. I inspected my historical Spotify listening data instead of relying only on which songs I could remember. 2. I used unusual repetition to identify the likely time window. In my case, a four-month cluster helped me recognise the missing meditation playlist, even though I did not know the exact dates beforehand. 3. I built a broad candidate pool of tracks played frequently during that period, recording titles, artists, play counts, dates, listening duration, and nearby tracks. 4. I looked for tracks that repeatedly occurred in the same sessions, on the same days, or in similar sequences. Tracks that travelled together were stronger evidence than songs that were merely popular individually. 5. I compared listening outside the suspected period. A song played throughout several years might be a general favourite, while one that appeared repeatedly within the cluster and rarely elsewhere was a stronger candidate. 6. I used timestamps to recover possible order, including tracks that usually followed each other or appeared near the beginning or end of sessions. Because shuffle may obscure the original order, I treated these smaller sequences as clues rather than proof. 7. I showed the candidate tracks to the person, including names, artists, and, where useful, album art or audio previews. I asked whether each track felt familiar and belonged to the playlist. 8. I relied on recognition rather than recall. Someone may be unable to name a single song but still recognise dozens when presented with them. This is especially useful for instrumental music, mantras, classical works, or unfamiliar names, because remembering the sound does not require remembering its spelling. 9. I ranked candidates as highly likely, likely, possible, or uncertain using repetition, co-occurrence, timing, listening elsewhere, and human confirmation. I did not treat every recovered track as equally certain. 10. I created a provisional playlist from the strongest candidates and listened to it. A list can look convincing in a spreadsheet but feel wrong when played; listening may reveal an unrelated song, a missing transition, or immediate recognition. 11. I used confirmed tracks as anchors and checked which uncertain candidates repeatedly appeared beside them. Data suggested candidates, recognition confirmed anchors, and those anchors improved the next search. 12. I recorded why the playlist mattered, when it was used, and whether its order mattered. Mine was a meditation playlist, so recovering that musical environment mattered even if the exact original list remained uncertain. 13. I saved an external record containing the playlist name, track titles, artists, albums, links or identifiers, reconstruction date, and uncertainty or contextual notes. I kept the listening history, candidate analysis, and confirmed playlist separately so I could revise the result without losing the evidence. The workflow was: analyse listening history → find repeated clusters → locate the time window → collect candidates → compare co-occurrence and sequence → remove unrelated tracks → confirm through recognition → rebuild and listen → refine → save externally. The deeper principle is that humans often remember experiences better than metadata. I remembered that the playlist existed, what it did, and how constantly I played it. I did not remember what most of it was called. The platform had lost the collection, but the listening history still contained its shadow. One observation made it searchable again: > “Hey. For about four months, you were basically listening to the same fifty songs.” 😅🎧

Fien De Waele
  • ChatGPT
2

Build a Mobile Game with Astra Through Conversation

I’m building a mobile game called ExoLab Blast with Astra. I developed it through conversation, starting with the basic concept and continuing through testing the game mechanics. Astra also created and repeatedly updated the game’s graphics and UI based on my feedback. Step-by-step: 1. I discussed the basic concept for ExoLab Blast with Astra. 2. I used Astra to build out the mobile game. 3. I tested the game mechanics. 4. I gave feedback on the graphics and UI. 5. Astra created and updated the graphics and UI multiple times based on that feedback.

Derek Phillips
  • ChatGPT
2

Run MinecraftEdu on a Modern Mac with Java 8 and Rosetta

MinecraftEdu first launched nearly 15 years ago, but the classroom world we built with it is still growing. Years of students have contributed to the school and town-building project, creating a shared record of their creativity and learning. Getting it running on a modern Mac meant preserving that history and giving the next group of students a way to add their own chapter. Finding the right version of Java—the software MinecraftEdu needs to run—was central to the process. We used OpenAI’s Codex desktop app, powered by GPT-6, to examine the old setup, research compatibility issues, and test what would work. An older Java version launched the client, but resizing its window caused it to crash. ChatGPT read the crash reports and tested a newer Java 8 version, which gave us a setup that could launch the game and handle window resizing successfully. ChatGPT also repaired the server launcher and created standalone apps, using Apple’s Rosetta compatibility layer to run the older software on Apple Silicon. The result is a usable MinecraftEdu setup on modern hardware with the existing worlds preserved. We can now continue teaching and building in a place that successive classes of students have helped create. Step-by-step: 1. We examined the existing MinecraftEdu setup and researched its compatibility requirements on a modern Mac. 2. We used OpenAI’s Codex desktop app, powered by GPT-6, to investigate the old setup and test possible solutions. 3. We tested an older Java version, which launched the client but caused crashes when the window was resized. 4. We had ChatGPT read the crash reports and test a newer Java 8 version. 5. We used the working Java setup to launch MinecraftEdu and handle window resizing successfully. 6. We had ChatGPT repair the server launcher and create standalone apps. 7. We used Apple’s Rosetta compatibility layer to run the older software on Apple Silicon. 8. We preserved the existing worlds so future classes can continue building and learning in them.

Andrew Bartlett
  • ChatGPT
  • Codex
3

Use Grok to file small-claims garnishment paperwork

We needed legal help with a small-claims case. A company owed us $3,500, and the cost of hiring a lawyer would have far exceeded that amount. I used Grok to explain what to do and how to file the paperwork. Last week, I served three writs of garnishment on banks that might hold the company’s money. Whichever bank has its account will now have to freeze the account and turn that amount over to us. Before AI, I would have had no idea how to do this on my own. Grok scans my completed documents for errors and directed me to the correct county sheriff’s office to have the papers served. It can explain things more simply when I don’t understand them. Need legal help in your state? AI can guide you step by step. Step-by-step: 1. I explained the small-claims situation to Grok, including that the company owed us $3,500 and that hiring a lawyer would cost more than the amount owed. 2. I asked Grok what to do and how to file the paperwork. 3. I used Grok to scan my completed documents for errors. 4. I followed Grok’s direction to the correct county sheriff’s office for serving the papers. 5. I served three writs of garnishment on banks that might hold the company’s money. 6. The bank holding the company’s account will have to freeze the account and turn the amount owed over to us.

Duffy Russell
2

Morning Slack alerts for product errors using a Claude scheduled task and PostHog

The problem: I’m on the customer side, not the engineering side. When something breaks, I usually find out when a customer writes in, and by then a bunch of people have already hit it. We had an error chart in our analytics tool, but I don't often remember to check that dashboard every day, and a basic “alert me over X errors” setup would go off constantly for things that aren’t real problems. What I built: A Claude scheduled task that checks our error chart every morning, filters out the noise, and tells the whole team in Slack only when something’s actually wrong. I set it up just by describing what I wanted in plain English. How it works: Runs every morning before the team starts and looks at the full previous day. Pulls errors by type straight from our analytics tool. Claude connects to it directly, so it sees the same data as the dashboard. Ignores the noise. I gave Claude the rules on which error types are real problems and which aren’t, and it only counts the ones that matter. Checks a threshold. If the real errors go over the number I picked, it posts. Otherwise nothing happens. Posts one clear alert in a shared Slack channel with the total, which errors spiked, and a link to the chart. Never repeats itself. It checks the channel first so the same day never gets flagged twice. Why it’s worth it: I hear about issues before customers have to tell me. Everyone sees the same alert at the same time, so there’s no relaying messages or chasing people down. The right person just picks it up. Quiet days stay quiet, so when an alert shows up, people pay attention. I tested it against the past couple of weeks. It flagged every day something really broke and stayed silent on a busy day that was all harmless errors.

Brooke Benson
  • Claude
  • Slack
0

Build a Reddit Signal Agent for Weekly Travel Insights

I’m building an AI travel assistant called SundayAtlas, and I wanted a systematic way to keep learning from what travelers are talking about between individual user conversations. Reddit is useful for this because people are unusually candid about trip-planning frustrations, destinations, bad experiences, and what they wish travel products did better. The problem is volume: I didn’t want to manually read hundreds of posts every week, so I built a Reddit Signal Agent that does the first pass and sends me a weekly travel-insights newsletter. Each week, the workflow collects posts from selected travel subreddits and passes them through an LLM-based classification and analysis pipeline. The report is organized around: - New or intensifying signals - Steady baseline themes - Fading signals - Rising destinations - Competitor mentions - Anomalies unusual enough to warrant attention This week, for example, the agent analyzed 77 posts. It surfaced a spike in discussion around short-term rental restrictions in Tokyo, growing payment friction for travelers in Japan, increased interest in quieter alternatives to heavily touristed Asian destinations, and recurring trust issues involving travel platforms. I use the newsletter as one input into product discovery for SundayAtlas. It gives me a weekly pulse on problems and behaviors that may be worth investigating further, rather than relying purely on my own assumptions about what travelers need. Step-by-step: 1. I collect recent posts from a defined set of travel subreddits. 2. I clean and structure the Reddit data for analysis. 3. I run the posts through an LLM using a defined signal taxonomy. 4. I aggregate the classifications across the weekly sample to identify patterns, changes, and anomalies. 5. I generate the report in a consistent newsletter format. 6. I run the full pipeline automatically with GitHub Actions so a new report is produced each week. I built the agent in Node.js and used Claude Code extensively during development. Evaluation ended up being the most important part. Early outputs looked convincing, but I had no objective way to know whether the classifications were actually good. I manually labeled 91 Reddit posts and created a blind golden dataset, then built a deterministic scorer to compare the agent’s classifications with my labels. The first held-out evaluation scored only 0.23, which gave me something concrete to improve against. I iterated on the classification approach and inspected individual failures. Along the way, I found three separate defects in the data collection pipeline. The held-out score eventually improved to 0.61, while the score across the full dataset increased from 0.33 to 0.67. The finished loop is: Reddit conversations → signal classification → trend analysis → weekly insights newsletter → product discovery for SundayAtlas The golden dataset remains underneath the workflow as a regression test, so when I change the agent, I can measure whether I’ve actually improved it.

Anon Dolphin
  • Claude Code
2

Turn a Conversational Spark into a Full Creative Concept

Some of the most vivid ideas do not begin as formal briefs. They begin as a joke, metaphor, image, or strange sentence that suddenly has energy. This workflow captures how a small conversational spark can grow into a much larger creative concept. I might say something funny, absurd, visual, or emotionally loaded. AI extends the image, pushes it further, and adds variations, structure, or playful consequences. That makes me more enthusiastic, associative, and specific. Before long, a throwaway remark can become a complete scene, story world, comic setup, installation concept, or concept art direction. The key is not to force the idea into coherence too early. At first, the goal is energy rather than precision. The playful improvisation reveals whether the concept has legs; structure comes in once the idea has shown that it wants to live. This is especially useful for concepts that combine humor, symbolism, emotional charge, and strong imagery. For example, “the elephant in the room” can become a full comic or visual scenario, while “the lion among the cats” can evolve into a richer concept with social dynamics, character logic, and visual storytelling potential. AI acts less like a generator of finished ideas and more like an improvisational creative partner—one that keeps the momentum going long enough for an offhand remark to reveal its full conceptual potential. The result can be a complete creative direction for writing, comics, concept art, sets, or installations. Enthusiasm is treated as a signal: when a joke or image triggers strong excitement, it may indicate that a larger concept is hiding inside it. Step-by-step: 1. I start with a small conversational spark: a joke, metaphor, visual phrase, or strange idea. 2. I ask AI to continue the thread instead of flattening it too early. 3. I react strongly to whatever feels alive, funny, moving, or visually rich. 4. I expand the idea through playful back-and-forth. 5. Characters, settings, tone, visual motifs, and scene logic begin to emerge. 6. I use AI to organize the growing material without losing its spontaneity. 7. I shape the concept into a usable form, such as a comic strip, story premise, installation idea, character setup, concept art brief, scene sequence, or mini-series. 8. If needed, I turn the raw idea into structured outputs such as panel descriptions, mood, dialogue, staging, or visual prompts.

Fien De Waele
  • ChatGPT
2

Build a Self-Hosted AI RSS Briefing with OpenAI Embeddings

I built SITREP, a self-hosted AI RSS reader that turns roughly 30 articles a day into a single briefing I can act on. It runs in a Docker container on my home NAS, ingests full article text instead of the teasers most feeds provide, and uses OpenAI embeddings to collapse the same story reported by five outlets into one item. Every morning, it writes “The Brief” with the sections Headline, Defense & Aerospace, AI & Tech, and Elsewhere, followed by the two sections I care about most: Implications for my company and Personal Leverage. Each section includes numbered citations linking back to the source articles. SITREP only proposes leverage when the evidence supports it. It also uses a curated, non-sensitive profile of my business lanes and priorities, synced from my Obsidian vault, so its recommendations are specific to my work as a defense-industry VP rather than generic advice. I can select Update Brief at any time during the day to regenerate the briefing in place with a timestamp. Step-by-step: 1. I run SITREP in a Docker container on my home NAS. 2. I have it ingest the full text of roughly 30 articles each day rather than relying on feed teasers. 3. I use OpenAI embeddings to identify and combine the same story when it is reported by multiple outlets, including cases where five outlets cover it. 4. Each morning, SITREP generates “The Brief” with the sections Headline, Defense & Aerospace, AI & Tech, and Elsewhere. 5. It adds Implications for my company and Personal Leverage, using my curated, non-sensitive business profile and priorities synced from Obsidian. 6. It includes numbered citations to the source articles and proposes leverage only when the evidence supports it. 7. I select Update Brief during the day when needed, and SITREP regenerates the briefing in place with a timestamp.

Ray Toth
  • ChatGPT
2

Build a Personal AI Prompt Library from Physical-World References

AI image prompting often starts online: search for a style, collect references, describe them, and generate. But your visual vocabulary can also begin in the physical world—a plant, a tile, a book cover, a strange facade, a piece of furniture, or a detail in a church. This workflow turns everyday discoveries into a personal prompt library. AI helps investigate and translate what catches my attention, while I decide what matters. Step-by-step: 1. When something catches my eye, I photograph it and record where I found it and why it interested me. I do not need to understand my attraction immediately. It might be, “This plant has fascinating leaves,” “Who is the writer quoted on this tile?” or “Is it the copper, its patina, or the reflected light that I like?” Attention comes before classification. 2. I ask AI to help identify unfamiliar materials, objects, plants, techniques, or historical connections. A tile might lead to a writer, a literary movement, typography, or metalworking techniques. I preserve the original context—including the location, date, material, maker if known, and my observations—and mark uncertain identifications as uncertain. 3. I separate each object from what makes it visually interesting. For example: - Source: Plant with folded leaves. Principle: Layered fan-like forms with radial repetition. - Source: Weathered copper plaque. Principle: Warm metallic surface, uneven oxidation, and shallow relief. - Source: Facade with irregular windows. Principle: Repeated vertical rhythm interrupted by asymmetry. - Source: Green and coral book cover. Principle: Muted green with a single warm coral accent. This lets me reuse the visual logic without copying the object. 4. I translate each visual principle into concise, reusable prompt fragments, such as: - “Fan-like folded forms with radial repetition” - “Aged copper with dark patina and shallow embossed texture” - “Regular architectural rhythm interrupted by one off-grid element” - “Muted green field with one warm coral accent” These descriptions give me more control than generic words such as “beautiful,” “organic,” or “vintage.” One object can produce multiple fragments related to typography, surface, colour, proportion, lighting, or composition. 5. I store the entries in a document, database, or tagged visual archive. Useful fields include the reference, photo, location, date, what caught my attention, identification and research notes, visual principle, prompt-ready fragment, tags, related references, and confidence. I tag entries by visual function, such as colour, material, texture, rhythm, lighting, or composition, and always preserve links to the original reference. 6. I connect discoveries that may share underlying principles. Folded leaves, pleated fabric, ribbed metal, and fan-shaped architecture might express similar structural rhythms. I ask AI which relationships are visually meaningful, which are superficial, and which could combine well. The library becomes a connected visual vocabulary rather than a collection of isolated images. 7. When creating an image, I select references according to what they contribute. For example, a plant can provide shape language, copper can provide surface and lighting, a facade can provide compositional rhythm, and a book cover can provide colour balance. I ask AI to explain each contribution and remove references without a clear purpose. The goal is not to place all four objects into one image, but to combine their visual principles into something new. 8. I keep collecting and refining. A walk, museum, garden, or café can introduce new references. I update entries when I discover better information and preserve personal reactions, even when the only explanation is, “I just really like this.” Repeated attraction can reveal a personal visual vocabulary I had not consciously recognised. The workflow is: Notice → Capture → Investigate → Extract visual principles → Translate → Store → Connect → Reuse → Refine. AI does not have to be where inspiration begins. The world can stay upstream. A plant can start a prompt. A tile can start a research trail. A material can become a lighting instruction. A facade can become a composition rule. A book cover can become a colour recipe. I notice. AI helps unpack, translate, and connect. The prompt library becomes the bridge between seeing something in the world and being able to use what I saw later.

Fien De Waele
  • ChatGPT
2

How I Governed Two Claude Agents to Build and Test a Live Word Puzzle

I'm not a professional developer, but I built Sujido, a live word puzzle, with multiple AI agents. For months, they gave me bloat, lost context, and slop, and neither I nor the models could untangle what had been decided or why. I eventually settled on two agents: one Claude instance that plans and reviews, and another that builds. I imposed rules on both, one failure at a time. None of these rules would surprise a professional engineering team, but nobody handed them to me. That's the key lesson I learned: agents won't bring the discipline for you. You have to impose it. When I showed the first game revision to strangers, their verdict was that the first half was "boring" and the second half was novel. It was hard news to hear about my baby, but I took the feedback to heart and cut the game in half. That required surgery on code tangled across both halves, followed by a rebuild under the rules below. Before the rebuild, a separate AI audit graded the codebase B−. Afterward, it graded it A−. The deployed site shrank by 97.5%, and every serious finding was fixed and locked in by an automated test. The models didn't change drastically, but my operating rules did. Step-by-step: 1. I wrote a constitution before the first prompt. The repo holds what every agent must read before working: `CLAUDE.md` files for the project as a whole and for each major part of the code, a collaboration protocol for how the agents and I work together, a spec for the core data format, and a decision log. The data format is changed there first and then in code. Nothing is remembered unless it is written down. That's my life as well. :) 2. I split the work by role, not by task. One Claude instance is the strategist: it writes briefs, reviews reports, and never commits code. Claude Code in VS Code is the builder: it executes the brief, writes the tests, reports back, and never releases. Neither agent can approve its own work. 3. I made every job start from a written brief, and I never edit briefs. Each brief is committed to the repo with an exact scope, such as "do X only, do not begin Y." If plans change, a dated amendment states what it supersedes. The builder may skip a risky item with a written reason; skipping is better than forcing it. 4. I used mock-ups with real data instead of descriptions. Anything I will look at gets a mock-up, and I approve it before any code is written. I learned this when a status report described only in words arrived on my phone formatted as a wall of text. The approved mock became the spec, and the tests pin the output to it. 5. I proved that every test could fail. No test is trusted until it has been run against deliberately broken code and caught the bug. A test suite that has never failed hasn't proven anything. 6. I verified reports against the real repo. Agent reports drift. One summary said players rated a puzzle "just right" when the log said "too easy." An audit said there were about 25 unused functions; a recount found 29. The strategist spot-checks load-bearing claims against the actual files and data before anything ships. 7. I built gates the agents can't talk their way past. All work lands on a branch that auto-deploys to a test site. GitHub Actions lints and runs the Python and headless-browser tests on every push. A git hook refuses direct pushes to production. Releases are fast-forward merges that only I perform, after CI is green and I've tested the build personally. The live site shows the release's commit ID, and I check it before calling it shipped. Nothing merges automatically. An agent's "looks good" is just another report, and reports drift. 8. I gave the system a memory. Every session ends by updating the decision log and a "resume here" document, so the next session—a fresh model with no recollection—picks up exactly where the last one stopped. Without this, every session starts by relitigating old decisions. 9. I let the data and end users overrule me. A scheduled GitHub Action turns player telemetry into a daily report. It showed that the difficulty dials I assumed mattered did not predict what players found hard; what mattered was how misleading the starting arrangement was. When testers were confused by the tutorial, I rebuilt it even though I had already approved it. Player feedback about their own experience outranks my earlier rulings. AI agents are velocity multipliers, but they multiply bad structure as quickly as good code. The rules came from me, not the models: the AI writes the code, while the rules, gates, and written record keep the process honest. See the result at Sujido.com. Finding the anagram is the easy part; sliding it into place is the hard part. One board took me 902 moves. My S.O. solved it in 242, and I haven't heard the end of it. Try to break it!

Tony Surfwell
  • Claude
2

Build a French HR assistant SaaS with Claude Code

I built Lumi, an HR assistant in French, with Claude Code in about two hours. It was an experiment: could Claude Code build a working product from a plain brief while being left completely alone? Employees ask questions, and Lumi answers using their company’s own HR documents. Each company has its own space, and HR can see which questions the documents couldn’t answer. Step-by-step: 1. I set up one window with Claude Code on one side and the files appearing on the other. I didn’t write code, but I could always see what was being built. 2. I described the product in plain language. I dictated my brief out loud, typos included: who pays, who uses it, the problem, a demo client, keeping clients separate, the admin view, the language, and the price. 3. I let Claude Code build the product and make every call. Thirty-four minutes later, the first version had 47 files and 3,949 lines. It even invented a fictional client company with a full HR handbook so I could demo it immediately. 4. I put the product online. Claude Code wrote a setup guide for Supabase and Vercel. I followed it one step at a time and sent a screenshot whenever something broke. 5. I improved it with feedback. I told Claude Code that the design looked like it had been created by a junior designer. Eighteen minutes later, it came back with a name, a design system, pricing plans, and everything in French. 6. I checked security, although I had skipped this during the build. When I asked for a full security review eleven weeks later, it took less than six minutes and found three serious problems, including a database function that allowed anyone to read a company’s documents. Claude Code fixed all three. Run `/security-review` before sharing the link and before each new change. The full write-up, including the unedited prompts: https://www.theaithinker.com/p/how-to-build-a-saas-product-with

Adam Faik
  • Claude Code
1