NL NianiaLog Care log

Help

NianiaLog documentation

A complete guide to app features, user roles, working hours, settlements, duties and settings.

NianiaLog documentation

NianiaLog helps a parent and nanny keep a shared child care log, plan nanny work, settle working hours, agree duties and manage the family.

This guide describes the app from two role perspectives:

  • parent - the family owner or an active second parent,
  • nanny - a person invited to the family as a caregiver.

The technical role ownerParent is treated in this guide as a parent. It additionally has permission to create the family and manage access.

General rules

  • The app requires sign-in with a one-time code sent by email.
  • After the first sign-in, the user must accept the current legal documents.
  • A user without an active family can create a family as a parent or join with an invitation code as a parent or nanny.
  • The parent manages children, invitations, family members, feeding settings, work plans, pay agreements, settlements and duties.
  • The nanny keeps the care log, reports working hours, requests days off and accepts or rejects pay terms, settlements and duties.
  • Data changed by the other side refreshes in the app in real time where Supabase Realtime is supported.
  • The app uses internal notifications, for example when hours are reported, a parent makes a decision, an agreement is sent for approval or a settlement status changes.

App access and first steps

First sign-in and family creation by a parent

The parent opens the app, enters an email address and requests a sign-in code. After receiving the code, the parent enters it in the app. The app verifies the code, checks the session and, if needed, sends the parent to accept the Terms and Privacy Policy.

If the user has no active family, the app shows a card explaining that there is no active family. The parent chooses to create a family, enters their name, the family name and the child name. The app creates the user profile, family, parent membership as owner and the first child, then opens the Today screen.

Joining a family as a nanny

The parent opens Settings and generates an invitation for the nanny. The app creates a one-time code valid for 24 hours. The parent copies the code and gives it to the nanny outside the app.

The nanny signs in with email and the one-time code. If this is the first use of the app, the nanny accepts the legal documents. The nanny then chooses to join with an invitation code and enters the code received from the parent. The app normalizes the code, verifies it and assigns the nanny to the family with the nanny role. If the nanny profile has no name, the app asks for it. After completing the profile, the nanny goes to the Today screen.

Joining as a second parent

The parent generates an invitation code for the second parent in Settings. The app checks that the family does not already have an active second parent. The second parent signs in with email and a one-time code, accepts legal documents if required, then joins with the invitation code. After successful verification, the app assigns the user to the family as parent. If the profile is incomplete, the second parent adds a name and gets access to the parent flow.

Losing access to a family

A parent can deactivate a nanny or second parent in Settings. After the next session refresh, a user without active membership has no access to the family. The app shows the welcome screen with information that there is no active access. The user can sign out or join again with a new invitation code.

Care log and Today screen

Child setup and feeding visibility

The parent manages children in Settings. The parent can add or edit a child, enter a name and optional date of birth, and choose the active child. The parent sets the feeding mode: formula milk, breastfeeding or mixed mode. If breastfeeding should be visible to the nanny, the parent enables the matching toggle.

After saving settings, the Today screen shows the parent and nanny actions that match the feeding mode and visibility permissions.

Adding a care entry as a nanny

The nanny opens Today. The app loads the active child, today’s entries, statistics and feeding settings. The nanny chooses a quick action and can add:

  • milk with the last amount or another amount in ml,
  • a meal with a note,
  • nap start,
  • end of the active nap,
  • a manual nap with time,
  • poop,
  • a note.

If the parent shared breastfeeding visibility, the nanny can see breastfeeding data but cannot edit the parent’s breastfeeding entries. The app saves the entry with the author and creation time. The entry appears in the daily history and summary. The parent sees the nanny entry after the real-time refresh.

Adding a care entry as a parent

The parent opens Today and chooses a child if the family has more than one active child. The parent can add all entry types: milk, breastfeeding, meal, sleep, poop and note.

For milk, the parent can save a one-time different amount or change the default last amount. For breastfeeding, the parent can select the breast side. After saving, the app updates the history and summary. The nanny sees entries according to visibility settings.

Editing and deleting care entries

The parent or nanny opens the daily history. The app shows an action menu for entries the user is allowed to change.

The parent can edit and delete care entries. The nanny can edit only their own entries, excluding breastfeeding, and only for 5 minutes after creation. The nanny cannot delete entries. After editing, the app updates entry values and recalculates the summary. After deletion by the parent, the entry is logically deleted and disappears from the history.

Daily and historical statistics

The parent or nanny selects the statistics icon on the Today screen. The app shows a summary for the current day and charts for the last 30 days. Statistics include feeding, meals, sleep and poop. Breastfeeding data is always visible to the parent and visible to the nanny only when the parent enabled it.

Nanny work and the Work/Nanny screen

The screen for nanny cooperation is named Work for the nanny and Nanny for the parent. It has three tabs:

  • Hours - work plan, hour logging, breaks and day approval,
  • Settlements - pay terms and settlements,
  • Duties - the nanny’s duty scope.

If the family has more than one active nanny, the parent chooses a nanny from the selector. The app refreshes the work plan, settlements and duties for the selected person. Every parent decision in these tabs applies to the currently selected nanny.

Working hours

Planning one workday

The parent opens Nanny -> Hours, selects a month and day in the calendar, then opens the day plan form. The parent enters the planned work time or the number of planned minutes and can add a note. The app saves the day as planned_work. The nanny sees the plan in their work calendar.

Planning a full month

The parent chooses the monthly planning action in Nanny -> Hours. The parent selects weekdays, hours and the overwrite mode for existing plans. The app creates or updates work plan days for the month. If there is a conflict, the app shows a summary of saved and skipped days. The nanny sees the completed monthly plan.

Logging a worked day as a nanny

The nanny opens Work -> Hours, selects a day in the calendar and adds working hours. The nanny can enter a time range or duration, add extra hours and add a break. The app saves work entries, marks the day as waiting for parent approval and sends a notification to active parents. The parent sees the day as pending.

Approving nanny hours as a parent

The parent opens Nanny -> Hours and selects a day marked as waiting for approval. The app shows work entries, breaks, regular time, extra time and time to settle. After approval, the day status changes to approved, and the nanny receives a notification. The approved day is locked against further hour edits and can be used in settlements.

Rejecting nanny hours as a parent

The parent can reject a day waiting for approval. The app changes the day status to rejected and clears the option to treat those hours as approved for settlement. The nanny receives a notification, sees the rejected day and can submit corrected hours again if the plan logic allows it.

Nanny day-off request

When the parent has planned a workday, the nanny can open that day in Work -> Hours and request a day off. The nanny can add an optional note for the parent. The app changes the day plan status to day_off_requested and notifies the parent. The parent sees a decision bar on that day.

Approving or rejecting a day-off request

The parent opens the day with the day-off request, sees the planned working time and nanny note, then approves or rejects the request. When rejecting, the parent can add the reason. The app saves day_off_approved or day_off_rejected and notifies the nanny. Approved time off is included in the monthly settlement as time off according to deduction logic.

Settlements

Hourly pay

The parent opens Nanny -> Settlements, edits pay terms and chooses the hourly type. The parent enters the hourly rate. The app saves a draft version of the terms. When the parent sends terms for nanny approval, the status changes to pending_nanny_approval, and the nanny receives a notification.

Monthly pay

The parent opens Nanny -> Settlements, edits pay terms and chooses the monthly type. The parent enters the monthly amount, number of workdays in the month and default number of hours per day. The app saves a draft. After the terms are sent, the nanny receives a notification and sees the terms for decision.

Nanny approval of pay terms

The nanny opens Work -> Settlements and sees terms in the pending_nanny_approval status. After approval, the app saves the approved status, and the parent receives a notification. Approved terms become the basis for settlements.

Nanny rejection of pay terms

The nanny can reject pay terms and enter a reason. The app saves the rejected status, and the parent receives a notification and sees the reason. The parent creates a new version of the terms. The previous version remains in history as rejected or archived.

Monthly settlement

A monthly settlement is based on approved monthly pay terms. The nanny reports workdays, and the parent approves them. If needed, the parent sets the expected working time for the month.

The app calculates:

  • approved hours and days,
  • pending and rejected hours,
  • breaks,
  • expected working time,
  • base amount,
  • deductions,
  • final amount.

The parent closes the month, and the settlement status changes from open to closed. The nanny receives a notification and accepts the settlement, changing the status to approved_by_nanny. The parent then marks the settlement as paid, setting marked_as_paid_by_parent. Finally, the nanny confirms receipt of payment, and the status changes to payment_confirmed_by_nanny.

Hourly settlement

An hourly settlement requires approved hourly terms and approved workdays. The parent opens Nanny -> Settlements, where the app shows hourly settlement candidates, meaning approved days that have not yet been settled.

The parent selects days to settle. The app shows a draft with the date range, number of days, hours, breaks, paid time, rate and amount. After the settlement is created, its status is closed. The nanny receives a notification, opens the details and accepts the settlement. Then the parent marks the settlement as paid, the nanny confirms receipt of payment and the settlement moves to history.

Duties

Creating the duty scope

The parent opens Nanny -> Duties. If there is no active duty agreement, the parent creates a default agreement. Then the parent adds duty items. Each item has a title and optional description. In the draft version, the parent can edit or delete items.

After sending the duty scope for nanny approval, the status changes to pending_nanny_approval, and the nanny receives a notification.

Nanny approval of duties

The nanny opens Work -> Duties, sees the duty list and pending approval status. After approval, the app saves the approved status, and the parent receives a notification. The duty scope becomes the currently valid version.

Nanny rejection of duties

The nanny can reject the duty scope and enter a reason. The app saves the rejected status, and the parent sees the rejection reason. The parent creates a new version of the scope. The app shows changes compared with the previous version: added, removed, changed or unchanged. The parent can send the version for approval again.

Copying duties

The parent can copy a duty scope from another agreement. In Nanny -> Duties, the parent chooses copy scope, selects the source and creates a draft for the selected nanny. After copying, the parent can adjust items and send them for approval.

Notifications

The parent or nanny sees a bell icon in the app bar. If there are unread notifications, the app shows a counter. After opening the notification panel, the user sees the latest notifications. The user can mark one notification as read by tapping it or mark all notifications as read. The unread counter updates after changes.

Notifications are created, among other cases, when:

  • the nanny reports working hours,
  • the parent approves or rejects hours,
  • a day-off request is submitted and reviewed,
  • pay terms are sent for approval,
  • the nanny accepts or rejects pay terms,
  • a settlement is closed,
  • the nanny accepts a settlement,
  • the parent marks payment as paid,
  • the nanny confirms payment,
  • duties are sent for approval,
  • the nanny accepts or rejects duties.

Settings and family management

Adding and selecting a child

The parent opens Settings, chooses to add a child, enters the name and optional date of birth. The app saves the child in the family. The parent can select the child as active. The Today screen and feeding settings work for the selected child.

Deactivating and restoring a child

The parent opens the child list in Settings, chooses the child menu and deactivates the child. The app marks the child as inactive. An inactive child is not selected in the care log. The parent can restore the child later, and the app activates the child again.

Managing a nanny

The parent sees family members in Settings. The parent can deactivate an active nanny. After deactivation, the nanny loses access to the family. The parent can later reactivate a previously deactivated nanny.

Managing a second parent

The parent sees the second parent in the family member list. The parent can deactivate the second parent, which removes that user’s access to the family. The parent can later reactivate the second parent.

Profile, language and theme

The user can change the displayed name in Settings. The app requires a non-empty name with at least 2 characters. The user can also change the app theme and language. Preferences are saved locally.

Account deletion

The user chooses account deletion in Settings. The app shows a confirmation and information about consequences. After confirmation, the app calls the delete-account function. If deletion is immediate, the app signs the user out. If deletion requires processing, the app shows the pending account deletion screen. On that screen, the user can sign out.

Screen descriptions

Loading screen

The loading screen shows the app name and loader. It starts session initialization and routes the user according to status: sign-in, legal acceptance, pending deletion screen, main screen or initialization error.

Initialization error screen

The initialization error screen shows an app start error message and lets the user retry initialization.

Welcome and sign-in screen

This screen handles email and OTP sign-in, the form for entering the received code, code resend after a cooldown and email change. It also allows joining a family with an invitation code, creating a family as a parent, completing the profile name and signing out when the user is signed in but has no active family.

The screen shows required consent for the Terms and Privacy Policy, lets the user open legal documents from app assets and enables the continue button only after both consents are selected. After confirmation, it saves acceptance of the current versions. The user can sign out from this screen.

Pending account deletion screen

The screen informs the user that the account is being deleted, blocks regular app use and allows sign-out.

Today screen

The Today screen supports active child selection, daily summary, history filtering by entry type and quick actions for adding milk, breastfeeding, meal, sleep, poop and note. It handles an active nap, manual sleep entry, editing according to permissions, parent deletion of entries, statistics for today and the last 30 days, and real-time refresh of care entries.

Work/Nanny screen

This is the shared work screen for nanny-related topics. It is named Nanny for the parent and Work for the nanny. It contains the Hours, Settlements and Duties tabs. Data refreshes when the tab changes.

Hours tab

The Hours tab includes a monthly calendar, previous and next month navigation, day selection, monthly summary, single-day planning, monthly planning, work hour logging, extra hours and breaks, submitting a day for approval, parent approval or rejection of hours, nanny day-off request, parent decision on the day off, edit lock for approved days and real-time refresh of changes.

Settlements tab

The Settlements tab supports parent selection of the nanny, hourly or monthly pay setup, pay term versioning, sending terms for nanny approval, nanny acceptance or rejection, setting expected monthly working time, current month summary, closing a monthly settlement, nanny approval of a settlement, parent marking payment as paid, nanny payment confirmation, creating hourly settlements from approved days, settlement details and history, and real-time refresh of hour and settlement changes.

Duties tab

The Duties tab lets the parent create a default duty agreement, add, edit and delete duty items, copy duty scope from other agreements, send the scope for nanny approval, accept or reject it as the nanny, enter the rejection reason, create a new version after changes and show differences compared with the previous version.

Settings screen

The Settings screen includes changing the displayed name, choosing a role in local mode without Supabase, selecting the active child, adding, editing, deactivating and reactivating children, setting feeding mode, setting breastfeeding visibility for the nanny, generating invitations for the nanny and second parent, copying invitation codes, family member list, deactivating and activating the nanny and second parent, privacy information about data the app does not require, previewing the Terms and Privacy Policy, deleting the account, signing out, version, build, website and author information, theme selection and language selection.

Notifications panel

The notifications panel includes the bell icon in the app bar, unread notification counter, notification list, marking one notification as read, marking all as read and refresh after real-time changes.

Permissions by role

Parent

The parent can:

  • create a family,
  • invite a nanny and second parent,
  • manage children,
  • manage nanny and second parent activity,
  • set feeding mode and breastfeeding visibility,
  • add all care entry types,
  • edit and delete care entries,
  • plan nanny work,
  • approve or reject working hours,
  • approve or reject day-off requests,
  • define pay terms,
  • close settlements,
  • mark payment as completed,
  • create and send duties for approval.

Nanny

The nanny can:

  • join a family with an invitation code,
  • keep the care log,
  • add care entries available under nanny permissions,
  • edit own care entries for 5 minutes, except breastfeeding,
  • view breastfeeding only when the parent enabled visibility,
  • check the work plan,
  • log working hours, extra hours and breaks,
  • request days off,
  • accept or reject pay terms,
  • accept settlements,
  • confirm receipt of payment,
  • accept or reject duties.

Important statuses

Working hours

  • pending_parent_approval - hours are waiting for the parent’s decision.
  • approved - the parent approved the day.
  • rejected - the parent rejected the day.
  • cancelled - the day was cancelled.
  • empty - there are no entries for the day.

Work plan

  • planned_work - planned workday.
  • day_off_requested - the nanny requested a day off.
  • day_off_approved - the parent approved the day off.
  • day_off_rejected - the parent rejected the day off.

Pay and duties

  • draft - draft version on the parent side.
  • pending_nanny_approval - waiting for the nanny’s decision.
  • approved - approved by the nanny.
  • rejected - rejected by the nanny.
  • archived - older version kept in history.

Monthly settlement

  • open - the month is open.
  • closed - the parent closed the settlement.
  • approved_by_nanny - the nanny accepted the settlement.
  • marked_as_paid_by_parent - the parent marked payment as completed.
  • payment_confirmed_by_nanny - the nanny confirmed receipt of payment.

Hourly settlement

  • closed - the parent created a closed settlement from selected days.
  • approved_by_nanny - the nanny accepted the settlement.
  • marked_as_paid_by_parent - the parent marked payment as completed.
  • payment_confirmed_by_nanny - the nanny confirmed receipt of payment.