Register and share your invite link to earn from video plays and referrals.

Alvin Sng
@alvinsng
MTS at @FactoryAI; previously at: Meta, Airbnb, Brex & Opendoor
618 Following    5.9K Followers
This is why we recently rolled out the Product Vision interview at Factory and require it for all engineering roles. It’s no longer enough to know how to build something. Engineers increasingly need to know what to build, why it matters, and have the autonomy to take it from idea to impact. That’s a big part of why Factory stays lean, with <40 engineers while shipping so much. When the same person owns both product and engineering, they have the full context to make better decisions while avoiding the context and coordination taxes that come from working across teams. See a recent example in action:
Show more
Prediction: from now on, great product leaders will get $100M comp package, not researchers. 1. 2022-2026 is all about killer models. Right now models still matter, but only for frontier tasks like science, math, trading etc. etc. You either kill cancer or you don't matter. 2. Instead, great products like muse, grokbot make AI truly accessible for people. The proliferation of AI matters way more now. 3. Open weight models make it cheaper and better, and the margin for most models will go down significantly, leading to less profits. 4. Training techniques are copyable, but unique data is not. All things equal(compute, training techniques), unique data is the new oil. Even if your training techniques are second-tier, with unique first-tier data you win. 5. Great products attract sticky users who provide unique data that lead to even better models. Therefore, product is the one that matters. We are finally entering the gold era of product visionaries.
Show more
We're the real deal
I decided to put this to the test. $25 of credits on Droid vs Devin. Devin ran out in under an hour. It burned through usage. Droid ran for 8 hours, finished the task, and still had several dollars left over. You guys are doing some kind of black magic with your harness.
Show more
After using Droid heavily for about two months, it is finally time for a full review. As always, this is completely independent. Not paid, not sponsored. I will break down exactly what worked, what did not, and where I stand after two months of serious use. I started on the Pro plan, then upgraded to Max once I decided to lean into it much harder. Having spent real time on both tiers gives me a solid baseline to compare them. Usage limits This is usually what people care about first. How generous is the subscription? Can you actually rely on it all week, or will you burn through your quota in two days and get stuck? Droid has one of the smartest setups I have seen for this. You basically get two separate usage pools. The first is your main allowance, which gives you access to the full model roster: Claude models, GPT models, Grok, and open models like Kimi K3. Once you hit the five-hour cap or your weekly standard allowance, Droid Core kicks in. Droid Core is a separate pool built around strong open models like Kimi K3, Qwen 3.8 Max, and GLM 5.3. I love this system because you always have a safety net. Even if you chew through your primary quota, you can still keep working on light and medium tasks until it resets. On Max, Droid Core is remarkably generous. Even on Pro, the allowance holds up well. If you stick to open weights and cheaper options like Sol and Luna, that $20 tier gives you actual breathing room. You can genuinely rely on it throughout the week. Max is where things get wild. Ever since Opus 5.5 dropped, I have run it relentlessly inside Droid. I have had sessions running past nine hours, sometimes longer on single projects, without hitting a wall. Keep in mind, this was Opus 5.5 running at Max effort. At points, it honestly felt like using Opus directly inside Claude's own subscription. The allowance is that generous. If you drop down to cheaper models, you can also run multiple sessions in parallel comfortably. There were times I had Astra and Fable both running at Max effort in separate sessions. They burn through usage much faster, which is expected, but I still managed to finish the work before hitting the limit. That alone tells you how generous the subscription is. Easily one of the best I have used. The harness actually improves the models This is one of the most impressive parts of Droid for me. In my testing, models behave noticeably better inside it. They are more disciplined, more obedient, and much stricter about following instructions. Take Sol. Sol can be stubborn. It loves doing what it thinks is right even when you explicitly told it to do the opposite. You see that constantly in Codex. Inside Droid, it listens. The difference is night and day. What makes this even more impressive is the variety of models available. You get frontier models, open weights, and completely different model families under one roof, yet the behavior stays consistently strong across them. That is rare. A lot of harnesses work beautifully with one or two models and fall apart once you start switching between families. Droid does a much better job of keeping the experience coherent. Caching is also great Looking through my logs, cache efficiency sat around 94%. I have seen higher elsewhere, but 94% at this scale is still fantastic. Across roughly 70 sessions over 14 days, I used about 585 million tokens. Most of that came from Fable and Astra, with Opus 5.5 joining toward the end. When you push that much context through expensive models, caching becomes extremely important. Weak caching will destroy your allowance much faster than people realize. Getting this kind of usage with models like Fable and Astra under a single subscription is rare right now. That genuinely impressed me. The desktop app is excellent The desktop app is a joy to use. Droid built one of the cleanest desktop app in the space when it comes to UI, navigation, and overall feel. It is fast, straightforward, easy to move around in, and they struck a great balance between deep capability and clean design. It also stays out of your way. It will not eat your RAM alive or drag your machine down like certain other desktop agents. Setup takes minutes, everything makes sense quickly, and it does not feel like a tool designed only for engineers. A programmer can use it, but a non-programmer can use it just as comfortably. That brings me to one of my favorite things about Droid. Droid goes far beyond coding A lot of harnesses feel like code-only tools even when the marketing says otherwise. Droid does not. It is easily the harness I have used across the widest variety of tasks. I have used it to benchmark models, build and update my personal site, prepare projects, run research, brainstorm, write, translate, and organize parts of my life. I even connected it to my email and used it for personal task management. It never felt out of place. That flexibility is a massive advantage. Claude and Codex can handle general tasks well too, but you are still locked into their specific model ecosystems. With Droid, I can use GPT models for what they do best, switch to Claude where it shines, and fall back on open models whenever that makes sense. That versatility gives the subscription a lot of value because it feels like a genuine all-around AI workspace rather than a specialized tool pretending to be one. Long tasks and context handling Droid handles long-running work very well. It keeps context intact, stays on track, and pushes tasks forward without slowly forgetting your initial instructions. The models also feel sharper and less lazy inside it, especially when the task gets large enough that weaker harnesses start drifting. Droid includes a dedicated Mission Mode for planning and long-haul projects. I found it especially strong for software development and complex tasks that need sustained focus over time. I have finished a huge amount of work with Droid in a surprisingly short window, and at this point I would genuinely hate to give it up. I am on Max right now and strongly considering the annual plan simply because I do not want to think about working without it. It bumped my productivity noticeably. A lot of you saw how quickly I rolled out Da7em Bench and Opethon, and Droid played a major role in helping me move that fast. I barely touched the CLI Given how much I normally like terminal workflows, this might sound funny, but Droid's desktop app is so good that I barely opened the CLI version. If you usually live in the terminal, I would still tell you to give the desktop client an honest shot. It is one of the best desktop agent experiences I have used, and in my case it was good enough that I simply did not feel the need to leave it. Voice input is fantastic The voice input deserves its own section because it has become a real part of how I work. In practice, it feels almost unlimited. I have recorded prompts stretching past ten minutes with zero issues, and the transcription quality is excellent in both English and Arabic. It picks up subtle phrasing, handles technical jargon cleanly, switches between languages without falling apart, and converts very quickly. I can record a long ten-minute brain dump, hit convert, and the text appears almost immediately. It is easily one of the best voice inputs I have used in any AI tool. Unfortunately, that brings me directly to one of my biggest complaints. The problems Most of my complaints are minor and fixable, but there are a few areas that definitely need attention. The first is voice input. Droid lets you bring your own API keys for external models, which is great. On Pro especially, you can use Droid's flagship models for planning and then execute with a cheaper model on your own key if you want to stretch your quota. That flexibility is genuinely useful. The problem is that once you hit your five-hour or weekly limit, one of Droid's best features turns off: voice input. For me, that is a serious problem because voice is not a gimmick here. It is central to how I work. Instead of spending twenty or thirty minutes typing a massive prompt, I can talk it through in five minutes. I get my thoughts down faster, explain more naturally, and iterate with the model without wasting time typing everything out. When voice gets disabled, my workflow breaks. I have to open another app, record there, transcribe the audio, copy the text, then paste it back into Droid. I do not understand why this has to be tied so tightly to the main usage cap. Speech-to-text is not expensive enough to justify locking the feature completely. At the very least, let us bring our own speech-to-text API key. I already host my own speech model in Hermes. I would gladly point Droid to it and keep working. This is probably the first thing I would change. The second thing is memory. Droid needs an actual memory system. Right now, you mostly have an instruction file, which means repeating yourself more than you should and starting fresh sessions that can feel too disconnected from the ones before them. I would love to see a proper editable memory layer where the agent gradually learns your habits, preferences, and recurring context across sessions. Hermes does this very well, and something similar inside Droid would make the whole experience much stronger. I also still want a true goal mode. Mission Mode is useful, but what I really want is an autonomous mode where I can define an outcome, give the agent full permissions, and let it run until the job is finished. For long-running, safe tasks where I trust the model, I want to walk away from my desk knowing it will keep going. Instead, I sometimes come back and find it stopped just to ask whether it can delete a temporary file it created itself. That kind of interruption ruins unattended work. Asking questions upfront is good behavior. I actually like it when a model clarifies things before starting. But once the plan is clear and full permissions are granted, it needs to distinguish between something genuinely risky and something completely routine. Do not pause a multi-hour run to ask me whether you should clean up your own scratch file. There is another issue I only really encountered with Opus 5.5. Sometimes the model thinks for a long time, especially at Max effort on complex tasks. Five minutes, ten minutes, occasionally longer. Droid can sometimes interpret that as the model making no progress and stop the run, warning you that the model produced consecutive turns without visible output or tool calls. The problem is that the model was not stuck. It was thinking. If I deliberately put Opus 5.5 on Max effort and hand it a difficult task, I expect it to take its time. Droid needs to handle long thinking stretches more gracefully instead of assuming the run has stalled. There is also one thing I would love to see in the future, although I would not call it a flaw. Droid is one of the best harnesses I have used, and the engineering behind it is genuinely impressive. If they ever open-sourced the desktop harness, I think it would be an incredible resource for the developer community. People could learn from it, build on top of it, and customize it much more deeply. It could also help with some edge cases. I once ran the exact same prompt through the same model inside and outside Droid. It ran fine outside but refused inside Droid. That only happened once, to be fair. Droid is actually one of the least restrictive harnesses I have used, and in my experience it gives you far more room than Claude or Codex. Still, more transparency and customization would be valuable. It is their product and their decision, obviously, but I think the community would gain a lot from engineering this good. One thing you should genuinely watch out for is instruction files, because this derailed my setup for a while. After an update, Droid suddenly started behaving strangely. I eventually found that the problem came from an instruction file conflict. Some of my custom rules were sitting in an AGENTS.md file, while Droid was reading from its own Factory instruction path. That created inconsistent behavior. Sometimes it seemed to read one file, sometimes the other, and sometimes instructions I had explicitly told it to remember disappeared in a new session because the next chat was reading from a different location. I eventually fixed it using Droid itself by consolidating everything into the official Factory/AGENTS.md path. My advice here is simple: once you configure your instructions, start a completely fresh session and ask Droid exactly what rules it can currently see. Verify that everything is actually being read before assuming your setup is correct. Computer Use also still needs more polish. Sometimes it runs smoothly in the background and barely interferes with what I am doing. Other times it takes over the entire screen and steals focus, which means I basically have to stop working until it finishes. I still have not found a clear rule for what makes it choose one behavior over the other. I tried adjusting things in different ways but could not get it to stay in the background consistently. That unpredictability is annoying. To their credit, a recent update made Computer Use significantly better. Before that, I had cases where it would simply freeze halfway through a workflow and never finish. Now it is much faster and more reliable. The main thing left to improve is focus management. I want it to stay in the background by default and only take over the screen when that is actually necessary. The important part is that none of these problems make me dislike Droid. Most of them feel like fixable product issues rather than fundamental flaws. The biggest thing I want from Droid right now is a proper mobile app. Something fast and simple that lets me check on ongoing work, send models new tasks while I am out, and keep things moving without being tied to my computer at home. That would make a huge difference in day-to-day usability and quality of life, and for me personally, it is the feature I want them to ship as soon as possible. Where do I stand on Droid? Simply put, Droid earns its place in any serious AI stack. People constantly ask me what subscription to buy, which tool fits their budget, or what service can handle everything from coding and writing to research and personal tasks. Droid answers a surprising amount of that confusion. Its biggest strength is that it does not force itself into one narrow identity. You get access to multiple model families, generous usage, a strong harness, a great desktop experience, and enough flexibility to use it across coding, research, creative work, organization, and everyday tasks. That is exactly why I do not want to drop it. The team matters too One of the things that built my trust in Droid happened after an update temporarily broke part of my workflow. I talked about the problem openly, and people from the team reached out immediately, including one of the founders. They listened, took the feedback seriously, and told me they were already working on fixes. That matters a lot to me. There are two kinds of companies in this space: companies that think they are at the top and stop listening to users, and companies that are genuinely at the top and still pay close attention. Droid is a very good example of the second kind. They already have one of the strongest products in the space, yet they still listen, respond, and keep improving it. I also had another issue recently that turned out to be completely my fault. The problem was on my side, not theirs, and they still helped me debug it and stayed with me until everything worked properly. That kind of support is rare. When you are paying for a product and building part of your daily workflow around it, knowing the people behind it actually care about your experience makes a real difference. After two months of daily heavy use, Droid has become one of my most trusted subscriptions. It has flaws, and I laid them out because pretending otherwise would make the review useless, but none of them change where I stand. Droid is easily one of the tools I genuinely do not want to work without.
Show more
This may be the last chance to build wealth. Income via labor is a shrinking share of the economy while capital takes more. Search "BLU Labor share" and you'll find countless articles. When you buy stock in a self-driving car company, you're buying a robot that earns income for you while you sleep. This is why owning capital matters. As technology gets better, more economic output will come from machines and AI rather than human labor. But technology also gives anyone unprecedented leverage: free knowledge, AI to multiply output, cheap distribution, and efficient access to capital. More leverage than any prior era. The opportunity is to use that leverage to build and own assets that produce income, rather than relying solely on selling your time.
Show more
I’ve seen this firsthand: Vibe coding fails when you can’t tell the difference between a "best practice" on paper and real-world experience. Real experience means factoring in all the trade-offs, from speed and cost to safety, and making the pragmatic choice, which even the best models can’t do. Here are some examples: 1. Data migrations. The model proposed a fleet of parallel cloud functions and new insert endpoints, adding endpoint, invocation, logging, and telemetry costs. The database was the bottleneck anyway, so a single remote server would have been enough. An agent could run the migration script there, detect unexpected data formats, update the script, and continue migrating as it encountered edge cases. It would have shipped and run twice as fast at half the cost. 2. Database constraints. Models love putting every business rule and enum constraint in the database. That sounds robust, but it can make shipping painfully slow. Every new enum value or business rule change becomes another database migration. Application-level validation is usually enough. Otherwise, monitor for inconsistencies and alert. 3. Missing variables. Models often add fallback values when an environment variable is missing. It keeps the app running, which feels convenient, especially during local development. But if infrastructure forgets to set a required variable or uses the wrong name, the app can silently run in development mode. The safer behavior is to fail loudly at startup so the deployment will halt. Knowing how to code matters because you need to recognize when the model’s "best practice" is wrong and override it.
Show more
Hot take: Vibe coding only works well if you already know how to code.
Every job i’ve gotten in tech has been through X and I’ve always wanted a way to track/refer my network on here. Excited about @cosign and what @david__booth @eriktorenberg and co are building. Check out the companies I think you should join:
Show more
Got the life-changing notification on X. Now I’m: - Sending my two weeks’ notice - Drafting my new book, Making It - Hitting up lenders for a mortgage - Shopping for private jets Busy day. More to come.
Show more
Same reason airlines don’t like you using Expedia to compare flights. Save every penny on every prompt, and it all adds up at scale.
Big Token hates this one simple trick! Dynamic model routing allows for a more efficient free market across the model providers. This puts pricing pressure on them to provide the best/fastest/cheapest tokens for any given task, lest the tokens get routed to a competing model.
Show more
The model providers optimize for raw benchmark scores or they optimize for price per token. Neither captures what customers actually care about: the cost to efficiently complete the work that actually exists. That’s why we built Legacy: a benchmark representative of the real distribution of software work, and why we evaluate models on the cost to complete those tasks, not just their raw scores.
Show more
Today, our benchmark, Legacy-Bench, joins @FireworksAI_HQ’s Specialized Intelligence Index. Frontier models have blind spots for legacy code, what’s benchmarked is improved. Legacy-Bench tests how well AI models can debug, extend, and migrate historic systems, to drive the future of software.
Show more
Factory Router now cuts inference costs by 63% in production, up from 42% in late June, while routed session volume grew roughly 4x.
The most sought-after engineers are the ones with the largest context windows. They understand the code, product, customers, business, and history, and more importantly, how it all fits together. That context allows them to make better decisions. These people tend to be endlessly curious. They want to understand how everything works, and when they’re passionate about something, they go deep. Their craft, a hobby, a side project, a random rabbit hole. They don’t just dabble, they keep learning until they really understand it.
Show more
The best commute is no driving. ​Technology continues to democratize what the ultra-wealthy always had: a private chauffeur. Now everyone can reclaim headspace to unlock so much more.
Show more
Sometimes we have a little too much fun to the point where @EnoReyes tells me it's my last day. Somehow I've been told it's my last day multiple times, yet I'm still here.
One of the reasons we will win is because we are having more fun
Controlled chaos in the Software Factory
Nah I clicked the button, I should get the credit @alvinsng
Half a million views, the people of X concur
ai agent/harness tiers
My tweet didn’t even survive a year before tech advanced again. Here’s the post–September 2026 version: Before Jev: You needed an LLM that was 400× more expensive and 200× slower. Now: Use an LLM for a one-time setup. Jev executes every event. Now let’s see how long it takes for this one to become outdated...
Show more
One of my favorite superpowers of agents is building classifiers. It’s insanely high leverage. Before AI, you needed a year-round team: - 3 ML engineers to build the models - 3 ML infra engineers to scale them up - 2 software engineers to integrate the parts - 1 data scientist to analyze it - 1 PM to manage the product - 0.5 EM to hold it together Now, in minutes, you can have an agent generate a markdown file that classifies inputs, then let agents run continuously against it. Below is a Sentry error classifier I generated at @FactoryAI. But you can build this for almost anything: customer-reported bugs, backend traffic analysis, fraudulent payment activity. Personal use cases too: categorizing credit card transactions, labeling emails, or organizing documents.
Show more
Still mind-boggling how far we've come: > Ask in Slack > Watch a video > Merge on Github app All the friction is gone. Coding is like online shopping now: the larger display is nicer, but not required.
Show more
TL;DR: Droid finished 2x faster than Claude Code with less tokens.
This is why @FactoryAI is hiring EPD in SF only. We’re also hiring fewer engineers than before, even as growth continues, so there’s less need to hire in more markets. A top engineer can amplify their output by orders of magnitude with agents, whereas others would just multiply bad decisions and bad code faster. Many of our largest projects are already bottlenecked on a single engineer because the shipping pace is so fast. Adding more people often wouldn’t meaningfully speed up timelines.
Show more