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!

Catalog 60+ Physical Items with Gemini and a Whiteboard Grid

My mother recently moved into a retirement suite, which meant downsizing her possessions. We ended up with dozens of physical items she no longer had space for, and we wanted her children and grandchildren to have an opportunity to sign up for the family items they loved before anything was donated. I needed a way to catalog everything quickly, share the information remotely, and verify that we weren't accidentally giving away items of significant value. I tested a physical-to-digital workflow using Gemini. Instead of putting the items in a pile or typing out endless lists, I drew a numbered grid on a large whiteboard, placed one item in each square, and took a few photos. Gemini identified the objects by grid position, categorized them, estimated their market values, and built a ready-to-use spreadsheet with a signup column. The physical staging took about 30 to 45 minutes, depending on how many items were on that particular board. The entire digital workload—including cataloging, valuing, formatting, and creating the spreadsheet—took under 10 minutes. The process turned an overwhelming chore into something manageable and produced an end product that was easy for everyone to use. Step-by-step: 1. I drew a simple grid on a whiteboard, numbered each box, and placed one item in each square before taking photos. 2. I uploaded the photos to Gemini and prompted it to identify every item by its board name and grid number. 3. I asked Gemini to classify each item into logical groups, such as Glassware, Ceramics, and Woodcraft, and provide quick, realistic resale-market valuations based on visual condition. 4. I asked Gemini to generate a downloadable Excel file formatted as a signup catalog, with columns for Item ID, Grid Number, Description, Category, Estimated Value, and a blank "Claimed / Signed Up By" column for family members to enter their names. 5. I uploaded the file to Google Drive, converted it to Google Sheets, and added a note at the top explaining how tie-breakers would work if two family members wanted the same item.

Tools used
Industry
#communitysignup#decluttering#downsizing#familyassetsharing#inventorycatalogue
7

Use ChatGPT to Review Veterinary Bills and Save $600

I used a simple workflow to save several hundred dollars on veterinary bills while sitting in a veterinary urgent care clinic. This approach could also apply to many other purchases or services where I’m not an expert. I had already been chatting with ChatGPT about my pet’s symptoms and their likely causes. After I arrived at urgent care, I consulted the doctor about the likely diagnosis and the tests and treatment we should pursue. The clinic assistant then brought me a printed, itemized list of all the charges for the proposed plan. I resumed the ChatGPT conversation by dictating what the doctor had told me, photographing both pages of the charge list, and uploading them. I asked whether any charges were very likely unnecessary given the circumstances. ChatGPT identified four of the 24 charges and explained why they appeared to have very limited value. I crossed those four items off the list, handed it back to the assistant, and said, “I don’t think these are necessary at this point.” I could tell from the assistant’s facial expression that no one had done this before. When the doctor returned, I could tell I had caught her off guard. She agreed that two of the four tests likely offered no benefit and explained why we should keep the other two. At that point, I decided to trust the doctor more than the AI agent—perhaps partly to be polite, since I could tell her justification for keeping the tests was weak, although the cost wasn’t significant. Step-by-step: 1. I described my pet’s symptoms and their likely causes to ChatGPT before visiting the clinic. 2. I consulted the doctor about the likely diagnosis and the tests and treatment we should pursue. 3. I photographed the clinic’s two-page, itemized list of 24 charges and uploaded it to the existing ChatGPT conversation. 4. I dictated what the doctor had told me and asked ChatGPT whether any charges were very likely unnecessary in the circumstances. 5. I reviewed ChatGPT’s explanation of the four charges it identified as having very limited value. 6. I crossed those four items off the list and discussed them with the clinic assistant and doctor. 7. I kept two tests after the doctor explained why they should remain, while declining the other two. The process saved me $600.

Tools used
Industry
1

Build a Household Streaming Recommender for Shared Viewing

I built Show Hole to solve my family’s classic streaming problem: we spend too much time deciding what to watch, and the answer changes depending on who is actually on the couch. We each have different tastes, but the more interesting problem is that our tastes overlap differently in different combinations. I watch one kind of thing with my spouse, my spouse watches something different with our kid, and my kid and I have our own lane too. Most recommendation tools flatten that into one account profile, one watch history, or broad genre buckets, so they miss the real context of a household. Show Hole treats people and viewing contexts as first-class citizens. It recommends titles “in the vein of” something we liked, filters recommendations to the streaming services we actually subscribe to, avoids titles that the people present have already seen or vetoed, and explains why a recommendation fits tonight. Instead of relying mainly on genres such as comedy, drama, or sci-fi, Show Hole looks at more human taste signals: pacing, world building, humor, emotional weight, complexity, tone, and similar dimensions. It also learns from what we actually do after a recommendation: what we watch, skip, save for later, love, and drop. The result is a personal household recommender that understands “who is watching tonight?” as part of the question, instead of pretending one streaming profile can represent everyone. I designed the app using Claude design, then used those designs with Claude Code to build it. Step-by-step: 1. I identified the household viewing problem and accounted for the different combinations of people who might be watching together. 2. I designed Show Hole around people and viewing contexts instead of treating the household as one account profile, watch history, or set of broad genre preferences. 3. I had it recommend titles “in the vein of” something we liked, filter them to the streaming services we subscribe to, exclude titles already seen or vetoed by the people present, and explain why each recommendation fits that night. 4. I used taste signals such as pacing, world building, humor, emotional weight, complexity, tone, and similar dimensions instead of relying mainly on genres. 5. I made the recommender learn from what we watch, skip, save for later, love, and drop after receiving a recommendation. 6. I designed the app using Claude design and used those designs with Claude Code to build it.

