import { Demo } from "@/components/Demo"; import { ProjectPage } from "@/components/ProjectPage"; export const metadata = { title: "good morning!", description: "An app for couples or friends to share daily notices with songs and photos", date: "October 2025", slug: "good-morning", image: "/good-morning-icon.png", // url: "https://gm.ob248.com", github: "https://github.com/hex248/good-morning", hidden: false, tags: [ "Web", "React", "TypeScript", "Go", "PostgreSQL", "AWS S3", "Databases", "OAuth2", "Spotify API", ], type: "personal", }; export function GoodMorningProject() { return (

"good morning!" is a web app I built to help couples or friends share daily notices, songs, and photos with each other. It features a simple and intuitive interface for sending and receiving messages, along with support for photo attachments. The app is built with React and TypeScript on the frontend, and Go with PostgreSQL on the backend. Media files are stored securely using Cloudflare R2 (AWS S3).

Key features

  • Create daily notices with photos and Spotify songs
  • Simple user interface
  • Google OAuth2 authentication for user accounts

Technologies

  • React
  • TypeScript
  • Go
  • PostgreSQL
  • Cloudflare R2 (AWS S3)
  • Spotify API
  • OAuth2 Authentication
  • Progressive Web App (PWA)

Demo

); }