Agents are a new type of user to build for.
Agents access websites in a different way than people do.
They are faster and don't need a UI.
With personal agents already running everywhere, and growing, a new generation of agent optimised software is needed.
That is what Exa (85M raised, series B), has already been onto for some time.
They are building AI first search.
Google is optimised for human search. But agents (even ones like ChatGPT, Claude), can search much faster, and read much more. They need search optimised for the way they work.
Just like Exa is solving for search, we also need to solve for
- purchasing (think amazon for agents),
- payments (so our personal agents have a wallet they can spend on things)
- booking (think skyscanner for agents)
Humans are soon going to want their agents to carry out all of the above tasks for them, so we need agent optimised applications that make it easy to do that.
That is a whole new category of software and users to build for!
For one shoting website and landing pages, i'm giving openclaw my @runware Api Key and telling it to generate all the pictures needed for the site.
i.e I am generating the markup and the pictures together.
i.e full site done
๐ฅ
@_MaxBlade Just trying to set up openclaw now and I too was thinking this setup is a lot.
Wondering if the 150K+ starts on github all actually got the project setup.
If people are one-shotting web apps with claude code, how are they generating the images for the website?
Any popular MCP tools or similar people are using to auto generate the images as part the process?
Dubai based startup Quba | ูุจุฉ are solving privacy for business and enterprise teams that use AI and LLMs.
A lot of businesses are cautious about sending customer data across to LLMs.
The big LLM providers like OpenAI, Anthropic and AWS Bedrock provide guarantees on their enterprise plans that any data you send them wont be stored or used for training.
But what if that's not enough.
What if you don't even want sensitive data leaving you premises and going to these LLMs.
That is where Quba comes it. It masks sensitive information like names, emails, locations before sending requests to an LLM.
For example, instead of sending an LLM a users actual email, it will swap the value with something like "[email protected]", and then swap the actual value back on response form the LLM.
It can be setup on premise, meaning the sensitive data never leaves your site.
An interesting approach, especially with privacy being a big topic around using LLMs.
Just went to see 13 startups pitch at Oraseya Capital's pitch day.
Here are 4 tips from Oraseya on how to access VC funding in Dubai and the region.
But first, who are Oraseya?
They are the #1 most active investor in the UAE, and have invested in around 65 startups in since forming in 2022. They fund from pre-seed up to Series B.
Sandbox is their 5 month intensive accelerator program. The top startups at the end of the program receive $150K in funding.
So what did Head of Programs Elliott (Els) Denham have to say about getting funding from VC's
โ Prove you have good traction via an MVP. An MVP doesn't need to be an app, it just needs to prove your idea is in demand. A waiting list with 10,000 people signed up can do that job. Most ideas are rejected because they are just MVPs with no proven traction.
โ Understand the business model of VC's, so you know to how to sell them. VC's are looking for outliers. It is a high risk, high return model. Your potential returns need to match that. Know what they are looking for.
โ Most funded startups fail because of bad cash flow management, or building something no one wants. Avoid this, and you are ahead of the curve.
โ If you do get approved for funding, make sure all your paperwork is in place to make the process go smooth and fast. Don't lost out on the momentum you have just created, and let the opportunity slip.
Overall a very insightful talk. And points you really need to take in if you are trying to get funding.
I'll share a few of the startup pitches that stuck out for me in some future posts as well, so do give me a follow if this something you would be interested in reading.
How would you solve this API design problem?
Claude, Gemini and ChatGPT gave me different solutions.
You have an app with Customer users, and then the users from the actual business, lets call them Admins.
Imagine an API endpoint like /products.
If a Customer calls it, they should see only their own products.
But if an Admin calls it, they should be able to see all products from all Customers.
That is essentially filtering the data on a customer_id or not.
Would you build these as the same endpoint in a web application? Or split them up?
I always like fully fleshed out names in software/code
No abbreviations!
const repo = โ
const repository = โ
const q = โ
cont query = โ
const pg = โ
const page = โ
Code is written for other people to be able to read.
โ Needing to spend brain power, even for a micro second, trying to decipher an abbreviation is a massive waste of time
โ Abbreviations that are obvious to you, may not be obvious to others
โ People might not speak english as a first language
Good naming is a big part of easily to understand code.
It takes so little effort to use a full word, there is basically nothing to win by shortening it.
Not to mention the fact IDEs have automcomplete anyway, so you never need to type out the full thing anyway.
When writing in bunch of different languages, i'm preferring to default to syntax that looks similar to all the other language I'm using.
Simple example -> in Ruby and Rails you can write out a list of words like this:
words = %w[apple banana cherry]
which is supposed to be the "Ruby" way to do it.
It always adds a little cognitive work whenever I see that though, so I just write it out the way you usually do in other languages, which Ruby also supports.
words = ["apple", "banana", "cherry"]
i.e the "general" way v.s the "ruby" way.
Good code often looks very simple.
A large part of good code is not just "design patterns" e.t.c, but having a good understanding of the domain/business/operations area you are trying to model.
i.e what are the real world and businesses concepts and flows you are trying to model and build for.
Once you really get a good grasp of the domain, you can piece together the code in a way that fits together nicely and elegant.
It looks like really simple code by that point.
But understanding a complex domain well is by no means easy.
It requires understanding
โ what you are actually trying to model,
โ what are the different moving parts that already exist around it,
โ who you are actually trying to service with your code,
โ what do your data sources look like,
โ how well setup and clean are those data sources
It requires a lot of questions and back and forth with the business/operations teams to really understand the WHY of what you are building, and the HOW of how it fits together and works in the real world.
There should be a deep desire to actually understand what is going on, not just to "code something up"
Without really understanding that you end up building a bunch of messy code, with lots of IF conditions and such everywhere, that breaks down once it gets too large, and becomes almost impossible to extend or doing anything with past a certain point.
And when someone comes and looks at the code, they will say, "Oh wow, this must be some really complicated business logic"
Wheres once you have really taken the time to understand the business/operations/domain well, a simple elegant solutions starts to form.
A powerful solution actually, because it is now also extendable and easier to build on.
And when someone looks at the code, they'll just say, "Oh wow, look how simple this domain and code is"
๐ Take that as a compliment
Only you will know what it actually took to get there .. ๐
If you have lot of different projects/repos, adding a makefile in the root of each one so that you can run "make dev" on each project to boot it up is really helpful.
Otherwise remembering project specific boot commands each time is a pain.
Useful IDE keyboard shortcut for working with Claude Code is to "copy file path reference" of active file, so you can easily add it to the commands to LLM so it clearly know what file you are referring to and can find it faster