- Tool calling: This is unavoidable, but I try structure the tools such that the total tool calling for an input is minimised.
- Using UUIDs in the prompt (which can happen if you serialise a data structure that contains UUIDs into a prompt): Just don't use UUIDs, or if you must, then map them onto unique numbers (in memory) before adding them to a prompt
- Putting everything in one LLM chat history: Use sub agents with their own chat history, and discard it after sub agent finishes.
- Structure your system prompt to maximize input cache tokens: You can do this by putting all the variable parts of the system prompt towards the end if it, if possible.
Im a former YC founder, I recommend to NOT raise external money from anyone, unless there is literally no other choice.
Raising money has been marketed as success by VCs and they have done a great job of it. Remember, that in reality, raising money is sign that your business is not doing well.. not the other way around.
Furthermore, a lot of people hope that raising money will help them get distribution and customers' trust. Thats NOT true. We raised a decent amount of money from YC and other VCs, and despite that, the thing that helped us most for distribution was content SEO and posting on reddit + no customer ever told us that they were using our product cause we raised $X from these VCs..
People also expect that well known VCs will help you magically solve issues in your company. That's not true either.. VCs may seem very smart, but when it comes to the details of solving issues about your company, they literally can't help, cause they don't know as much as you do about your business.
Another reason people want to raise money is cause they can't afford to quit their jobs and rely on their startups. In this case, well, do not quit your job.. work on your startup as side project until it's already generating 1.5-2x your annual salary, in a stable way. Remember this way, you dont have a deadline for your startup based on your runway, which is GREAT not only from your startup's survival point of view, but also from a mental health point of view.
I would also like to talk about hiring. A lot of people just assume that raising money is needed cause that way they can hire people and grow faster. This is again, not true.. usually, hiring people means you are actually going to slow things down unless you know EXACTLY what you want to hire for, which is rare for a startup. Even if you find a great person for the job, they will take at least a few months to be full productive, and if your startup is not growing like crazy (which is true for most startups), the person will likely leave (cause they are good and will find a better company) = wasted time.
I would like to say that money you raise for your company is NOT your personal money. You can't just spend it on buying stuff for yourself. In fact, even taking a decent salary from that money is looked down upon, unless your startup is doing really well already.
Finally, VCs play a numbers game. They invest in 100s of companies hoping one of them will give out a massive return and cover the losses for everyone else + make a huge profit. You are, statistically, in the ones that won't make it, and you will be written off.. at this point, you will have an entity, owing a large part of your company who literally doesn't care about you.
All of the being said, here are the reasons of why you SHOULD raise money:
- Your business model only works at scale.
- Your initial investment costs are very high: This is usually never true for software companies.
- You are trying to impress your partner and / or friends in the short term and give them the illusion that you are successful already (lol).
> We raised a decent amount of money from YC and other VCs, and despite that, the thing that helped us most for distribution
When one does not raise money you get questions like "how do we know you will be here in 6 months, how are you funded?". I doubt people will tell you directly "oh, we have seen you are funded we decided to give you a chance".
> raising money is sign that your business is not doing well
You can raise money to execute (a part of) a larger plans. There are various fields that have barriers to entry in terms of regulation and/or compliance. This can still be couple of FTE + costs before you can sign any deal.
> work on your startup as side project until it's already generating 1.5-2x your annual salary, in a stable way
This highly depends on the type of business. If you are for example in B2B you can't tell your customer "sorry I can meet only after 19:00 because of my other job" not to mention how you can be perceived.
I would add to reasons why you should raise money: make sure the startup has external feedback that you listen to. All founders are quite stubborn - which is good and necessary - and is hard to convince them they need to adjust/pivot/rethink things. Investors can do that, but best is to have some previous experience with the field, otherwise they can be just noise.
> When one does not raise money you get questions like "how do we know you will be here in 6 months, how are you funded?". I doubt people will tell you directly "oh, we have seen you are funded we decided to give you a chance".
The thing is, we did raise money, and we still go the same questions, and we replied saying these are the VCs that have funded us, and we still lost those kinds of deals. The deals we won, were mainly cause we solved some burning pain point of that specific user, who really didn't care about our funding status.
> You can raise money to execute (a part of) a larger plans. There are various fields that have barriers to entry in terms of regulation and/or compliance. This can still be couple of FTE + costs before you can sign any deal.
Agreed. But for most startups, people raise cause they need more money to survive.
> This highly depends on the type of business. If you are for example in B2B you can't tell your customer "sorry I can meet only after 19:00 because of my other job" not to mention how you can be perceived.
Agreed. It's not ideal, however if you are solving a big enough pain point for the user, I'm willing to bet they won't mind it.
> make sure the startup has external feedback that you listen to. All founders are quite stubborn - which is good and necessary - and is hard to convince them they need to adjust/pivot/rethink things. Investors can do that, but best is to have some previous experience with the field, otherwise they can be just noise.
Yup, I agree here as well. But, the best external feedback is not from your investors, but from your (potential) customers!!
It is. Big companies (or really anyone) usually don't have the time to copy an idea unless it becomes too big already. And if your idea becomes too big, it was worth pursuing it.
Or worth buying up. Which in many cases was the "purpose" of doing the startup in the first place.
Sure, we'd all like to think that the goal was an idealistic "startup does things for bettering humankind".
But let's face it: A large amount of startups are literally founded as an "easier" alternative of building a "more agile" sub-organization within an established and more process driven org and then just get bought out by some of those larger orgs.
Whether or not those large orgs are then actually successful in integration and actually properly leveraging what they bought vs. just "crushing competition", is not necessarily the concern of the founders, depending on how ruthless vs. idealistic they are.
The web version runs Claude Codes in remote sandboxes - we're adding the same to macOS soon.
Beyond that, we're working on API & integrations - connecting Sentry so an agent can automatically open a PR to fix an issue, or triggering Claude Codes directly from @ mentioning in GitHub/Slack/Linear.
Hmm. But the value of using claude code for me is that it runs on my local machine. I have setup several skills / commands / workflows that rely on the content on my machine. So i guess using it on a remote sandbox won't help me.
I'm building an API that lets developers enable their AI agents to communicate with users across multiple channels (email, Slack, SMS, WhatsApp, etc.) through a single integration.
Why? Developers spend significant time integrating and managing different communication platforms. This API simplifies the process while offering users more flexibility in how they interact with agents.
Key Features:
- Unified communication across multiple channels via one API.
- OAuth token management: Simplifies login flows and token handling for developers.
- Centralized user control: Users can monitor and revoke tokens in one place.
- Analytics for developers: Insights into agent usage and performance.
- Consent management: Tools to ensure user consent for actions.
I'd love to hear from developers working on AI agents: Is this a problem you're facing? What would make this solution indispensable for you?
Okay! Super cool! I will check it out and reach out if needed. You are right in that i can't fully rely on LLMs. We will of course have several tests + line by line code review done for the generated code.
Right. Makes sense. I think what we had originally intended to communicate is the ease of customisability, in which case, we feel that Keycloak's UI customisation is more difficult to do.
- Using UUIDs in the prompt (which can happen if you serialise a data structure that contains UUIDs into a prompt): Just don't use UUIDs, or if you must, then map them onto unique numbers (in memory) before adding them to a prompt
- Putting everything in one LLM chat history: Use sub agents with their own chat history, and discard it after sub agent finishes.
- Structure your system prompt to maximize input cache tokens: You can do this by putting all the variable parts of the system prompt towards the end if it, if possible.