• Automation in Social Media

    I’m a fan of the Robert Scoble, who recently provided an insight to his method of staying up on the latest in technology.

    As you can see, he’s an incessant list builder, for a good reason. It breaks the algorithm and gives him what he wants to see. The feed that keeps him on top. So, rather than being bombarded with political updates, he gets the content he’s interested in at that moment. It’s the way social media should be, honestly. What if there were a lower barrier to building good lists? 🤔

    An AI could do that.

  • Nag Bot is Live!!🚀

    NagBot Is Finally Live!

    Check it out on the Google Play Store. 👇🏻

    https://play.google.com/store/apps/details?id=nag.bot.app


    After a long journey, NagBot is officially live! I feel like this is the milestone I’ve been working toward for quite some time. But now that I’m here, I realize this isn’t the end—it’s just the beginning. Development isn’t fully complete, but NagBot is already a highly functional app, and I truly believe it’s going to help people.

    With the launch behind me, the real work begins: marketing, search engine optimization (SEO), and social media engagement. There’s a ton of tasks ahead, but I’m excited to dive in. One of my big goals is to automate as much of this engagement process as possible. I’m reminded of a quote from Atomic Habits by James Clear: “You don’t rise to the level of your goals; you fall to the level of your systems.” That resonates with me deeply. I know that to stay consistent—whether it’s engaging on social media, tracking keywords, or optimizing for organic search—I need to build solid systems.

    Automating the Process

    I’ve already created a bookmark tool designed for X.com that helps me find leads based on keyword searches on the platform. Right now, it’s a bit of a manual process, but I’d love to automate it further. Imagine launching a process in the morning and evening that searches a predefined set of keywords, sifts through the resulting posts, and even suggests replies for me to approve. That kind of efficiency could be a game-changer.

    Content Creation Systems

    I also want to build processes to help me consistently create content for my website. I’m envisioning a platform that identifies underserved keywords and keyword phrases, then suggests blog post ideas based on those gaps. It’s all about working smarter, not just harder.

    Looking Back, Moving Forward

    Yes, there’s a lot ahead of me—but there’s also a lot behind me. I’ve come a long way to get NagBot to this point, and that’s worth celebrating. What’s really exciting is that I’ve been using NagBot throughout this entire process, and it works! It’s already proving its value, and I can’t wait to see how it evolves as I refine it and share it with the world.

    The journey’s just getting started, and I’m ready for what’s next.


  • AI assisted cold sales on X.com

    I’m a builder. I’ll build and build and build and never ship. How do you get a builder to ship? Make shipping 👉 building.

    Yes yes, I know, I partook in yet another side quest to getting nag.bot shipped (🙄 slacker). But this side quest helps me do the thing I like least, marketing. I don’t have a big following, so simple tweeting into the void isn’t very effective. I have to go get users. I figured out a pretty good workflow for outreach, but it was super tedious. Lots of manual searching through X to find prospects for engagement. But, I figured out a way to speed it up a lot using AI. The following bookmarklet app was the result.

    It’s quick and dirty, but I’m getting some results! I’m finding and engaging with more users I might be able to help, faster. I’m sure this app will see some refinement as I use it. But, here it is…. I call it Coldpost, named after cold calling. I hope you like it!

    🥶ColdPost📈 (d4b7ba)

    Instructions

    • Drag☝this link (bookmarklet app) to your bookmarks bar.
    • Go to X.com
    • Click the bookmarklet you just installed
    • Go to the Config tab.
    • Configure your ObjectiveContextReply Directions, and Keywords.
    • Go to the Run tab.
    • Choose the configuration to run, if it’s not already selected.
    • Specify how many articles it should scrape, default 100.
    • Click, Start Scraping.
    • When complete, you’ll be taken to Grok.
    • Paste your clipboard into Grok’s input.
    • Copy the output result into the Results tab.

    Engage with a curated list of prospective customers!

  • Nag.bot is progressing nicely

    The past few weeks have seen significant progress in the development of Nag.bot, an AI-driven accountability partner app designed to help users reach their goals and spend their time wisely.

    Key Features Implemented

    1. Authentication and Profile Setup: Early in August, foundational work was laid out with the implementation of user authentication. This was a critical step to ensure that users can securely access and manage their accounts. Following the authentication setup, basic profile management features were introduced, allowing users to personalize their experience within the app.
    2. Chat Functionality: A major focus has been on building a robust chat system, which is central to the user experience in Nag.bot. The chat now supports functional communication, with a server-side prompt system that enables AI-driven responses. Additionally, the frontend has been optimized to handle real-time conversations, ensuring a smooth and responsive user experience.
    3. Error Notifications and Markdown Support: To enhance usability, an error notification system was integrated into the chat. This helps users quickly identify and address issues during their interactions with the app. The chat also supports markdown, allowing for formatted text, which is particularly useful for displaying structured information and links within conversations.
    4. UI/UX Enhancements: Significant attention has been given to refining the user interface. The chat now includes a list styling feature, making it easier for users to navigate through messages. Additionally, the text input area has been improved to dynamically adjust as users type, providing a more intuitive and user-friendly experience. A standard button component has been added to maintain consistency across different parts of the app.
    5. Conversation Initiation from Home Screen: One of the more recent updates allows users to start a conversation directly from the home screen. This update is aimed at making it easier for users to dive into the chat with the AI, streamlining the process of getting the support they need right from the start. The starter tile on the home screen now forwards users to the chat with pre-seeded prompts, creating a seamless transition into the conversation.

    Looking Ahead

    With the core functionalities of authentication, chat, and error handling in place, the focus will now shift to refining these features based on user feedback. Additionally, there are plans to further enhance the AI’s capabilities, enabling it to provide more personalized and insightful responses to users’ queries and challenges.

    Stay tuned for more updates as Nag.bot continues to evolve into a powerful tool for personal accountability and goal management.

  • WIP on a new MVP

    I’ve started work on my latest small bet. An AI accountability partner, called Nag Bot will be available on iOS, Android, and as a web app.

    Time is a precious resource, we should spend it as wisely as we spend our money. That is what this app will do. It will discuss your projects with you and help you break your goals or ideas down into actionable tasks. Then, it will check in from time to time and see if you’re working towards those goals. If not, Nag with NAG you to get to work!

  • Day Two: More Text Wrangling

    Goal today: Separate the text doc from yesterday into sections.

    Running into issues with it though. I was hoping I could depend on ALL CAPS and other identifiers to separate sections out. In a few cases, it’s difficult to decipher between section titles and body. In the PDF, I might be able to use italics and other variations in the font to figure out what’s what. This increases the complexity of sorting out the different sections of the document into something with a usable structure.

  • Day One: Text Wrangling

    We are starting with a wholly unusable PDF File (https://docs.house.gov/billsthisweek/20240318/WDI39597.PDF). First we need to parse it into usable data.

    Goal 1: Read and parse the document

    Goal 2: Extract sections.

    Read and parse the document

    What are some readily available open source projects that I can use to parse PDFs into text?

    1. Poppler Utils: Poppler is a PDF rendering library that includes a variety of utilities for extracting text, images, and other content from PDFs. The pdftotext command is part of this suite and is widely used for converting PDF documents into plain text.
    2. Xpdf: Similar to Poppler, Xpdf is a toolset that includes the pdftotext command. It’s an older project but still effective for extracting text from PDF files.
    3. PDFMiner: PDFMiner is a tool written in Python specifically for extracting text, images, and metadata from PDF files. It’s more flexible than pdftotext and allows for more detailed analysis of the PDF structure, making it suitable for more complex extraction tasks.
    4. mutool: Part of the MuPDF suite, mutool can extract text and images from PDF files. MuPDF is known for its speed and the quality of its rendering.
    5. Apache PDFBox: Although primarily a Java library for working with PDF documents, PDFBox comes with a command-line utility that can be used to extract text from PDFs. It’s useful for those who prefer a Java-based solution.
    6. Tesseract OCR: For PDFs that contain mostly images of text (like scanned documents), Tesseract OCR can be a powerful tool. It’s an optical character recognition (OCR) engine that can convert images into text, and with the right preprocessing, it can be used to extract text from image-based PDFs.

    Let’s try some of these out and see how the result varies. I’m most interested in #1 poppler and #3 pdfminer

    Using the poppler option I found ? provides a good starting point for text cleanup.

    pdftotext -layout -enc UTF-8 WDI39597.pdf poppler.txt

    PDFMiner has more options in term of formats (text | XML | HTML). The first thing I noticed though, it’s significantly slower to execute. Annnd. the output is far less usable. I was hopeful for the HTML or XML output. The most ridiculous output was XML. There was literally tags around every letter.

    pdf2txt.py -o pdfminer.txt -t text -A WDI39597.pdf 
    pdf2txt.py -o pdfminer.html -t html -A WDI39597.pdf 
    pdf2txt.py -o pdfminer.xml -t xml -A WDI39597.pdf 

    POPPLER WINS! It creates a usable output and is WAY faster in terms of execution, not that that is a huge factor.

    Now we have something that looks like this: https://playwell.studio/wp-content/uploads/2024/03/poppler.txt

    Now, Let’s strip out some garbage and format this a bit more.

    I’m using a Python script to do this part.
    First it detects page number and formats that appropriately.
    Then, it gets rid of leading whitespace.
    Then, ditch the date, and the line under that, which has some crazy special characters….
    Then, ditch any lines that end in ‘SEN. APPRO’

    Now we have something that looks like this… https://playwell.studio/wp-content/uploads/2024/03/WDI39597.txt

    I’ve preserved the page numbers and line numbers for citation purposes. So, if I want to recall where appropriations were made in the bill, I can cite “Page 36 Line 22” for example.

    I’ll have to get to extracting the sections tomorrow…

  • US Spending Visualizations

    This week another Uniparty Omnibus spending bill was passed without much a fuss. I was thinking Speaker Johnson was going to be a force to stand up to the machine and reduce spending. I thought he was going change things. I may have been mistaken. ? We need to get inflation under control, its like a brush fire that could consume the country. Meanwhile the money printing machine is in overdrive. Instead of whining about it on X, why not do something that’ll bring some visibility and comprehensibility to these massive bills?

    Many years back, I’ve registered a domain politipal.com, which I had grandiose plans for. Naturally, I’ve done nothing with it. It’s time to change that too.

    If you haven’t seen one before, these bills are published in the most unusable format possible. A super lengthy document, that no one can easily read and/or understand. Example ??

    No way to compare to previous years, no way to visualize using common graph paradigms. Hopefully, this project will fix that.

    How does a project like this make money? I have not f’ing clue, but I’m tired of doing nothing and watching the shit show carry on uninterrupted.

    The first step is a POC. Can I parse this bill text into usable data with readily available open source scripts, programs, etc?

    Automated Workflow:

    1. Read and parse the document, extracting sections.
    2. For each section, extract relevant details.
    3. Format those details into a JSON object.
    4. Insert the JSON object into Database.
  • Resisting The Machine

    Thoughts from: I Can’t Overstate How Dire This Is | Bret Weinstein

    I recently watched “Leave the World Behind“. It’s a message, a clear and terrifying message from our adversary. It’s a message about what happens when we resist they/them. When I refer to “they/them”, I’m not referring to the confused millennial non-binary they/them sorts. I’m talking about “The Machine”…. you know, one that “Rage Against the Machine” raged about before the band by that name was corrupted, consumed, and assimilated into the very machine they raged against. I’m talking about The Machine that has largely had a monopoly on influence and power for the last century or so. I’m supposing the 1913 creation of the Federal Reserve is a good marker for that level of influence and power, and the global elite class that wields it.

    I internalized the message they wanted to deliver in the movie. They want people to duck and cover, to hide in the basement, with a cache of food, and a box set of “Friends” DVDs to keep our little minds occupied while the world tears itself apart. They want us out of the way, while their carefully choreographed chaos unravels the fabric of society.

    After watching the video below, I’m thinking THAT, would be taking their bait. THAT is playing into their hands. THAT is exactly what they want. Instead, in the video below, Bret Weinstein, an extremely brilliant man/scientist/educator advocates for forming coalitions. Getting people together to share ideas and combining the power of the multitudes who stand against The Machine. He suggests that Goliath (as Weinstein refers to The Machine), has lost the first onslaught in their war for power. He speculates that the heros, who have emerged through the first wave largely fit the description of lone wolves. The Machine is learning and leveling up. So we, “The Resistance”, need to learn and level up as well. Those lone wolves need a pack.

    With the first wave behind us, the confusion persists. Goliath is looking for a rematch. Some of they/them have been exposed. Presidents of the last decades are all on the list, mix in a bit of Jeffrey Epstein and Hunter Biden, and you have a hot bowl corruption soup. It seems, their exposure only reveals more questions than answers. These revelations now float on the surface, but this bowl runs deep.

    I listened to Weinstein’s Dark Horse Podcast throughout the COVID crisis. He and Dr Robert Malone were a bastion of common sense and inquisitive curiosity about the confusion that didn’t fit then. His insight earned my respect and trust. During the below interview, I can see he has a sort of existential alarm about him. He has left the rage behind, and gone to “war with the machine”. I will pray for him, as I will pray for us too.

  • Homeschool web app Work in progress.

    Lately I’m building a topics hierarchy. It could otherwise be called categories, or taxonomy, or whatever else, but for some reason, “topics” seems to fit the bill.

    This is a first run at the UI, basically I need it to add, edit, and remove a nested hierarchy of topics. Only admin users will see this, so it doesn’t have to be pretty, just functional.

    Each topic has a color, which I suppose should trickle down to it’s child topics. This way there will be some visual separation among the different lessons.

    Here I have some initial topics, generated by ChatGPT, these will certainly change. I may use KhanAcademy as a template. They have certainly put careful consideration into their taxonomy.

    Also, pay no attention to the branding. I’m still undecided between, “Homeschool Link (homeschool.ink)” or “Learnalot.net”.

    I would love your opinon @ x.com