AdaMeter is a privacy-first application designed to help you track all aspects of your newborn baby's development and routines. Built with care in Germany, AdaMeter prioritizes your data security and privacy above all else.
Your Data, Your Control:
- On-Device Storage by Default: All data is stored locally on your device, ensuring you have full control.
- No External Tracking: AdaMeter includes absolutely no external tracking or analytics. Your usage is your business.
- No Encryption: This app does not use encryption.
AdaMeter provides an intuitive interface for tracking various activities and milestones:
- Diaper Changes: Log diaper changes, including type and any notes.
- Feeding Sessions: Keep track of breastfeeding (including which side and duration), bottle feeds (formula or breast milk), and solid food intake.
- Growth Measurements: Record weight, height, and head circumference to monitor your baby's growth over time.
- Custom Events: Log any other notable events, milestones, or observations, such as sleep patterns or first smiles.
- Statistics: Visualize trends and gain insights into your baby's patterns through clear charts and summaries.
We welcome contributions to AdaMeter! Whether it's fixing a bug, adding a new feature, or improving translations, your help is appreciated.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/adameter.git cd adameter - Install dependencies using pnpm:
pnpm install
- Create a new branch for your feature or bug fix:
git checkout -b my-new-feature
- Make your changes.
- Commit your changes and push to your fork.
- Open a Pull Request against the main AdaMeter repository.
- Branch previews deploy to PartyKit using the name
branch-<slug>. - Vercel preview builds automatically target
branch-<slug>.adameter-party.clentfort.partykit.dev. - You can override the PartyKit target manually by setting
NEXT_PUBLIC_PARTYKIT_HOST.
AdaMeter uses fbtee for internationalization, making it easy to mark strings
in the code as translatable. The actual translation process is managed through
Crowdin.
Workflow:
- Marking Strings: Developers use
<fbt>tags in React components orfbt()calls in JavaScript to mark text for translation. See thefbteedocumentation for details. Shared or common strings can be managed incommon_strings.json. - Collecting Strings: The command
pnpm run fbtee:collect(which runsfbtee manifestandfbtee collect) extracts these strings into asource_strings.jsonfile. - Uploading to Crowdin: The
scripts/upload-source-strings.shscript is used to uploadsource_strings.jsonto the AdaMeter Crowdin project. - Translation: Translators contribute translations directly on the Crowdin platform.
- Downloading Translations: The
scripts/download-translations.shscript (executed automatically duringpnpm run predevorpnpm run prebuild) downloads translated strings from Crowdin into thetranslations/directory, with files liketranslations/de_DE.jsonfor German. - Compiling Translations: The command
pnpm run fbtee:translatecompiles the downloaded files into a singlesrc/i18n/translations.jsonfile, which is then used by the application.
If you'd like to contribute translations, please join the efforts on Crowdin.
AdaMeter was initially bootstrapped with assistance from v0.dev. We are grateful for the initial foundation this provided.
Various parts of this project, including the drafting and structuring of this README.md, were assisted by Google Jules.
Thank you for your interest in AdaMeter!
