Journilog
An AI journaling app with Cognito auth, AppSync GraphQL + DynamoDB, a GPT-powered insights generator, PIN-lock privacy, and a rich-text editor.
About this project
What it is
A private journaling application built on AWS Amplify Gen 2. Authentication is handled by Cognito with a full sign-up/sign-in/forgot-password/MFA flow. Journal entries are stored in DynamoDB via an AppSync GraphQL API defined in the Amplify data resource. A Lambda function integrates with OpenAI's GPT API to analyze journal entries and surface emotional and thematic insights. The Next.js client includes a PIN-lock screen for device privacy, a rich-text editor with table creation and custom toolbar controls, Redux state management, and a Google login option. The entire backend (auth, API, data, functions) is defined in TypeScript via Amplify Gen 2 CDK constructs.
Engineering highlights
- AWS Amplify Gen 2 backend: Cognito auth, AppSync GraphQL API, DynamoDB data, Lambda functions — all defined in TypeScript
- GPT/OpenAI insights Lambda: reads journal entry content, returns AI-generated emotional and thematic analysis
- PIN-lock screen (client-side) for device-level privacy before accessing journal content
- Rich-text editor with custom MenuBar, table creation, and formatting controls
- Redux state management for journal entries and API state
- Full auth flow: sign-up with email confirmation, login, forgot-password, Google OAuth