This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine
What I Built
Clearport is a chat client for an AI model that runs on the phone in your hand.
Two pieces, one loopback socket:
The Android app (Flutter): streaming replies, conversations saved on device, a live status dot that polls /models , a dynamic model picker fed by that list, and settings for the server URL, model ID, API key, system prompt, and temperature.
The Termux CLI ( clearport ): starts llama-server on 127.0.0.1:8080 , takes an Android wake lock so the system does not kill background inference, and provides interactive terminal chat if you never open the Flutter app at all.
Neither piece bundles weights, and neither requires an account. The only HTTP request the app ever makes is to the address you specify in Settings, and the default is loopback ( 127.0.0.1:8080 ).
I read "Ghost in the Machine" literally first: the ghost is the model, a disembodied voice answering prompts.…