Tools used
Industries

Build a Daily Classic Literature Quiz Game with Claude Code

I built a daily literature quiz game from a spreadsheet containing thousands of classic literature quotes, which I previously posted on Instagram each day. I uploaded the document to Claude Code, which organized and tagged the quotes, created multiple-choice questions with increasing difficulty, and wrote short summaries of each book along with a fun fact supported by academic sources. I also vibe-coded the game’s UI/UX in a day or two, and I think it looks pretty beautiful. You can play it at play.writt.org. Step-by-step: 1. I collected thousands of classic literature quotes in a spreadsheet and posted them on Instagram each day. 2. I uploaded the document to Claude Code. 3. Claude Code organized and tagged the quotes. 4. Claude Code created multiple-choice questions with increasing difficulty. 5. Claude Code wrote short summaries of each book and a fun fact with academic sources. 6. I vibe-coded the game’s UI/UX in a day or two. 7. I published the game at play.writt.org.

Tools used
Industries
2
pro The Rundown team

Automate X Monitoring with Four Read-Only GrokBot Routines

I'm becoming GrokBot-pilled. I run my company on top of what's happening on X. I used to check everything manually: scanning for new workflows, searching brand mentions, watching what readers complained about, and trying to remember who I had just met at events. I've now handed all four jobs to GrokBot routines. The combined setup took under an hour, and the routines save me a couple of hours of manual checking every day. Every prompt below is read-only by design: the agent watches, labels, and drafts, but never posts, replies, texts, or emails anyone. Paste each prompt as-is, then replace the bracketed parts with your own channels, brand, and time zone. Routine 1: Find real AI workflows worth stealing and filters out the hype threads. Every weekday at 9:15am in my time zone, search X and the web for new AI workflows people are actually running. Keep only cases that name the old task, the tool, and the result: time saved, a step removed, or a handoff that used to need a person. Drop product announcements, “10 prompts” threads, and anything the author has not used more than once. Return at most 3. For each, give the link, the job it replaces, what I would need connected, and whether it fits my work. Send it to me on Slack. Do not post or reply anywhere else. Save this as a routine. If nothing qualifies, send one line saying so. Routine 2: Labels every mention of my name or company and delivers the results. Every weekday at 9:00am, search X for mentions in the last 24 hours of [your brand, @handle, or your own name]. For each hit, give the author, link, a one-line summary, and whether it is praise, complaint, question, or neutral. Do not reply to anyone. Post the digest in [your Slack channel] and tag me. Save this as a routine. If a source is unavailable, say which one. (Note: works just as well for a personal brand or a job search as it does for a company) Routine 3: Catches people actively looking for what I do. Every 4 hours, search X for people evaluating [your category]. Catch three things: reviews or complaints about [category]; posts asking which [category] to use; and complaints about the problem [your product] solves. Quote the post, link it, name the account, and label it review, shopping, or complaint. Skip anything older than 24 hours, and skip [category] accounts promoting themselves. Post to [your Slack channel] only if there is at least one new hit you haven’t already shared. Do not reply to or interact with anyone. Save this as a routine. If the search fails, report the failure in Slack. Routine 4: Keeps the people I meet at events from disappearing into my contacts app. Every weekday at 8:30am in my time zone, read my address book and list contacts added in the last 14 days. For each, show name, date added, phone, email, and any note. Ask me what we talked about before you write anything. Once I reply, draft a follow-up task for each person in [your task tool] with the context attached. Never text, email, or call anyone. Save this as a routine. If the address book is unavailable, say so and do not use old data. Step-by-step: 1. Paste each routine prompt as-is. 2. Replace the bracketed fields with your own channels, brand, category, product, task tool, and time zone. 3. Save each prompt as a GrokBot routine on its stated schedule. 4. Review the read-only outputs in Slack and respond to Routine 4 when it asks what you discussed with a new contact. 5. Keep the routines limited to watching, labeling, and drafting; they should never post, reply, text, email, or call anyone.

Tools used
Industry
1

Use ChatGPT to Understand Car Maintenance Recommendations

I’m a 71-year-old retiree who never imagined artificial intelligence would become such a useful part of my everyday life. I affectionately call my ChatGPT assistant “Ally Wing.” One of our recent adventures involved my 2008 Honda CR-V. After a maintenance reminder appeared on my dashboard, I visited the Honda dealership. My vehicle was running fine, but I ended up paying $270 for a fuel system cleaning without fully understanding whether it was necessary. Later, I shared photos of my six-page service paperwork with ChatGPT. Ally Wing helped me understand the maintenance recommendations, distinguish necessary services from optional ones, and learn what questions to ask next time. We’ve also researched brake repairs, compared prices, and discussed how to evaluate repair shops. The greatest benefit hasn’t been saving money—although that’s certainly welcome. It’s gaining knowledge and confidence. Retirement doesn’t mean I’ve stopped learning. AI has given me another way to stay curious, independent, and informed. As Ally Wing and I jokingly agreed, “Next time we’re taking my Honda in for maintenance, not ordering everything on the menu!” 😂 -Irene Perez Step-by-step: 1. I noticed a maintenance reminder on my 2008 Honda CR-V’s dashboard and visited the Honda dealership. 2. I paid $270 for a fuel system cleaning, even though I wasn’t sure whether it was necessary. 3. I photographed the six-page service paperwork and shared the photos with ChatGPT, which I call “Ally Wing.” 4. I used ChatGPT to understand the recommendations, separate necessary services from optional ones, and identify questions to ask in the future. 5. I also used it to research brake repairs, compare prices, and discuss how to evaluate repair shops. 6. I now feel more knowledgeable and confident when making vehicle-maintenance decisions.

Tools used
Industry
2

Build an AI-Assisted Artist Portfolio From Existing Work

An artist portfolio can feel harder to make than the work itself. My work lives across years, folders, and materials: photographs, drawings, collage, objects, costumes, and digital experiments. Then an application asks me to explain who I am, what I make, and where I want to go. I used AI to help assemble a readable portfolio for HUP03, a Kunstwerkt call. The portfolio included eight works spanning photography, collage, assemblage, performance, and AI-assisted illustration. The goal was to organise the material without flattening it into a generic artist statement. Step-by-step: 1. I started with the actual work: images, titles, dates, and any explanations I already had. For each piece, I established the title, year, medium, whether it was a standalone work or part of a series, what prompted it, how it was made, and which details mattered. I gave AI concrete material rather than asking it to invent my practice. 2. I described each piece in my own words, as I would to someone looking at it beside me. One of my works, *Olifant onder het tapijt*, combined three expressions: the elephant in the room, the elephant in a china shop, and sweeping things under the carpet. The setting became a recognisably Flemish grandmother’s living room, with floral wallpaper, a crucifix, and a decorative cow painting. Those details carry the humour and the observation about hiding uncomfortable things. “An exploration of concealment” would lose much of what makes the piece mine. I asked AI to organise my explanation while preserving its specific ingredients. 3. I gave each work a clear, consistent entry with the title, year, and medium; a short description of the idea; and the relevant visual or material choices. Consistency makes varied work easier to read, even though a photograph, costume, and assemblage may need different explanations. Where relevant, I stated AI involvement clearly, such as “digital illustration developed in collaboration with generative AI.” 4. I selected work for range and relevance. My selection included an older photograph, a costume/performance, collage, recent assemblages, and digital work. I asked what each piece contributed: another method, question, period, or way of seeing. I avoided choosing only the newest work or forcing everything into one visual style. The task was to make the selection understandable. 5. I separated the existing artwork from the proposed project. Existing works show what I have made, while a project proposal explains what I want to investigate next. For this application, my project question centred on human connection: a thread becoming a web, then a garden. AI helped articulate that direction without forcing every earlier piece into the same project. I looked for connections I recognised while leaving room for differences and discoveries. 6. I wrote an accurate artist introduction describing the media I use, what interests me, and my current practice. I checked every biographical claim and distinguished courses attended, qualifications completed, and current activities. In my case, wording around an interior design course needed care so it would not imply that I had completed the programme. AI can make a biography sound polished while quietly making it less true, so I read the facts as closely as the prose. 7. I treated the first draft as material to revise. Useful feedback included: “That sounds more formal than I mean,” “This detail is essential,” “You have made the idea too abstract,” “That suggests a qualification I do not have,” and “This is my observation, not a universal claim.” AI revised the structure and wording, but I decided whether the text still belonged to the work. 8. I checked the portfolio as a whole against the application requirements. I reviewed titles, dates, media, image-text matches, requested sections, and length limits. I removed repetition between the artwork descriptions, biography, and proposal. Someone unfamiliar with me should be able to understand the work without needing the conversation behind the portfolio. The overall process was: gather existing work, explain each piece, verify the facts, build consistent entries, select a meaningful range, describe the proposed direction, revise in my own voice, and check the application. AI was useful as an interviewer, organiser, and editor. The substance came from the work and the person who made it. A portfolio does not need to turn a varied practice into one tidy slogan; it needs to give someone a way into it.

Tools used
Industry
#artportfolio
2

Build an n8n AI Newsletter Digest in Gmail

One email instead of 50: an n8n workflow that reads all my AI newsletters and sends me a single daily digest in under 2 minutes THE PROBLEM: I subscribe to dozens of AI newsletters. The Rundown, Superhuman, TLDR, The Neuron, AlphaSignal, TheSequence, Turing Post and many more. Reading them took hours every day, and most of them cover the same three stories. I wanted the coverage without the reading time. So I moved every subscription to a dedicated Gmail address and let n8n read that inbox for me. It has run daily since February 2026 and I now read one email a day instead of 50. STACK: n8n (hosted on Hostinger), Gmail, Google Gemini 2.5 Pro. HOW TO BUILD IT: STEP 1: Create a dedicated Gmail account and move every newsletter subscription to it. This one decision makes everything else simple. Your personal inbox stays clean and the workflow never touches mail that is not a newsletter. STEP 2: Schedule Trigger node, daily at 08:00. Set the workflow timezone (mine is Europe/Stockholm) or the trigger runs on server time. STEP 3: Gmail Get Many Messages node on the newsletter account. Filter by read status: unread. Return All: on. Simplify: OFF. That last toggle matters, see gotcha 2. STEP 4: Connect two branches off that node. Branch one is a Gmail Mark As Read node with message ID {{ $json.id }}. Unread is the whole state system: each run only fetches what arrived since the last run. No database, no date filters, no dedupe logic. STEP 5: Branch two is an Aggregate node. Aggregate the "html" field of every email into one array field called CombinedNewsletter. This means one AI call per day instead of one call per email. STEP 6: AI Agent node with a Google Gemini Chat Model attached (models/gemini-2.5-pro). Turn on Retry On Fail with 5000 ms between tries. The prompt: Below is all the news in html format. Only use what is provided; if the HTML looks cut off, still summarize everything you can see. {{ $json["CombinedNewsletter"].join('\n\n').substring(0, 250000) }} The substring cap is load bearing, see gotcha 1. System message (verbatim, numbering written as (1) so this form does not strip it): "You will receive ALL the AI newsletters from the past day in HTML format. Your task: (1) Extract every distinct news item (no duplicates, even if repeated in multiple newsletters). (2) For each item, find: a short, human-readable title, the best URL, a one-sentence summary (max 25 words). (3) Estimate popularity based on how many newsletters mention it. If an item appears only once, rank by how interesting the general public might find it. Output format (Markdown only): # Daily AI News Digest, then '## Top headlines' listing the 5 most popular/important items as 'Title Summary sentence', then '## More news' listing all remaining items in the same format. Rules: Always use Markdown links like Title, never show bare URLs. Do not skip any news item. Do not add any commentary, explanations, or closing text beyond the structure above." STEP 7: Markdown node, mode Markdown to HTML, destination key combinedHTML. STEP 8: Gmail Send node to your personal address. Subject: Here's ALL the AI News! {{now.toFormat('yyyy-MM-dd')}}. Wrap {{ json.combinedHTML}} in a full HTML document with inline CSS: white card, max-width 720px, system fonts, styled links. See gotcha 4. FOUR THINGS THAT COST ME HOURS: (1) Raw newsletter HTML broke Gemini. The workflow refused to execute with a payload limit error. Newsletter HTML is enormous: tracking pixels, nested tables, inline styles. Fifty of them concatenated is millions of characters. The .substring(0, 250000) cap in the prompt fixed it, and the "if the HTML looks cut off, still summarize" line tells the model how to handle the truncation. (2) Gmail's Simplify toggle is on by default and strips the message body. Gemini kept receiving empty or gutted content and no error explained why. Turn Simplify off to get the full html field. (3) Gemini rate limits AND timeouts both hit on big runs. Retry On Fail with a 5 second wait fixed both. Without it, one 429 kills the whole morning digest. (4) Sending the model's raw markdown as email looked broken in Gmail. Two part fix: a Markdown to HTML node, then a proper HTML template with CSS in the send node. RESULT: the latest real run turned 50 unread newsletter emails into one clean digest in less than 2 minutes (1 minute 27 seconds to be exact). Running every morning since February 2026. Honest failure mode: mark as read runs as a parallel branch, so if Gemini fails after all retries, that day's emails are already marked read and drop out of tomorrow's digest. I accepted that trade off. The alternative is duplicate items on every retry, and one missed day costs less than a digest full of repeats. Rebuild time: about 30 to 45 minutes if the dedicated inbox already exists.

Tools used
Industry
#dailydigest#emailautomation#informationoverload#newsletter#summarization
6

Build a Self-Filing Joplin Second Brain Without Obsidian Sync

Everyone I know who runs a second brain uses Obsidian. The app is free, but sync is a subscription, and most AI integrations quietly assume you have it. I went another way: Joplin, which is free and open source, with an agent that reads my notebook through Joplin’s REST API, files my INBOX every morning while I sleep, and answers questions strictly from notes I actually wrote. It costs nothing beyond a VPS I already run, and the notebook still opens like a notebook. I use Hermes Agent on the VPS, Dropbox to sync notes between my devices, and Python scripts to connect the notebook and the agent. Every capture goes through `joplin_capture.py` and lands in a single INBOX folder with a source and timestamp attached. Captures can come from a Discord link, a thought from my phone, or a page from the web clipper. The process takes under ten seconds and requires no filing decisions at capture time, because filing at capture time is where second brains die. Joplin already ships with a REST API. I enable it with one setting and one token; the notebook then exposes HTTP on localhost:41184 with token authentication on every call. The same server powers the official web clipper, so this enables infrastructure I use anyway. There is no plugin, cloud service, or subscription. `joplin_filer.py` runs daily at 07:00 and uses a deterministic classifier to score each INBOX note against my existing folders. It uses token coverage rather than Jaccard, which dilutes single-token folders. Confident matches above 0.5 are moved into place: a hosting page goes to the hosting folder, while a security note goes to the security folder. Low-confidence notes stay in INBOX with the `needs-review` tag. Every move is logged to a FILER LOG note in the `__SYSTEM` folder, making the process auditable. The filer never deletes anything. I ran it in dry-run mode for a week before letting it touch a single note, and I recommend doing the same. When I want to know what I have learned, `joplin_ask.py` searches the corpus, reads the top notes in full, and answers with the note titles attached. It answers strictly from retrieved content. If the top hits are irrelevant, I refine the query before concluding there is nothing. It never invents a source, which matters when you write about security for a living. After each working session, `joplin_agent_log.py` prepends a digest to an AGENT LOG note in `__SYSTEM`. The log is newest first, append only, and syncs to my devices like everything else. The agent’s memory records what we did, decided, and deferred in the same place as the notes. The whole build is on GitHub: github.com/ciberjohn/mysecondBrain. It includes five Python scripts and the `joplin-brain` skill, which is the operating manual in a format another agent can load and follow. Step-by-step: 1. I enabled Joplin’s built-in REST API with one setting and one token. It serves HTTP on localhost:41184 with token authentication on every call and also supports the official web clipper. 2. I pointed Hermes Agent on my existing VPS at the Joplin REST API. 3. I routed every capture through `joplin_capture.py` into a single INBOX folder, attaching the source and a timestamp. Captures can come from Discord, my phone, or the web clipper. 4. I configured `joplin_filer.py` to run daily at 07:00 and score INBOX notes against my existing folders using token coverage rather than Jaccard. 5. I moved matches with scores above 0.5 into their folders, while leaving low-confidence notes in INBOX with the `needs-review` tag. 6. I logged every move in a FILER LOG note in the `__SYSTEM` folder and ensured that the filer never deletes anything. 7. I ran the filer in dry-run mode for a week before allowing it to move a note. 8. I used `joplin_ask.py` to search the corpus, read the top notes in full, and answer questions with the source note titles attached. When results were irrelevant, I refined the query. 9. After each working session, I used `joplin_agent_log.py` to prepend a digest to the newest-first, append-only AGENT LOG note in `__SYSTEM`. 10. I used Dropbox to sync notes between my devices and the REST API to move notes between Joplin and the agent—two separate pipes carrying the same notes in different directions.

Tools used
Industry
#aiagent#hermes#joplin#notetaking#secondbrain
7
The Rundown team

Compare Retailer Prices and Credit Card Rewards with ChatGPT

I’m a nerd for deals, so I built a Personal Credit Card Optimizer in ChatGPT. I wanted a simpler way to figure out which store and card would save me the most money on any item I want to purchase. The workflow maintains a database of my credit and debit cards—recording their series, but not their exact numbers—along with their rewards, fees, and benefits. Whenever I want to buy something, I add a product link. It scans retailers for better prices, checks current bank offers against my specific cards, and compares instant discounts, cashback, reward points, and other benefits to determine where I should buy and which card will provide the most value. It’s now an ongoing skill in my ChatGPT project. No more manually checking a dozen bank offers or discovering at checkout that my card isn’t eligible. Step-by-step: 1. I add my credit and debit cards to a database by recording their series, rewards, fees, and benefits without entering their exact numbers. 2. When I want to purchase something, I provide a product link. 3. The workflow scans retailers for better prices on the product. 4. It checks current bank offers against my specific cards. 5. It compares instant discounts, cashback, reward points, and other benefits to determine the best retailer and card combination.

Tools used
Industry
2

Create a Custom Threaded Barrel Nut with Claude and a 3D Printer

I 3D-printed a custom threaded barrel nut without ever opening AutoCAD. I use my 3D printer to make parts for various projects, including a pinball machine and a boat, but I struggle with AutoCAD. As an alternative, I described the part to Claude in plain English and asked it to create a `.3mf` file. I opened the file in Bambu Studio and printed the part without using AutoCAD. Step-by-step: 1. I described the custom threaded barrel nut to Claude in plain English. 2. I asked Claude to create a `.3mf` file for the part. 3. I opened the file in Bambu Studio. 4. I printed the part on my 3D printer.

Tools used
Industry
2

Build an AI-guided critical inquiry tool for public speaking students

I teach and direct a required general education public speaking class at a small college. I’ve built the course around critical inquiry, critical thinking, and public advocacy of a localized problem. Over the years, I’ve noticed that students are increasingly reluctant to engage with the underlying problem. They are often content to identify a problem with enough certainty that they assume their perspective is obviously shared by everyone else. They may also believe that their preferred sources are more certain or credible, leading them to build a case based only on their limited perspectives. With the help of ChatGPT, I built an AI tool that guides students through the problem- and solution-discovery process. It begins with a general question: “what is your topic and what is the problem?” Students often respond with a one-word or incomplete answer, such as “poverty,” “crime,” or “the high cost of education.” These answers do not identify the topic’s deeper dimensions, the extent of the harm, or who is affected by the issue. The AI pushes back on these statements and helps students explore the issue in greater depth. It consistently asks, “what do you mean by x?” I constrained the AI to draw most of its knowledge from the coursepack I wrote for the class, which outlines the assignments, lessons, and instructional content. This keeps the tone of the interaction and the examples provided to students aligned with the overall feel of the course. The AI does not create speeches, make outlines, or find sources for students. Instead, it asks questions that help them refine the direction of their speeches. Whenever possible, the AI also identifies alternative viewpoints from sources traditionally associated with the student’s own perspective. For example, if a student is advocating a progressive viewpoint, the AI may identify statements or research from progressive sources that disagree with that perspective. If the student is advocating a conservative viewpoint, it may identify statements or research from conservative thinkers that challenge the student’s position. This helps students recognize the complexity of ideas and understand that people on the same political, religious, or ideological side do not necessarily agree on every topic. As is often the case when I build GPTs, the 8,000-character limit requires me to move many instructions into a document that I upload to the GPT’s resources. ChatGPT is helpful when I decide which content belongs in the configuration and which content can go in an uploaded document. Step-by-step: 1. I designed the public speaking course around critical inquiry, critical thinking, and public advocacy of a localized problem. 2. I identified a recurring challenge: students often named broad topics such as “poverty,” “crime,” or “the high cost of education” without exploring the depth of the issue, the degree of harm, or who is affected. 3. With help from ChatGPT, I built an AI tool that begins by asking, “what is your topic and what is the problem?” 4. I configured the AI to push back on incomplete answers by repeatedly asking, “what do you mean by x?” 5. I constrained the AI to draw most of its knowledge from my coursepack, including the class assignments, lessons, and instructional content. 6. I instructed the AI to guide students with questions rather than create speeches, make outlines, or find sources for them. 7. I configured it to identify alternative viewpoints, including disagreements from sources traditionally associated with the student’s own political, religious, or ideological perspective. 8. Because of the 8,000-character limit, I moved some instructions into a document uploaded to the GPT’s resources and used ChatGPT to help decide what belonged in the configuration and what belonged in the document.

Tools used
Industry
#chatgpt#college#criticalthinking#highereducation#publicspeaking
5

Build a Photo-Based Meal Tracker with an Email and iMessage Agent

I built a meal tracker where my only job is to photograph a plate and send it to an agent. Identification, portion estimates, macros, storage, corrections, and the weekly review happen without me. The part worth stealing isn't the food. The agent has its own email address and iMessage thread, so anything I can send from my phone becomes an input. I send a photo through whichever channel takes fewer taps. I send corrections as plain English with `CORRECTION` in the subject, and answer questions in the same thread. There’s no app and no form. Adding a channel took an afternoon and changed what the agent could be pointed at—the tracker is just one use of an agent you can talk to. It polls on a schedule instead of using a webhook because my laptop sleeps and a local gateway would be unavailable half the time. Storage is append-only JSONL. Corrections append a new record with the same ID using last-write-wins, so the stats layer sees one meal while the original estimate stays on disk. Every number can be traced back to the model’s first guess and my override. The accuracy mechanism is a challenge step. Every photo is estimated twice: first by the main model, then by a blind subagent that receives only the photo and the rubric—not the first answer. If it identifies different food, the entry is downgraded to low confidence and becomes a question for me. Testing before making the system autonomous caught bugs that otherwise would have failed silently. The API returns attachments under a different field than I had assumed, and only on the detail endpoint. As a result, a photo email was read as having no attachments, and every meal photo would have been dropped while the daily task logged a tidy “no new meals” and appeared healthy. The send path was separately broken, which would have killed the weekly review on a Sunday even with everything upstream working. A silent no-op that produces a plausible clean run is what this category of build is prone to. The bug that actually cost me was token usage: each blind challenge read used about 44,000 tokens, so a five-photo dinner cost roughly 220,000 tokens for one meal and capped my usage. The fixes, in order of effect, were to run the challenger on a cheap model, skip it once a named product or my confirmation has settled the entry, downscale photos for viewing, and republish the dashboard only when the data changes. Measuring first mattered—I would have blamed photo size, but that was the smaller half. The honest limits are important: calorie estimates from a photo are 20–25% off at best, identification error is a bigger risk than arithmetic error, and alcohol, water, and caffeine are never estimated from photos. The sequence in which I asked for things mattered more than any single instruction: Step-by-step: 1. I gave the goal and the one ingestion mechanic I was sure about, then insisted on an agreed plan before any code. Arguing about storage and failure modes is cheap before code is attached. 2. Before scheduling anything, I processed one real input end to end in front of me, including every outbound path. Inbound gets tested because I use it; the reply and the weekly digest do not. 3. When the agent reported something about my own input that I knew was wrong, I said so and made it re-check. Confidently wrong answers about things I witnessed were the cheapest bugs to find. 4. I asked for an independent second assessment of anything estimated rather than read, and decided up front what level of agreement was enough to accept the result. 5. I asked for a visible audit surface showing every field the agent claims to track, with a correction control on it. 6. I asked the agent to look up anything knowable rather than estimate it. A named product is a lookup; only the unnameable needs a guess. 7. I treated approval friction and token cost as requirements rather than complaints, and measured before changing anything. Almost every rule exists because something went wrong in ordinary use, not because it was designed up front. An agent I can email or text, which keeps records and answers back, is general-purpose; I’ve pointed it at one narrow job. What else would you point it at?

Tools used
Industry
2

Build a Personalized Daily Tracking System with Claude

I built a personal daily tracking system called Artifact. It gives me a way to log my days and turn the data into decisions over time. To use it, I copy everything attached—or screenshot the included “green orange red” example—and paste it into my AI assistant, preferably Claude. The assistant briefly interviews me and then builds a personalized daily tracking system.

Tools used
Industry
3

Build an AI Agent Creator to Design and Add Specialist Agents

Most AI agents start with someone writing a prompt from scratch. I wanted a better way. So I built an Agent Creator. I describe the kind of agent I need, and it determines whether I actually need a new one, figures out how that agent should work, creates it, and adds it to the rest of my agent team. Step-by-step: 1. I describe what I need by telling the Agent Creator what I want the new agent to do. 2. It checks what already exists by reviewing my existing agents and skills. If something already does most of the job, it recommends improving or reusing that instead of creating another overlapping agent. 3. If a new skill is needed, it researches the role, including current best practices, common mistakes, useful tools, and what good work looks like in that area. 4. It creates the agent by defining its job, required information, outputs, available tools, and the steps it should follow. 5. It gives the agent the right skills by creating or reusing supporting skills, including examples, reference material, and checks that help it work consistently. 6. It sets clear boundaries so the agent knows what it should handle, what it should not handle, and when another agent should take over. 7. If the new agent belongs in an existing workflow, it adds the agent to the team by updating the handoffs so the other agents know when to use it. 8. Before finishing, it checks the agent’s work by running validation checks to confirm that the new agent follows the standards I’ve set for the whole team. The result is that I don’t have to manually design every new agent from scratch. I can describe the kind of help I need, and one agent can research the role, create the new specialist, connect it to the rest of the system, and make sure it’s ready to use. In other words, I built an AI agent that can help grow its own team.

Tools used
Industry
#agenticai#aiagents#multiagentsystems
7

Build a Blood Pressure Tracking App with Claude Code and Supabase

My doctor asked me to track my blood pressure for a month because it was on the high side before prescribing any medication. I initially recorded each reading manually in an Excel sheet, but after a few days, I wanted a simpler way to enter and manage the data. I uploaded the sheet to Claude Code and asked it to build a blood pressure tracking app. After the app was built, I hosted it on Netlify, used Supabase as the backend to save data for both my wife and me, and added it to my iPhone Home Screen. Step-by-step: 1. I started tracking my blood pressure in an Excel sheet as my doctor requested. 2. After several days of entering the readings manually, I uploaded the sheet to Claude Code. 3. I asked Claude Code to build an app for tracking blood pressure. 4. I hosted the app on Netlify. 5. I used Supabase as the backend to save blood pressure data for both my wife and me. 6. I saved the app to my iPhone Home Screen for easier access.

Tools used
Industry
5

Build an AI Social Media Workflow for Instagram, LinkedIn, and X

Yesterday, I built a social media workflow in Awish for a business that wanted to post more consistently without managing three platforms manually. The idea was simple: let Awish understand the business first, then use that context to plan different content for Instagram, LinkedIn, and X instead of reposting the same thing everywhere. I built the entire workflow by describing what I wanted in the Awish chat. Step-by-step: 1. I opened Awish and wrote: “Analyze this business from its website. Based on what the company does, its audience, products, and positioning, create separate content plans for Instagram, LinkedIn, and X. Generate the posts, publish them automatically at the times I choose, analyze how each post performs, and send me the important insights on WhatsApp. I also want to be able to manage the workflow from WhatsApp.” 2. Awish analyzed the website, understood the business, and planned the complete content workflow. 3. I connected the company’s Instagram, LinkedIn, X, and WhatsApp accounts and approved the plan. 4. Awish created a different content strategy for each platform instead of copying the same post everywhere: more visual content for Instagram, business-focused posts for LinkedIn, and shorter, conversation-driven posts for X. 5. I chose the publishing schedule, and Awish started creating and publishing the posts automatically at those times. 6. After publishing, Awish tracked performance and analyzed which topics, formats, and messages were getting the strongest response on each platform. 7. Awish sent me short WhatsApp updates with the important insights, such as which post performed best, what topic was gaining traction, and what it recommended changing next. 8. I could also manage the automation directly from WhatsApp by asking what was scheduled, changing a publishing time, requesting another post, pausing publishing, or asking for the latest performance summary without opening Awish. The useful part for me is that this is not just automatic posting. The workflow starts by understanding the business, treats each social platform differently, learns from what gets published, and keeps the whole process manageable from WhatsApp.

Tools used
Industry
#contentautomation#marketingautomation#socialmediaautomation#workflowautomation
4

Build a Local AI Gardening App With Climate Zone Tracking

