GenericJam

GenericJam

Sloppy Joe: Mob running on Android, 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:

Where Next?

Popular in Discussions Top

jswny
I would like to better understand what the advantages/disadvantages of umbrella applications are compared to structuring your app as as s...
New
vans163
So useless benchmarks aside, Its possible to write a webserver that can serve 300k requests per second (perhaps more with optimizations)....
New
arpan
Hello everyone :wave: Today I am very excited to announce a project that I have been working on for almost 3 months now. The project is...
New
pillaiindu
I want to convert a Phoenix LiveView CRUD website to a CRUD mobile app. What do you think is the easiest way to do so?
New
IVR
Hi all, I’ve seen a number of related threads in the past, but I’d still be very curious to hear an up-to-date opinion on this topic. I...
New
sergio
There’s a new TIOBE index report that came out that shows Elixir is still not in the top 50 used languages. It also goes on to call Elix...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
MarioFlach
Hello, I want to share a project I’ve been working on for a while: https://github.com/almightycouch/gitgud Background Some time ago I ...
New
Markusxmr
Since Drab has been developed for a while in the open, introducing the Liveview functionality in a way it happend appears to undermine th...
New

Other popular topics Top

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
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement