GenericJam

GenericJam

A question for the vibe code hive mind: what would people actually want out of a vibe-coded app?

Sloppy Joe has ~20 users right now across both platforms. Site for context: https://sloppyjoe.ca/

Right now it works, with a handful of caveats I’d consider polish rather than blockers. I’ll know in a couple of days whether it clears review on both app stores, so some of this may end up moot, but I’d like to think through the architecture questions regardless.

The app store problem

To satisfy the “self-modifying app” rules, I may need to reframe Sloppy Joe as an educational coding app, something where you write the interfaces yourself. If you hook up an agent to it, there’s not much I could do to stop you, so I might as well make that path possible. So this might just be the framing I need to get past review, while the actual capability stays the same underneath.

Current workflow

Right now I connect to the MCP server via Claude Code or similar. It’s awkward to use CC on mobile (Termux, maybe?), so I’m interested in moving the whole thing onto the phone itself. The downside is losing the Claude Code harness (if that’s your jam). Also, currently billing discourages per token billing and encourages package billing. I’m pretty sure API token is token billing in most cases. The architecture already supports this in principle: I run two BEAM nodes, one that never receives updates and effectively can’t crash, and one that gets modified. Conceptually, the agent could live on the stable node.

The OS doesn’t like apps working in the background, so I’d need to make the case that this should be allowed, so the agent can keep working while the user goes and scrolls X, then notify when the app is ready. That’s part of why I took the safer route of offloading to a partner computer instead.

The annoying part of needing a computer is that I want to modify the app on the go, when I’m nowhere near one. Moving the agent onto the phone also opens the door to voice mode, where you just tell the agent what you want out loud. I’d be tempted to build a way into Sloppy Joe a way to trigger the MCP from the phone but then this is getting way too Rube Goldberg.

Where should the MCP server live?

If the agent doesn’t end up running on the phone, I need to stop self-hosting the MCP server, since right now it builds against an emulator on my infrastructure. This is fragile and annoying. The likely path is moving that build step to the user’s own machine, or at least giving people the option to run it locally if my server gets swamped. I’m assuming if you have the competence to get over the bar of installing via MCP you can install a CLI or desktop app. If you’re using iOS then you’re locked to using a Mac because Apple never thought this far ahead and all their efforts are to sell more hardware.

If this moves to the phone this collapses the need for MCP at all because the agent just runs against the phone itself. There are a couple of nice wins here at the price of a pretty fat install size.

Where do the tests live?

This also raises the question of where tests live. A mobile app release obviously doesn’t bundle its test suite, but building on the end device is new territory, so I don’t have a clean precedent to follow. If I keep tests on my own infrastructure, I’m effectively running a mini GitHub per user, which doesn’t feel sustainable. Landing them on the user’s machine (or maybe just on the phone itself) makes more sense. Tests are just text, so even if the app grows a bit, it’s nothing compared to something like WhatsApp storing images and media.

Right now I’m not forcing the agent to build tests but this seems obviously useful if people start building more complex things.

Curious what people think, especially anyone who’s wrestled with on-device agent execution, background processing limits, or figuring out where build/test artifacts should live in a system like this.

An image I generated for kicks.

TLDR

Considering all the tradeoffs do people value convenience or control / privacy or install size?

Showing Posts 1 to 3

alvinkatojr

alvinkatojr

Okay, I just checked out the website, and this is straight up awesome! Also, that Nasdaq image is hilarious!

byu

byu

I need to stop self-hosting the MCP server

I’m effectively running a mini GitHub per user

What about a bring-your-own-keys approach for agents where user hooks into into their own https://sprites.dev/ sandbox with their own agent harness?

Elixir SDK from mobile phone (or sloppy job server bridging) to control their sprite.

This doesn’t really address your “agent on phone” question, but rather, offloading sloppy-joe’s infrastructure into user-owned sandboxes-- for both running their own agents, builds, tests, etc.

GenericJam

GenericJam OP

I guess the main advantage of this would be that it would be broadly available.

The blockers there are that it’s a paid service when I suspect people aren’t even willing to pay for access to the app and also it would only work for Android, assuming we were running against emulators.

The way I’m leaning right now is that it would be either the user puts in an API key and runs on device or says they want to run locally in which case it’s on them to go get the CLI / desktop app. The Android version could probably be bundled with an emulator but iOS would have to be on a Mac and they have to set up their own simulator.

This is the nature of the dilemma. I can only make it so easy and then people have to do some of the work themselves.

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews