GenericJam

GenericJam

Sloppy Joe - Mob running on Android and iOS, modifying a live app with an Agent (looking for testers!)

Short version up top for anyone who just wants the ask:
BEAM has had hot code loading since the jump. Sloppy Joe takes advantage of that by giving the steering wheel of an inherently stable app to an agent which it can reprogram on the fly. I need a few more testers to clear Google’s 14-day / 12-tester gate. If you’ve got an Android phone and some curiosity, opt-in details are at the bottom.

What app do you want? Build it! Here I built a custom weather app that tells me what’s going on.
Here’s about 90 minutes of agentic coding truncated to 12.

What it actually is.
Sloppy Joe is my coding workflow with more guardrails and a second node for stability. These days when I’m building apps with Mob I mostly point Claude at it and telling it to fix screens. I’m interested in putting this workflow into the hands of everyone.

From an architectural perspective, this mostly flowed out of my own workflow. I normally point Claude (or your preferred LLM) at AGENTS.md, then tell it to generate a project with mix mob.new my_world_changing_app. After it generates, attach to it with mix mob.connect and then from there the agent is driving. I see an app that does stuff and I tell the agent what other stuff I want it to do.

So take that idea and bolt on a second BEAM node so this thing can never crash while being modified and put in an MCP server. Now the agent needs to know how to attach to the MCP so we need a proxy to coordinate. Now the connection is a bit unstable and also the phone is doing twice as much work so let’s move the processing part to the server. Now the server needs emulators to have the agents build against. Maybe there will be more than one person at a time that wants to build so now you need a pool. Maybe the user wants to view the app as it’s being built so now you cast the emulator device to the staging website.

So that’s pretty much the whole architecture.

On the models.
Anything that can do MCP will work. Tested with Gemini and Claude. I believe at least one user was using OpenCode.

What I’d want from a tester.
Bare minimum is to install it. Google counts raw numbers but we also need a handful of people that are regularly engaging. In order to engage properly you should know how to hook up an MCP server or Google it. It’s pretty easy. Google actually watches engagement, so a real poke beats a silent install.

The opt-in (the actual ask):

  • Reply here or DM me the email tied to your Google account
  • I add you to the closed test, you get the opt-in link
  • Keep it installed for 14 days, I need 12 in total.

Happy to answer anything about the internals in the thread.

Mob
Sloppy Joe

Any help much appreciated!

Most Liked

AstonJ

AstonJ

Sloppy Joe looks really cool (love the site!) I’m not an Android user myself, but good luck :023:

GenericJam

GenericJam

I put this on Testflight so if anyone wants to try it on iPhone DM me your email address and I’ll add you to the list of testers.

GenericJam

GenericJam

Please do! I’ve been clicking around for 20 minutes and can’t figure it out. :sob:

Where Next?

Popular in Announcing Top

deadtrickster
I’ve just released stable versions of my Prometheus Elixir libs: Elixir client [docs]; Ecto collector [docs]; Plugs instrumenter/Export...
New
asiniy
Hey there! I wrote a download elixir package which does exactly what its name about - an easy way to download files. I saw solutions ab...
New
josevalim
Hi everyone, We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
woutdp
Hi! I wanted to introduce my latest project LiveSvelte. It allows you to render Svelte inside LiveView with end-to-end reactivity. It’s ...
New
cjen07
parameterized pipe in elixir: |n> edit: negative index in |n> and mixed usage with |> are supported example: use ParamPipe ...
New
Azolo
Hey everyone, I just released WebSockex which is a Elixir WebSocket client. WebSockex strives to work as a OTP special process, be RFC6...
New
Flo0807
Hello everyone! I am excited to share our heart project Backpex with you. After building several Phoenix applications, we realized that...
New
Jskalc
Hi! Today, after a couple weeks of development I’ve released v0.1 of LiveVue. It’s a seamless integration of Vue and Phoenix LiveView, i...
New
versilov
Could not wait for the missing Elixir ML libraries to appear, so, I wrote one myself, taking https://github.com/sdwolfz/exlearn as a foun...
New
Hal9000
Here is my first stab at this. README pasted below. https://github.com/Hal9000/elixir_random Comments and critiques are welcome. Thank...
New

Other popular topics Top

malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
hariharasudhan94
lets say i have a sample like a = 20; b = 10; if (a > b) do {:ok, "a"} end if (a < b) do {:ok, b} end if (a == b) do {:ok, "equa...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 43757 214
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement