I made Battleship you can play against a real person in your browser.
Send a friend a link or hit Quick Match. No sign-up, no install, and a laptop can play a phone.
30 seconds a shot. Miss the clock and you auto-miss.
▸ sonar.saeed.sh
How it works: every match is its own cloudflare Durable Object, and it's the only place both fleets exist. Browsers just send "fire A7" and get back a view with the enemy ships stripped out.
The rules are one pure function, property-tested so no view leaks a ship.
Stack: @typescript and @EffectTS_ end to end, React, @Cloudflare Workers + Durable Objects + D1, deployed with @anomalyco's SST, alongside @vite_js's Vite+.
MIT: github.com/Stringsaeed/sonar
wrote a technical how "ai" and I built this game and worth to read (I think)
check it here:
stringsaeed.com/blog/pewpew-…
inspired heavily by @leerob leerob.com/ai
Before AI agents, an iPhone game drawn entirely on the GPU would've taken me a couple of years.
This one took a couple of hours of agent work.
PewPew is live 🚀
30 levels. 3 bosses. Every pixel on WebGPU. 100% TypeScript.
Play it in your browser 👇
pewpew.saeed.sh
I know cursor, chatgpt, and claude ships a fair design mode to help in annotating and send the agent
I feel there is a very big space to explore the design option without actual implementation which Claude Design excels into as well as google stitch
as much as love claude design and google stitch but they are not accessible like anything else
for example I have a complete design system on claude design but only claude code can gets it in the context, if I wanna for example use it in pi or t3code it wouldn't work.
Not sure this is a harness problem or agent problem or just the tools integration is not good enough
Please set together and just plan something out
Built an app and let @swmansion's Argent test it. #CloseTheLoop
Before AI agents, an iPhone game drawn entirely on the GPU would've taken me a couple of years.
This one took a couple of hours of agent work.
PewPew is live 🚀
30 levels. 3 bosses. Every pixel on WebGPU. 100% TypeScript.
Play it in your browser 👇
pewpew.saeed.sh
both astra and fable failed me at one request
astra had the audacity to tell me that I need to hire an animator
whattt? I pay over 1000$ worth of ai subscriptions and u telling me that?
I'm really disappointed in AI
going to check Argon maybe google would be the cultch!
Before AI agents, an iPhone game drawn entirely on the GPU would've taken me a couple of years.
This one took a couple of hours of agent work.
PewPew is live 🚀
30 levels. 3 bosses. Every pixel on WebGPU. 100% TypeScript.
Play it in your browser 👇
pewpew.saeed.sh
Lots of companies are going native.
I went the other way. Game, shaders, levels, music: all TypeScript.
So I can ship a new boss, level, or song to your phone over the air.
We are truly in an amazing era.
📱 App Store: apps.apple.com/app/id6822155… 🔜
🧪 TestFlight: testflight.apple.com/join/e8…
🌐 Play: pewpew.saeed.sh
💻 Code: github.com/Stringsaeed/pewpe…
🤖 Argent: github.com/software-mansion/…
👋 Me: saeed.sh
misread the situation, it was ofc android emulator, actually 4 headless emulators.
anyone else got chatgpt mac app access microphone without any plugins or anything running.
it's a very random and it happens with me like 3 times over the last couple of hours.
one of these times chatgpt was killed but working on background.
Saeed retweeted
We'll be spending a lot more time trying to understand the outputs of language models. A few thoughts, tips & tricks:
Writing. Something I've had success with: Ask your LLM to explain something in ASD-STE100, it's a controlled language specification originally developed for aerospace maintenance documentation. LLMs well-versed in this language and it comes with heavy constraints on clean writing style that I often find a lot more readable. Sometimes I've tried to soften it a bit e.g. ask for "80% of the way to ASD-STE100" because the spec is quite stringent. But even better:
Diagrams / images. Instead of writing, ask your LLM to create a diagram. These can be a lot easier to process, parse, and understand. But even better:
Web pages. Ask for output "in HTML" to get a beautiful, interactive webpage. LLMs are getting really good at frontend and can create beautiful experiences, animations, etc. But even better:
Explainer videos. The output format I am most bullish on is fully custom / bespoke explainer videos generated on any arbitrary topic. Experiment with things like "Create a 3b1b style video explainer on X. Use my ElevenLabs API key for audio narration". (you'd need an API key for the latter or you can ask your LLM to find you decent free alternatives that use your local compute). This is actually starting to work!
In summary:
- As LLMs get better, they will do more and more of the legwork autonomously, and a lot more of our work will rise up the abstractions into oversight and understanding.
- Luckily, LLMs can help here too because as intelligence and code are increasingly abundant, you can ask for large, custom, discardable software artifacts (e.g. web apps, video explainers) that would have never made sense to create before. Push the boundaries here and you'll be surprised.
use e2e alongside @poteto's verification skill and you have a reliable workflow for mobile development.
the only drawback of developing a feature using pstack was the verification was pretty much unit testing,
I had to setup and create a whole maestro flows to test the mobile apps, but it was not practical, it took long time
i have tried @agent_device @swmansion's agrent (alongside with @appandflow's stim), and it was great but I felt like (agent-device and argent are basically for development maybe I'm mistaken) but just tested out e2e alongside pstack and that's what verification skill expected.
still trying to figure out the most effiecent way around the agentic workflow, but it's already looking promising
- pstack for nearly everything
- stim for orchestrating and warmup sims
- @agent_device mostly for querying the simulator
- argent for querying and mutating the sim (found it to be a little bit faster from @agent_device
- e2e to make sure that the feature just works
don't also sleep on minisim.app/ also by the one and only @o_kwasniewski
Introducing e2e
The agentic testing framework for any app
~/ npx e2e init
→ Fully Open Source
→ Mix deterministic and agentic APIs
→ Supports web, mobile, and more
→ Bring your own agent and infrastructure
→ Run locally or in CI
tester.army/e2e
New addition to my personal site.
Presenting my actual desk library.
Inspired heavily by @stripepress
You can check it yourself here thisissaeed.com
Maintaining mental health with this,
This actually the only thing I struggle the most.
Every week is different and you really need to keep up, I don’t have personal life anymore.
Bookmarking posts here on X is rapidly growing for me every day, i need to read this, i need to test this, i need to subscribe to that.
It’s not about the money or about will it take up my job, I don’t worry about this no more.
But the urge to learn everything and FOMO any new tool or service is horrible and it affect my mental health.
Not sure this is only me, but i know there are people out there feel the same way I feel.












