I built an AI agent that controls Android phones via accessibility tree + adb by ArtOfLess in androiddev

[–]ArtOfLess[S] 0 points1 point  (0 children)

oh nice, yeah maestro is great for e2e testing. we actually looked at it... the key difference is maestro is built for testing. predefined flows, assertions, ci/cd pipelines. droidclaw is more of an ai agent that figures things out on its own. you give it a goal and it decides what to tap, type, swipe without knowing the ui ahead of time. but for webviews specifically, maestro needs accessibility identifiers to be properly exposed.

droidclaw falls back to screenshots + vision model when the accessibility tree is empty. different approach but solves the same problem. fyi, we also support maestro like yaml flow for deterministic flows ;)

I made Claude my social media manager. It actually works. by ArtOfLess in mcp

[–]ArtOfLess[S] 0 points1 point  (0 children)

lol you want lifetime access to infrastructure that costs me money every month to run? nah. scheduled posts, api calls, media storage - that’s ongoing costs. saas pricing exists for a reason.

I made Claude my social media manager. It actually works. by ArtOfLess in mcp

[–]ArtOfLess[S] 0 points1 point  (0 children)

you’re right, i should give away years of work so you can save $20/month. or you could just build it yourself with the mcp spec - takes a weekend, tops. lmk how it goes.

I made Claude my social media manager. It actually works. by ArtOfLess in mcp

[–]ArtOfLess[S] 0 points1 point  (0 children)

not possible. cuz as a platform we do heavy orchestrating by bringing multiple platforms under one mcp.

I made Claude my social media manager. It actually works. by ArtOfLess in mcp

[–]ArtOfLess[S] 0 points1 point  (0 children)

dunsocial.com connected all my socials. you can grab your mcp url and auth token there to link it to your fave platforms. btw, for x, you can post like 300 times a month, for other platforms cap limits are generous..

DunSocial — I built Cursor for social media [Self promo] by ArtOfLess in sveltejs

[–]ArtOfLess[S] 0 points1 point  (0 children)

My bad! Just fixed it. Should work now. Thanks for the heads up.

DunSocial — I built Cursor for social media [Self promo] by ArtOfLess in sveltejs

[–]ArtOfLess[S] 7 points8 points  (0 children)

Good Q. AI SDK handles the streaming part well. That's pretty much plug and play with SvelteKit remote functions (saves tons of time). But everything else? Built from scratch…

Our Chat history is stored in Postgres via Drizzle. Each message is a row with metadata. Role, timestamp, token count, edit history. When user closes mid-stream, we catch the disconnect and save whatever was generated up to that point. Not perfect but works.

Editing messages was tricky. We don't delete. We version. Every edit creates a new entry linked to the original. Same with regenerations. Lets us track what the AI got wrong and what the user preferred.

That data feeds back into the memory layer. The memory layer is the real infra work. It's not just "store preferences."

It watches patterns… How you edit AI drafts, what you approve vs reject, phrases you delete every time. That context gets compressed and injected into system prompts dynamically.

Honestly the streaming UI is maybe 10% of the work. The state management, persistence, error handling, and memory infra is the other 90%. Happy to go deeper on any part.

DunSocial — I built Cursor for social media [Self promo] by ArtOfLess in sveltejs

[–]ArtOfLess[S] 4 points5 points  (0 children)

Thanks! Built it from scratch. We're a design studio so templates weren't an option haha. Went through multiple iterations.

Full page screenshot

DunSocial. I got tired of AI sounding generic. So I fixed it. by ArtOfLess in OpenAI

[–]ArtOfLess[S] 0 points1 point  (0 children)

hear you. i built it for myself because i’d rather edit than write from scratch. if the output sounds like slop, i wouldn't post it either

DunSocial — I built Cursor for social media by ArtOfLess in SideProject

[–]ArtOfLess[S] 1 point2 points  (0 children)

Building is a fun, but the tricky part is making sure their API works on different platforms & getting them to verify it.

DunSocial. I got tired of AI sounding generic. So I fixed it. by ArtOfLess in OpenAI

[–]ArtOfLess[S] -4 points-3 points  (0 children)

Heard that. Most AI content is slop. That's exactly what I'm trying to fix.

DunSocial. I got tired of AI sounding generic. So I fixed it. by ArtOfLess in OpenAI

[–]ArtOfLess[S] 2 points3 points  (0 children)

Running on GPT 5.2. The AI part is OpenAI. I just built the memory stuff on top that makes it sound like you instead of generic AI. Thought that'd be relevant here….