Skip to content

1.12.0

Latest

Choose a tag to compare

@cioraneanu cioraneanu released this 31 Jul 06:56

πŸŽ™οΈ Introducing "Ramble": a new way to track expenses via natural language

  • Give it a phrase like:
    I've spent 5 euros for coffee this morning, then had a sandwich for 11 euros and paid for fuel at OMV yesterday which was 60

  • Pass that phrase to a LLM of your choice(be it self-hosted or proprietary) and get individual transaction, with amounts, dates, accounts, categories and tags matched against your Firefly data. Review them, tweak anything, then create them all in one go. Nothing is saved until you say so.

Highlights:

  • Speak or type β€” dictate in-app with the microphone button, or type free-form text.
  • Many transactions from one ramble β€” relative dates ("yesterday"), your timezone, your language
  • Save now, process later β€” POST rambles to the API from anywhere (example Siri Shortcuts!); review them all inside the app when you have the time
  • Supports sending both "plain text" and "audio". Audio gets transcribed on the backend via a background job (if you setup the transcription env variables)
  • Bring your own AI β€” any OpenAI-compatible endpoint works, including self-hosted Ollama / LiteLLM / llama.cpp, so your data can stay on your network
  • Added docs/siri-shortcuts for faster iOS usage.

Showcase:

1. Configure the iPhone "Action Button" to start the docs/siri-shortcuts/pico-text-template-signed.shortcut shortcut Process all the gathered Rambles
pico-llm1 pico-llm2

Ramble is opt-in and configured via environment variables on the Pico container. All new keys are optional β€” if you set none of them, nothing changes and the Ramble button stays hidden.

Optional: AI assistant "Ramble" (any OpenAI compatible API)

  - ASSISTANT_LLM_ENDPOINT=https://api.openai.com/v1/chat/completions   # default
  - ASSISTANT_LLM_MODEL=gpt-4o-mini                                     # default
  - ASSISTANT_LLM_API_KEY=your-api-key
  - ASSISTANT_LLM_CONTEXT=                # extra standing instructions for the LLM

Optional: voice transcription for audio rambles

  - ASSISTANT_TRANSCRIPTION_ENDPOINT=https://api.openai.com/v1/audio/transcriptions  # default
  - ASSISTANT_TRANSCRIPTION_MODEL=gpt-4o-mini-transcribe                              # default
  - ASSISTANT_TRANSCRIPTION_API_KEY=your-api-key

πŸ“š Full documentation: Ramble on the docs site.

Other changes

New Contributors