Skip to content

Repository files navigation

LifePilot

LifePilot is an AWS-first personal administration assistant for documents, contracts, bills, deadlines, appointments, and everyday life admin.

The goal is simple: users should be able to upload or paste a document, understand what it means, see what matters, and know what they need to do next.

Example: A user uploads or pastes a bill. LifePilot detects the payment deadline, amount, reference number, and prepares a reminder.


Current Status

LifePilot is currently in an MVP development phase and is also a DevOps and Cloud Engineering portfolio project.

The web app already supports:

  • login flow with mock/local development mode
  • Cognito-ready authentication structure
  • document upload UI
  • TXT analysis in the browser
  • text-based PDF extraction when readable text exists
  • Smart Brain summaries for uploaded or pasted content
  • server-side OpenAI analysis when configured
  • deterministic fallback analysis when OpenAI is unavailable
  • local reminder creation from detected deadlines
  • duplicate protection for reminders
  • better reminder descriptions with amount and payment reference
  • Vercel production deployment
  • Vercel Web Analytics
  • protected LifePilot Brain testing through a private test-code header

Some data is still stored locally in the browser during development. The AWS backend is prepared, but not fully deployed and validated yet.


Tech Stack

Frontend

  • Next.js App Router
  • React
  • TypeScript
  • Tailwind CSS
  • pnpm workspaces
  • Turborepo

Backend / Cloud Foundation

  • AWS-first architecture
  • AWS CDK foundation
  • prepared Lambda handlers
  • prepared API Gateway routes
  • prepared DynamoDB persistence
  • prepared S3 document upload architecture
  • Cognito-ready authentication boundary

AI

  • OpenAI server-side integration
  • deterministic local fallback
  • no OpenAI API key exposed to the browser

Deployment / DevOps

  • GitHub feature branches
  • Pull Request workflow
  • Vercel preview and production deployments
  • Vercel Web Analytics
  • local typecheck/build workflow

Project Structure

apps/web                 Next.js web app
apps/mobile              Expo React Native skeleton
packages/shared          Shared TypeScript domain types
packages/ui              Shared UI primitives
packages/api-client      Mock-first API client
infra/cdk                AWS CDK foundation
lambdas/contracts        Contracts Lambda placeholder
lambdas/documents        Documents Lambda placeholder
lambdas/reminders        Reminders Lambda placeholder
lambdas/ai-analysis      AI analysis Lambda placeholder
docs                     Architecture and development notes

What Works Today

Documents

  • Upload UI is available.
  • TXT files can be read and analyzed locally.
  • Text-based PDFs can be read when direct text is available.
  • Scanned PDFs, photos, and images show an honest OCR-prepared state.
  • LifePilot can propose human-readable document names.

Smart Brain

  • LifePilot can summarize documents in simple language.
  • It can detect important dates and actions.
  • It can show a next step for the user.
  • It can use OpenAI from the server when configured.
  • It falls back to deterministic logic if OpenAI is unavailable.

Reminders

  • Detected deadlines can be confirmed as local reminders.
  • Duplicate reminders are blocked.
  • Reminder notes can include amount, due date, and payment reference.
  • Payment reminders and high-risk wording are prepared for priority handling.

Auth

  • Mock/dev login works locally.
  • Cognito integration is prepared.
  • Google and Apple login buttons are visible but only become active when Cognito Hosted UI is configured.

Analytics

  • Vercel Web Analytics is integrated.
  • Production page views can be tracked after deployment.

Not Production-Ready Yet

The following parts are prepared or planned, but not fully production-ready:

  • production AWS deployment
  • durable AWS document storage
  • deployed DynamoDB persistence for all user data
  • private S3 document storage validation
  • cross-device sync
  • production OCR for scans and photos
  • real Google Calendar / Outlook sync
  • email import
  • subscription and payment flow
  • mobile App Store release
  • production-grade AWS security review

Until the AWS backend is fully deployed and validated, local/dev data may still be stored in browser localStorage.


Security Notes

This repository must not contain:

  • API keys
  • secrets
  • real private documents
  • real user data
  • production credentials

OpenAI keys must only be stored as server-side environment variables.

Do not use:

NEXT_PUBLIC_OPENAI_API_KEY

because anything prefixed with NEXT_PUBLIC_ can be exposed to the browser.

Use server-side environment variables instead:

OPENAI_API_KEY=
OPENAI_MODEL=gpt-4.1-mini
LIFEPILOT_BRAIN_TEST_CODE=

Do not put Google or Apple client secrets in frontend environment variables.


Environment Variables

Local Development

Create a local environment file for the web app:

apps/web/.env.local

Example:

OPENAI_API_KEY=
OPENAI_MODEL=gpt-4.1-mini
LIFEPILOT_BRAIN_TEST_CODE=your-private-test-code
NEXT_PUBLIC_USE_MOCKS=true
NEXT_PUBLIC_USE_MOCK_AUTH=true

Cognito / Hosted UI

Social login requires public Cognito Hosted UI variables:

NEXT_PUBLIC_COGNITO_DOMAIN=
NEXT_PUBLIC_COGNITO_CLIENT_ID=
NEXT_PUBLIC_COGNITO_REDIRECT_SIGN_IN=http://localhost:3000/auth/callback
NEXT_PUBLIC_COGNITO_REDIRECT_SIGN_OUT=http://localhost:3000/login
NEXT_PUBLIC_COGNITO_OAUTH_SCOPES=openid,email,profile

Local Development

Install dependencies:

pnpm install

Start the web app:

pnpm --filter @lifepilot/web dev

Open:

http://localhost:3000

Run TypeScript checks:

pnpm --filter @lifepilot/web typecheck

Run all checks from the monorepo root when available:

pnpm typecheck
pnpm lint
pnpm build

Main Routes

/login
/register
/dashboard
/documents
/reminders
/contracts
/insights
/vault
/ai-assistant
/settings

AWS Direction

LifePilot is planned as an AWS-first product. The AWS CDK foundation can be built and synthesized locally.

pnpm --filter @lifepilot/cdk build
pnpm --filter @lifepilot/cdk synth

Do not run production AWS deployments until the account setup, secrets management, IAM permissions, data handling rules, and cost controls are clearly defined.

Planned AWS production components:

  • Cognito for authentication
  • S3 for private document storage
  • DynamoDB for user-scoped records
  • Lambda for backend logic
  • API Gateway for backend APIs
  • CloudWatch for logs and monitoring
  • Secrets Manager or SSM Parameter Store for secrets
  • CI/CD pipeline for automated checks and deployment

Roadmap

Next

  • improve reminder priority handling
  • finish backend persistence validation
  • add stronger CI checks with GitHub Actions
  • connect document analysis results to durable backend storage
  • improve PDF validation across more file types
  • add OCR support for scans and photos

Later

  • Google Calendar / Outlook sync
  • email import
  • subscription system
  • mobile app capture flow
  • App Store release
  • full AWS production deployment

Learning Goal

LifePilot demonstrates practical work with:

  • TypeScript
  • Next.js
  • Git and GitHub workflow
  • feature branches and pull requests
  • production deployments
  • server-side API protection
  • environment variable handling
  • cloud-ready architecture
  • AWS fundamentals
  • CI/CD preparation
  • product-oriented engineering

The long-term goal is to turn LifePilot into a real SaaS/mobile product while using it as a practical DevOps and Cloud Engineering portfolio project.

About

AWS-first life planning app with serverless architecture, infrastructure docs and practical cloud learning focus.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages