Top
Best
New

Posted by nezaj 23 hours ago

Show HN: GETadb.com – every GET request creates a DB(www.getadb.com)
Hey HN! We made GETadb.com, so it's easier to get agents to build you full stack apps. You don't need to give them any credentials. Just by loading a GET request, they get access to a database, a sync engine, and abstractions for auth, presence, and streams.

To see what the agent sees, you can load https://getadb.com/new

There's two fun things about how it's implemented:

1. If you curl the home page, it the agent content rather than human content. We do this by detecting the 'Sec-Fetch-Mode' header. It's not perfect, but gets the job done for Claude Code et al.

2. For an agent to spin up an app, they make _two_ fethes. (1) getadb.com/guide tells them to generate a uuid, and fetch (2) getadb.com/provision/<uuid>. We did this, because just about half of the popular web-based app builders cache URLs globally, even if you return no-store headers. To get around this we just instruct the agent to generate unique URLs

You may wonder: Why GET requests, rather than POST requests? It's because then you can build in surprising places. For example, we get meta.ai to build an app inside the artifact preview: https://artifacts.meta.ai/share/a/b80c7412-c3af-4088-b430-78efdfe8ea2d

Under the hood, this is possible because the whole infra is mult-tenant from ground up. We already announced how that works on HN, but if you're curious here's the essay for it: https://www.instantdb.com/essays/architecture

35 points | 42 commentspage 2
lucb1e 18 hours ago|
I thought this would be something about getting (downloading?) the Android Debug Bridge tool (adb) until I read further. Might want to capitalize DB as well (GETaDB), at least from my pov
stopachka 18 hours ago||
Ah, good point. We can't change the title now though.
danpalmer 14 hours ago||
> Remember! AESTHETICS ARE VERY IMPORTANT. All apps should LOOK AMAZING

Why are your database instructions giving instructions about the UI design?

stopachka 10 hours ago|
Instant gives you a database, but it also gives you a sync engine that you can use in the frontend. We included this instruction because you would ideally use this to build an app.
danpalmer 3 hours ago||
Right but it's not your responsibility to direct the UI. Your responsibility is backend services, possibly at a stretch, the architecture of apps as they relate to using those backend services, but it's most definitely not the aesthetics.

What if the app is headless and the LLM tries to stick a UI on it? What if the app is a TUI and the LLM gets stuck on terminal fonts? What if my UI aesthetic is grungy hackercore and the LLM tries to make it look like every other Tailwind website?

This criticism/feedback is less about what's written, and more about why it was deemed appropriate. You're getting direct input to the development process of your customer's products, and you're using that responsibility to... make pointless comments about design?

reassess_blind 13 hours ago||
Is there an easy way to export all data to a format friendly with Postgres?
stopachka 10 hours ago|
Currently we recommend folks to write a script with the admin sdk. Efficient import / export is on the roadmap!
borplk 4 hours ago||
Gimmickmaxxing?
RIMR 15 hours ago|
reading https://www.getadb.com/guide

> Generate a random UUID yourself and use a different UUID each time.

LLMs are terrible at this. If you are relying on this to prevent collisions, it will fail badly.

stopachka 10 hours ago|
The UUID doesn’t actually affect the response. Every GET request still generates unique credentials each time, no matter what the value is that passes to /provision/<uuid>

We added it to help the app builders that do a lot of caching get unique responses. Turns out even if you set no-store cache headers, some app builders cache the pages. We tested this idea with those app builders and saw that they did generate uuids each time.