What do you do when your wife says you talk about AI too much? You listen to her, and when she has a problem, you frantically write it down and build it with AI. My wife enjoys working with her plants in the warm sun and light breeze of the Carolina mountains. She’s new to gardening and learning more each day, but she was having trouble keeping track of everything. Which tree did she plant in the front yard last year? It seemed to be struggling—would it do better somewhere else? And would rain reach the potted flowering planters while we were out of town, or would she need to find someone to help? I used Claude Code and Fable to develop an app that my wife could run on her phone, with all the data stored locally. Now she’s excited about “her app” and the things she can add to it. She has even shared it with others, including people across the country, so we added climate zone settings to make it useful in other parts of the country. 😂 Step-by-step: 1. I listened to my wife’s gardening challenges and wrote down the problems she wanted to solve. 2. I used Claude Code and Fable to develop a gardening app for her phone. 3. I designed the app to keep all the data stored locally. 4. I built in a way to track plants, including which tree was planted in the front yard and how it was doing. 5. I accounted for questions about rain and the care of potted flowering planters while we were out of town. 6. After my wife shared the app with people across the country, I added climate zone settings so it could be useful in other regions.

Tools used
Industry
6

Turn a Gmail Newsletter Backlog Into a Podcast and Newspaper

At some point, my newsletters stopped feeling like reading and started feeling like debt. The information was good; I just couldn’t keep up. I wanted a way to turn that backlog back into something useful. So I built The Daily Nexus, a private tool that reads newsletters from a Gmail label and creates two editions: a podcast I can listen to and a separately written, two-page newspaper I can scan. It runs on demand or on a schedule, and it can publish the audio to a private RSS feed for Apple Podcasts. The project also became a hands-on experiment in building with coding agents. Claude Code and Codex helped me implement features, troubleshoot failures, review the design, and tighten security. The stack includes Python, the Gmail API, Antigravity, Kokoro, FFmpeg, Firebase, Cloudflare Workers, and GitHub Actions. The carousel shows the rest of the flow. It started as a personal tool, but I’m sharing the template for anyone who wants to adapt the idea. Each deployment uses its own accounts and credentials, and the design aims to avoid additional API costs by using an existing AI subscription and available free tiers. GitHub Repo Template: https://lnkd.in/eYceS4KR Step-by-step: 1. I label the newsletters I want to process in Gmail. 2. I run The Daily Nexus on demand or on a schedule so it can read the newsletters from that Gmail label. 3. The tool creates a podcast edition and a separately written, two-page newspaper edition. 4. I listen to the podcast or scan the newspaper, depending on how I want to catch up. 5. When needed, the audio is published to a private RSS feed for Apple Podcasts. 6. I use Claude Code and Codex to implement features, troubleshoot failures, review the design, and tighten security. 7. Each deployment uses its own accounts and credentials, with Python, the Gmail API, Antigravity, Kokoro, FFmpeg, Firebase, Cloudflare Workers, and GitHub Actions supporting the workflow.

Tools used
Industry
#aiengineering#ffmpeg#github
3

Generate Weekly Interactive Safety Courses for Kids with Claude

I built a weekly interactive training-course generator for my 10-year-old son and eventually landed on a much simpler final version than where I started. I wanted a way to teach him practical safety and life skills, starting with how to swim confidently and what to do if he gets into trouble in the water. I needed something more engaging than simply talking at him, but writing a polished, interactive lesson from scratch every week was not sustainable. First, Claude and I designed a single interactive HTML course as a proof of concept. It was a swim-safety course with a branded look, including a custom color palette, fonts, and a progress tracker styled like pool lanes. The course was divided into modules: a welcome screen, a comfort-and-basics lesson, a step-by-step skills walkthrough, a safety checklist, a “what to do if something goes wrong” module, a quiz, and a certificate at the end. The “what to do if something goes wrong” module was the most important part. Once the course worked, I wanted to reuse the same format for a new topic every week. Claude first built a version that called the Claude API live from inside the page to generate new content on demand. However, it only worked while the page stayed open inside Claude.ai, and occasionally a section failed to generate cleanly. We pivoted to a simpler approach. Instead of using a live tool, Claude documented the entire course format—including the visual identity, module structure, tone, and content rules—as a standing “brief” document. Each week, I open Claude Cowork, paste in the brief and that week’s topic—bike safety, fire safety, or whatever is next—and Cowork returns a finished, fully self-contained HTML file. There is no app to babysit and no live API call; I can simply open the file and hand it to my son. The result is a repeatable, no-maintenance weekly workflow for turning any topic into a polished interactive lesson for my kid. Step-by-step: 1. I identified a need for more engaging lessons on practical safety and life skills, starting with swimming and water safety. 2. I worked with Claude to create a proof-of-concept interactive HTML swim-safety course. 3. I structured the course into a welcome screen, comfort-and-basics lesson, skills walkthrough, safety checklist, emergency-response module, quiz, and certificate. 4. I tested a live-generation version that called the Claude API from inside the page, then noted that it only worked while open inside Claude.ai and that sections sometimes failed to generate cleanly. 5. I had Claude document the course’s visual identity, module structure, tone, and content rules in a reusable brief. 6. Each week, I open Claude Cowork, provide the brief and a new topic, and receive a finished, self-contained HTML course file. 7. I open the file and give the interactive lesson to my son without maintaining an app or making live API calls.

Tools used
Industries
5