FDDB Exporter is a tool designed to extract nutritional data from FDDB.info and store it in a MongoDB/InfluxDB database. This application is especially useful for individuals who want to keep their FDDB diaries for themselves. FDDB only stores entries for up to 2 years for premium members, and even less for free users. Additionally, it is very handy if you want to query your data to see on which days you have entered specific products. See the documentation for a deep dive.
- Built-in Web UI for easy access to all features without API knowledge
- Mobile-friendly web interface that can be installed as a Progressive Web App (PWA)
- Exports daily nutritional totals: calories, fat, carbohydrates, sugar, protein, and fiber
- Stores detailed information on consumed products, including name, amount, nutritional values, and link to the product page
- Supports scheduled daily exports and manual exports for specific date ranges
- Product search with optional filtering by day of the week (e.g., only Mondays and Thursdays)
- Provides a RESTful API for data retrieval and export operations
- Interactive Swagger UI for easy API exploration and testing
- A special API endpoint to find correlations to matching dates for checking food allergies
- MCP server (opt-in) so an AI assistant can answer questions about your diary in natural language, with ready-made workflows for a weekly review, a trigger-food analysis, a protein gap check and a logging hygiene check — read-only by default, with optional tools to export fresh data from FDDB on request
- Automatic version checks with notifications when updates are available
- Docker or Java 21+ runtime environment
- A valid FDDB.info account
- A running database (MongoDB and/or InfluxDB)
- MongoDB instance (used for storing all data)
- InfluxDB instance (used for storing daily totals)
Once the application is running, you can access the web interface at:
Web UI: http://localhost:8080/
The interactive API documentation is available at:
Swagger UI: http://localhost:8080/swagger-ui.html
See the documentation for detailed setup instructions.
- Spring Boot
- Vaadin / Hilla (Web UI)
- Java 21
- MongoDB
- Docker (optional)
This application does not collect any personal data. All data is stored locally on your device. Your FDDB credentials are only used to log in to the FDDB website and fetch the data. To determine how this tool is used (and how important it is to maintain it), the application sends some anonymous data to my server. The mail address is hashed and cannot be used to identify you. Along with the hash of the mail address, the following data is sent: amount of documents in the database, what persistence layer is used, whether the MCP server is enabled and whether its write (export) tools are enabled, the version of the application and the environment (container, Kubernetes or plain java). No diary content, product names, tool calls or MCP queries are ever sent. Feel free to audit the code yourself here. If you still have any concerns, feel free to contact me or open an issue.
The service typically uses around 950 MB of RAM with minimal CPU usage when idle.
Contributions are welcome! Please feel free to submit a Pull Request or open an issue.
