// Overview

Love Logger is a containerized web application for couples to document their relationship journey, built with a modern TypeScript stack.

The application provides a private, secure space for couples to log memories, track milestones, and reflect on their shared experiences together.

// Architecture

React Frontend
Nginx Proxy
Node.js API
TypeScript Services
Database
Auth
|
File Storage
|
Docker

A full-stack TypeScript monorepo with shared types between frontend and backend, ensuring type safety across the entire request/response lifecycle. Docker Compose orchestrates all services for single-command deployment.

// Key Features

  • TypeScript throughout the entire stack
  • React frontend with modern UI/UX
  • Backend service for data management
  • Docker deployment for easy setup
  • Nginx configuration for production
  • Environment-based configuration

// Technical Details

TypeScript: Full-stack TypeScript implementation ensures type safety from frontend to backend, reducing bugs and improving developer experience.

React: Modern React patterns with hooks and functional components provide a responsive, interactive user interface.

Docker: Containerized deployment makes it easy to run the application anywhere with consistent behavior across environments.

// Challenges & Solutions

Challenge: Keeping the couple's data truly private while still enabling real-time sync between two users.

Solution: Implemented a partner invitation system with unique invite codes. All data is scoped to a couple entity, and API endpoints enforce strict authorization - you can only access entries belonging to your relationship.

Challenge: Making the journal feel personal and intimate rather than like a generic CRUD app.

Solution: Added timeline-based navigation, mood tracking with emoji reactions, photo uploads with lazy-loaded galleries, and milestone celebrations with subtle animations that make logging entries feel rewarding.

// What I'd Improve

  • Add end-to-end encryption for maximum privacy
  • Implement automated memory highlights and anniversary reminders
  • Build a mobile PWA with offline journal entry support
  • Add export to PDF for creating physical memory books

// Highlights

  • Full-Stack TypeScript architecture
  • Containerized with Docker
  • Modern development tooling