Skip to content

Pedrom2002/dueit-showcase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

DueIt Logo

DueIt

Tarefas Juntos em Harmonia

A smart household task management app designed for couples who want to share responsibilities fairly and stay in sync.

React Native Expo TypeScript Firebase Android

Download APK


About

DueIt is a mobile app that helps couples manage household tasks together. It goes beyond a simple to-do list — it tracks workload balance, suggests fair task distribution with AI, and gamifies chores to keep both partners engaged.

Built as a full-stack solo project from architecture to deployment.


Key Features

Task Management

  • Create, assign, and track household tasks with categories, priorities, and due dates
  • Recurring tasks with flexible schedules (daily, weekly, monthly, custom)
  • Subtask support with completion tracking
  • Swipe gestures for quick actions (complete, delete, snooze)
  • Smart sorting and filtering by status, category, assignee, and priority

Couple System

  • Invite-code pairing system with end-to-end encrypted data
  • Real-time sync between partners via Firestore listeners
  • Shared task pool with fair workload distribution
  • Partner activity visibility and appreciation reactions

AI Assistant (Gemini 2.5 Flash)

  • Natural language chat interface for task management
  • AI-powered task generation from templates (cleaning, cooking, maintenance, etc.)
  • Smart scheduling suggestions based on workload balance
  • Create, edit, complete, and delete tasks directly from chat
  • Household questionnaire for personalized task recommendations

Gamification & Engagement

  • XP system with levels and badges
  • Streak tracking for consistent task completion
  • Task Roulette — spin to randomly assign tasks
  • Weekly summaries and monthly insights
  • Celebration animations on milestones

Analytics & Insights

  • Workload balance visualization between partners
  • Completion rate tracking by category and time period
  • Mental load monitoring with burnout detection alerts
  • Recurring patterns analysis
  • Shareable stats cards

Smart Features

  • Offline-first with automatic sync queue (MMKV-backed)
  • Push notifications with quiet hours support
  • Natural language task parsing ("limpar cozinha amanhã às 15h")
  • Calendar integration
  • Photo proof for task completion
  • Biometric lock for privacy

Tech Stack

Layer Technology
Framework React Native 0.83 + Expo SDK 55 (New Architecture)
Navigation Expo Router v4 (file-based, typed routes)
UI React Native Paper v5 (Material Design 3)
State Zustand 5 + TanStack Query 5 (MMKV persistence)
Forms React Hook Form + Zod 4 validation
Backend Firebase 12 (Firestore, Auth, FCM, App Check)
AI Google Gemini 2.5 Flash via Firebase AI SDK
Animations Reanimated 4 + Gesture Handler
Crypto Argon2id (react-native-quick-crypto)
Payments RevenueCat
Monitoring Sentry
i18n i18next (Portuguese + English)
Testing Jest 30 + Testing Library (122 suites, 2300+ tests)
E2E Maestro (10 automated flows)
CI/CD GitHub Actions (5-job pipeline) + EAS Build

Architecture Highlights

src/
├── components/       # 60+ reusable UI components
├── hooks/            # Custom hooks (CRUD factory, mutations, queries)
├── services/         # Business logic layer (AI, crypto, tasks, badges...)
├── stores/           # Zustand stores (auth, UI, subscriptions, celebrations)
├── providers/        # React context providers
├── theme/            # Design system (colors, typography, elevation)
├── i18n/             # Internationalization (PT/EN)
├── utils/            # Helpers (offline queue, analytics, haptics...)
├── validation/       # Zod schemas for all data boundaries
└── types/            # TypeScript type definitions

Key architectural decisions:

  • Couple-scoped Firestore — all data lives under couples/{coupleId}/ for natural access control
  • Generic CRUD factoryuseFirestoreCRUD hook generates type-safe create/update/delete/query hooks
  • Offline-first — mutation queue in MMKV with conflict resolution (create→update merge, delete supersedes)
  • Real-time sync — Firestore onSnapshot feeds directly into TanStack Query cache
  • AI grounded in templates — Gemini responses are Zod-validated and template-constrained, not free-form
  • Zero plaintext secrets — Argon2id key derivation, encrypted couple salt, App Check enforcement

Security

  • End-to-end encryption for sensitive couple data (Argon2id + AES)
  • Firebase App Check (device attestation)
  • Input validation at all service boundaries (Zod schemas)
  • Firestore Security Rules with couple-scoped access control
  • PII scrubbing in error logs (Sentry)
  • Unicode bidirectional text protection
  • Rate limiting on AI endpoints
  • GDPR-compliant data export and deletion

Testing

  • 122 test suites with 2300+ unit and integration tests
  • Coverage thresholds: 70% branches, 80% functions/lines/statements
  • Integration tests for critical flows: offline sync, task lifecycle, couple pairing
  • 10 Maestro E2E flows running on Android emulator in CI
  • CodeQL security scanning (weekly)

Screenshots

Coming soon — screenshots of the app in action


Download

The APK will be available for download once the beta testing phase begins.


Status

This is a private beta — the source code is in a private repository. This showcase repo demonstrates the project scope, architecture, and technical decisions.

Current phase: User testing with 5 beta testers


Author

Pedro Marques — Solo full-stack developer

Built from scratch: architecture, design system, backend, AI integration, testing, and CI/CD pipeline.


DueIt — Tarefas Juntos em Harmonia

About

DueIt - Smart household task management app for couples. Built with React Native, Expo, Firebase & Gemini AI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors