Remote Coding Agents... Just One Shot Work Now
June 13, 2025
Intro In this deep dive, Parker walks through building a free, open-source system that downloads knowledge from top minds on X and lets you query it with AI. He uses Augment, remote agents, and a TypeScript CLI to create a living, searchable knowledge base in under two hours.
What I built and why#
- A personal knowledge base from smart X authors you care about (tweets, replies, etc.), turned into searchable embeddings.
- Open source, free to use, with an emphasis on safe scraping and practical tooling (SQLite + Drizzle, CLI, etc.).
- Key idea: X is a learning gold mine, but APIs are restrictive. This approach lets you selectively learn from specific people without wading through blogs or endless scrolling.
Actionable takeaway:
- If you want a targeted knowledge base, start with a spike to validate data sources, then automate the extract-to-embeddings pipeline.
How it works at a glance#
- Data source: Public tweets and replies from chosen X users.
- Ingest pipeline:
- Interactive CLI to configure what to scrape (user, content type, scope, time range, count).
- Scrape with a rate-limiting profile to balance speed and account safety.
- Generate embeddings for semantic search.
- Store in SQLite with Drizzle ORM for easy querying and optional dashboards.
- Capabilities:
- Smart tweet scraping with advanced filtering.
- Semantic Q&A over the collected content.
- Optional daily/up-to-date knowledge base via cron-like jobs.
Actionable takeaway:
- Use a rate-limited scraping profile first; you can always increase tempo later, but safety comes first to protect accounts.
The technical stack and workflow#
- Language and runtime: TypeScript (no Python) using Bun.
- Orchestration: Augment remote agents (auto mode) for task execution and research spikes.
- Storage and querying: SQLite + Drizzle ORM for fast, queryable access.
- Authentication: Works by passing in tokens (e.g., O token, CT0) to access the data sources.
- Documentation hosting plan: Move docs to a centralized Mintlify/Mintify-style site for consistency.
Actionable takeaway:
- Design the workflow around small, testable tasks (spikes) and keep the data model simple (embeddings + lightweight DB) so you can iterate quickly.
Demo walkthrough: CLI-driven scraping in action#
- Run the CLI in interactive mode:
- bun run the cli
- Steps you’ll configure:
- Enter the X handle (username)
- Content type: tweets, replies, or both
- Scope: all posts vs. keyword-filtered posts
- Time range: e.g., last month
- Number of tweets to scrape (e.g., 100)
- Rate limiting profile: moderate (to avoid account issues)
- Generate embeddings after scraping
- Output and storage:
- Embeddings stored in SQLite via Drizzle
- Time stamps enable future cron-based updates
- Prompt-tuning and prompts usage:
- Use compact prompts (as few sentences as possible) and rely on just-in-time context
- Start with prompts from Enthropic/analogous prompt resources to guide improvements
- Optional: switch between interactive mode and scripted runs to fit your workflow
Actionable takeaway:
- Start with a minimal, repeatable CLI flow and add features (timestamps, incremental updates) as you validate the base pipeline.
Augment remote agents vs. Claude Code#
- Augment strengths:
- Better handling of context and codebase understanding
- Thoughtful, deliberate steps before acting
- More affordable (e.g., $50 with a generous thread allotment)
- Claude Code trade-offs:
- Faster, more brute-force execution
- Feels closer to a Vim-like IDE experience; might be less opinionated about context
- Practical takeaway:
- For code-focused automation and knowledge-base tasks, Augment often offers a more principled, cost-efficient approach. Claude Code can be useful for rapid, large-scale experiments, but you’ll pay more and may trade some context sensitivity.
Actionable takeaway:
- If you’re price-conscious and want better codebase awareness, start with Augment and reserve Claude Code for specific, high-speed explorations.
Prompt engineering and context strategy#
- Prompts and prompts sources:
- Leverage compact prompts; the smaller the prompt, the better the model performance in practice.
- Use context-engineering techniques (just-in-time context) to keep the model focused on the task.
- Practical prompts:
- Use code-analysis prompts to understand and suggest improvements to a given codebase.
- Examples: analyze the TypeScript + Bun CLI, suggest performance improvements, and preserve functionality.
- Workflow tip:
- Run a prompt as an Augment task and then review the results; refine the prompt or add a small, targeted context for subsequent runs.
Actionable takeaway:
- Favor short, precise prompts plus just-in-time context. It dramatically improves relevance and reduces hallucinations.
Documentation strategy: centralizing with Mintlify/Mintify#
- Problem: Documentation scattered across multiple places.
- Plan: Create a centralized docs site and use it as the single source of truth.
- Multi-step approach:
- Analyze the current docs and identify gaps
- Study the reference architecture
- Design the documentation architecture
- Create the plan
- Set it up and migrate content
- Tools considered:
- Mintlify/Mintify (documentation hosting and structure)
- Outcome:
- A clean, navigableDocs site that mirrors the project’s architecture and usage
Actionable takeaway:
- Normalize the docs early. A centralized docs site speeds onboarding and reduces maintenance friction.
Performance, optimization, and code quality notes#
- Bottlenecks observed:
- Inefficient queries and multiple count queries
- Memory management issues
- Unnecessary re-initialization on every command
- Suggested optimizations:
- Replace multiple queries with common-table expressions (CTEs) to reduce round trips
- Introduce caching for cosine similarity calculations
- Use typed arrays for high-throughput vector math
- How this was approached:
- Use Augment’s sequential thinking to outline improvements, then run targeted tasks
- Keep the session clean between runs to avoid stale references
- Documentation-driven improvements:
- Generate improved docs as part of the iteration to keep the codebase and explanations aligned
Actionable takeaway:
- Prioritize query optimization, memory efficiency, and targeted caching; keep documentation in sync with code changes.
Project, community, and what’s next#
- Project and repo:
- XGPT and related tools are hosted under the VI organization on GitHub (example path referenced: github.com/joinvai)
- Community and platform:
- VI is a community-driven platform for builders; ongoing updates and show-and-tell sessions
- Pricing and momentum:
- Augment and related tooling offer cost-effective options; cloud-code products tend to be pricier
- He hints at price increases and encourages joining early to lock in access
- Next steps:
- Check out the XGPT repo for hands-on exploration
- Consider joining VI to participate in future updates and discussions
Actionable takeaway:
- If you’re serious about this workflow, explore the XGPT repo and consider joining the VI community to stay ahead and influence upcoming features.
Takeaways you can act on today#
- Start with a spike to validate data sources and the core pipeline (scrape -> embed -> query).
- Use a rate-limited scraping profile to protect accounts and stay compliant.
- Build around a simple, query-friendly store (SQLite + Drizzle) before expanding storage complexity.
- Leverage short, context-aware prompts and just-in-time context to keep AI responses relevant.
- Consolidate documentation early with a centralized site to reduce maintenance overhead.
- Compare Augment vs Claude Code for your needs; choose Augment for codebase awareness and lower cost, Claude Code for speed and IDE-fit.
Links#
Note: Some tooling names and product references in the video may be discussed in the context of the creator’s live environment. If you want exact setup steps or to clone the repo, refer to the XGPT repository linked above.
Transcript
I led tech for a startup that sold for 23 million bucks and I just built a tool that lets you download anyone's brain off of X and then ask questions about it all in under two hours using only AI. Today I'm showing you exactly how I built this system to download all the knowledge from the smartest people on the internet and it's completely free, completely open source. So how did I do this with Augment? One, why I think X is a gold mine for learning. two, how XGPT turns tweets into an intelligent knowledge base that's living. And three, the insane AI tool that let me build this in the background in under two hours. So, let's cover the problem and then why I built this. So, as I mentioned before, X is an incredible place for learning. It's a great resource. It has all these brilliant minds that are sharing stuff pretty much daily, but the API is super restrictive and so you have to get around this. And I wanted to learn from specific marketers and specific engineers about the things that they're learning because I don't want to go read a blog. And so in my head, it's how do I take the people that are in these different lists that I've categorized and then build a resource out of it. So an example might be if I want John Carmarmac and I want to see what he thinks about co-pilots, about AI coding in general, I can go and I can search here. That's good. I also thought, hey, I don't even have to make this because I can just throw a query in here and learn everything. But this doesn't work either, even with deep search, which is bananas to me. So then I said, okay, I want to have this built. So the dream was, I'm going to have this personal knowledge base from the smartest people that I know. This was built using augment agent on auto mode and I was able to basically just tell it the things that I was thinking in not that much detail but providing it examples of different projects that I know are similar. So I started in GitHub. I found out that there was a couple different projects that were in Python. I am not a Python person at all. So I wanted to make this only in Typescript and I wanted to use bun. So, I found out what are the primitives about this project that I need to do. What are the methods that I could do in order to figure out how to scrape these things? I had a couple in my head, but what I did was I actually spun up a remote agent to go and run a spike. And if you're not familiar, a spike is agile methodology for doing a time blocked research sprint. So maybe 90 minutes and you would go off manually and do the research around what is it that we need to do? How do we delete these unknown unknowns? And so started there with a remote agent. So it could just go and start doing research. If we jump into the readme, you can see how this works. It has smart tweet scraping. It extracts tweets from any public/x user with advanced filtering. It converts those into 15 36dimensional vector embeddings for semantic search. This is running sequential thinking in the background and figuring out how we're going to test this. We have intelligent Q&A so I can ask natural questions. As far as the demo goes, I will type in this command. So bun run the cle. It's a CLI tool and it's an interactive mode. And so you can see that it's automatically built out a list of preferences. So it'll there's a couple things that you can change in there, but I'm going to go ahead and type in let's say what's John's handle name. Yep, we're going to paste as one line. Make sure there's no white space. So we've entered that in. And then I can see, oh, what content would you like to scrape? Do you want tweets, replies, or both tweets and replies? Yeah, let's do both. And then what scope would you like to use? So do you want all the posts or do you want to keyword the filtered posts? I'm going to do for this demo, let's do all posts. And then I can select what the time range is for how I want to scrape. So I'm going to select the last month. Now it's given me an option for how many tweets do you want to scrape. So in your head, if you're like, I just wanted 100, then I could just type in 100. And now this piece has a lot to do with how we're getting around the API restrictions. So you have what's called a rate limiting profile. And this dictates how aggressively you want to scrape. So speed versus account safety. Now I want to always go with the moderate one. So I'll hit that. And then I do want to generate the embeddings after the scraping. And then it gives me this configuration. So at the beginning when I started this interactive mode you could see that it it basically initialized a profile. So if I wanted to have this set as my default where I always do all posts and then the only variable maybe is the user. If I want all those as a template I can set that too. So I'm going to just go ahead and start scraping with that. And you'll see it's going to spin up and it's going to start to actually scrape these. So the question is how did I do this? This is on moderate so it's not going fast. If I did aggressive it would have ripped through it already. But what that'll end up doing is once it's done it will vectorize those stick them in a SQLite database using Drizzle so I can query against it. I can also open up Drizzly and see all the stuff if I wanted to. When's the last time you did it? But by storing that you know that you can then have a time stamp. So if in the future I want to have this be a crown job where every day I have it go so that I just have an up-to-date knowledge base, I can do that. But it's progressing through this. But this is the way that it works now is you have the ability to basically see your cookies and then you go and you grab the O token and the CT0 and then you pass those in. So that's how you use it. This tool is free. If you guys want to go check it out, you can check it out right now. But that's pretty much how it works. You have interactive mode or you can just go specific and it'll just rip through it. You have the user selection as I said, the content type, the search scope, the time range, the options, the summary, and then the execution of it. Whole thing's test driven, very fast. If you're going faster on the scraping part, this is by design. This is why it's slow is cuz I don't want people's accounts to get wrecked. So, how did I do this with augment? I did a couple things. I use remote agents for very specific tasks that I would not think or want to do myself. Now I know a lot of people are looking for the remote agent path of like how do you do it? How do you make it perfect? After talking to the augment team and then also just testing with them a lot. I find myself doing things like design iterations, documentation with Mintlifi and things like research spikes. So, what I've used them for is I'd spin up, let's say, a new remote agent. I can stick it onto a different branch or do the main branch if I want to. This is just literally a tool. So, I could do it on master. And then I would explain to it, hey, I want to do a deep dive on the feature. And then I explain the feature. And the way that I explain the features, I say, I'm building out a CLI and I want it to do the following for the user. The user enters in XGPT that initializes the CLI. The user passes in a username of the X user they're interested in. Then the user selects the duration or the time length that they want to have selected. So how far back do they want to go? Then and I'm building out this ordered list of operations. And that's the way you should be thinking about this because the product needs to match to the desired outcome of the customer in order for them to get the desired outcome. What are those steps? So I explain all those steps just literally in line and then I have it go off and then when that comes back I can see how much it aligns with how I'm currently actually building it. So, I found myself where I built this in a way at first where it didn't have any of this like vectorization stuff. I didn't really get why I would need it and I didn't know why I would need to have timestamps or any of this. It was just literally just scrape it so I can look at them and read them. But then it came back and it's like, "Yo, yo, yo, you should definitely add all these things." And that was helpful. And then also just the documentation where it's I spin up another one, hit go. What I did after was I can basically go in and say, "How could I improve this codebase?" And if you're looking for better prompts as a basis, this runs off of Enthropic. So, if I go to Enthropic, I can see all these different prompts that they provide for me. So, most of them are in Python. Now, again, I'm not a Python guy, but if I had a bug, then I've noticed that the smaller the prompt, the smaller the system prompt, the better. And that's a new trend that we're seeing. So, as the models get better and better and they have more horsepower behind them, you actually want a maximum of four sentences. It looks like one sentence, two sentences. Yeah, this is three sentences long. And then all context. Now, the guys over at Devon just wrote an article about this where they call it context engineering. And this is what I've talked about a lot on this channel, which is you want just in time context. So that you can have a sniper rifle approach to how these machines are able to probabilistically get through your problem to get to the outcome. So I could take one of these and I would just mod it for what I need. So you can see there's a bunch of if I type in Python on the left side I should be able to see a few of them. We have the bug buster one and then if I type in maybe code Yeah. So code clarifier and I could go and have it basically explain stuff to me. I could figure out what the consultant wants to say. So analyze the snippet. So what I'll do is I'll actually take this one and then I'll jump back and I'll say your task is to analyze the provided TypeScript and bun CLI tool codebase and suggest improvements to optimizer performance. D cool. So at the end of it, it says the optimized code should maintain the same functionality as the original code while demonstrating approved efficiency. Now I've already run this same thing but just inside of an auto agent. And so if I just did this, it's going to go and it's going to run and I don't have to think about it. So now it's running. I'm like pretty neurotic about deleting all these. I just think it's like a performance hygiene thing. I do the same thing if I'm using any tool where if I'm stacking all these, I just like a fresh session when I come back. So that's why you see one. And then that'll go off and it'll do its thing. Now what I'll do next is I'll actually say we want to spin up a we want to spin up a Mintify app to host our documentation. You can see that our documentation is scattered all over the place and we don't want that. So analyze the codebase, write documentation, and use the enthropic docs as example for how we want to structure our documentation. So did a couple things in there, right? I'm going to go ahead and change this to Mintify, but it's going to be asked to analyze things. And then I'm also going to provide it just the documentation route within. Let's see. I actually I like this layout. So, I can go into resources. I like the way that this looks where there's like stuff on the left. Let's see what which one API guide. Yeah, let's grab this link here. And then we're going to drop that in there. And then this will allow Augment to use its built-in web scraper to go and do that. Now, I like writing these myself. I also like enhancing them because sometimes it just kills it. So, we're going to enhance this one. Let's see what it does. You can see things are still going on over here. Yeah. So, I want to create a centralized documentation site using Menifi to replace our current scattered documentation. Use this multi-step approach. One, analyze it. Yep. Two, study the reference architecture. Smart. Three, design the architecture. And then four, create the plan. And then five, set it up. Yeah, that makes sense to me. So, I'll then create that one. Now you can see I already have the answer to this first one. So let's see what it came back with on the codebase analysis. Based on the codebase analysis, I've identified several key performance optimization opportunities. It's so nice that it said opportunities. And so performance analysis summary, the codebase is well structured but has several performance bottlenecks that can be optimized. Okay, so the queries are inefficient. We have multiple separate count queries. Yeah, shucks. We have some search bottlenecks. Okay. We have memory management issues. True. We have unnecessary initialization on every command. Yeah, that's true. So, while this third one I wouldn't actually go for, I think it's confused because it's seeing old stuff. So, I should have probably cleaned that up because it's referencing something that doesn't exist in the functionality. But then now we see some of the snippets of how it would approach it. Cool. This is how it would do that. So it wants to combine these using CTE. That's that makes sense to me. It's going to reduce the round trips. So it's not only telling me like, hey, go do this, but here's why. And then this is what I was interested in cuz I didn't actually understand this. So cosign similarity is calculated in JavaScript for all vectors. Instead, implement optimize similarity search with caching. So what? That makes it faster. Using typed arrays. Oh my gosh. Yeah, I have no idea. That sounds smart. So, it'll be 60% faster. That's smart. Okay. So, yeah, all these things. This is what you do once you're cooking once once you're already done. And then I can see I already got a run going on this one. So, it is using sequential thinking again. And the way that I've set that up, just pro tip for the Augie peeps is if I do augment settings and I go into settings, you can see that I have sequential thinking turned on. And if I didn't, then I can import it from JSON. And the way that you do that is you go into, let's see, sequential thinking MCP. Boom. And I grab that one of these. Yeah, that. So I drop this in. And then now be a part of augment. And I do notice I usually hate to use MCPS, but Augment does a really good job of setting those up. Now, how does this compare to cloud code? I think they're in different categories really. I think we were talking about this in VI. It's our community, private network builders. Everybody in here is basically just getting after it. We've got people from Microsoft and Google and it's dope. But we're talking about it and it's hey like I saw you're using cloud code should I switch to it? No I think it every tool has its strengths and its weaknesses. I think the strength of augment is its approach with context seems more deliberate where it will take a little bit more time to think about the cuts that it's going to make and the processes that it's going to take in order to accomplish the task. but it seems like it has a better understanding of where everything's at in the codebase. Whereas with cloud code, you just let it run and it's fast. It's definitely geared more towards someone who's used Vim before. So for people that like being in the IDE, I don't think Cloud Code's the best for that. But again, I just started using it. So, I think augment still wins on the fact that it just has a better understanding of the code base. I think that it has more of a like a compass whereas the cloud code approach is like you're hacking around with a machete. And so, also just on price, like if you're price conscious, then an augment makes a lot of sense because it's $50 and you get 600 of these threads, which is crazy. Yeah. And versus Cloud Code, it's $200 a month. So, four times more expensive. But again, I think they they're just different, right? I think most people if they're deciding which one they want in their IDE, then they should be using augment. So, with this one, it looks like it has the complete inventory. Cool. That looks good to me. Yeah. So, I basically just say, great, let's get started. And now I just have these remote agents running. And that allows me to then keep hammering on an actual remote or sorry auto agent in here. If you want to check out XGPT, I will open up the repo. It will be inside of the VI organization where we have a bunch of other tools. You can go to github.com/joinvai and you'll see we have XGPT. We have VI which is the new platform that I'm launching to replace our home on the internet. Right now we're on school for the beta. But we're launching the real deal. We just hit 100 members. I'm really excited about it. We have a show and tell today in 55 minutes and AISDLC which is a Python cle. But yeah, you can go check that out. If you learned one thing in this video, make sure you like it. Make sure you subscribe so you can stay tuned. And if you want to be a part of VI, you should go join it before we double the price cuz I'm building a whole new platform. All right, I appreciate you guys for watching this and I'll see you in the next one. Peace.