Hello

Bonjour

स्वागत हे

Ciao

Olá

おい

Hallå

Guten tag

Hallo

5 Minutos Com Deus

Menu

5 Minutos Com Deus

Personal project

2026
Overview

A calm devotional app with one shared New Testament verse each day, a private daily reflection and a reading streak.

Role & Stack

Full-stack developer

Next.js 14, PostgreSQL, Jest, OAuth, Tailwind CSS

The devotional

5 Minutos Com Deus is a 2026 personal project built as a quiet, mobile-first daily devotional. Everyone receives the same selected New Testament verse each day, with a small space for reading, reflection and habit tracking.

I built the complete application, including one editable private reflection per day, a reading streak, verse sharing, light and dark themes, and sign-in through email and password or Google. A reflection and every reading record are isolated by the authenticated user on the server.

Verse of the day on mobile
Writing the daily reflection
Saved reflections
Date-driven selection

The daily verse is derived from the current date in the America/Sao_Paulo time zone. The date becomes an YYYYMMDD seed for a mulberry32 pseudorandom generator, whose output selects an entry from the 27 New Testament books.

Because the selection is deterministic, users see the same verse on the same date without a cron job, daily database row or saved global state. The public-domain Almeida text stays in a server-side JSON file, and the browser receives only the selected verse rather than the complete Bible dataset.

Daily reflection on desktop
Full-stack structure

The app uses Next.js 14 with the Pages Router and next-connect for explicit API routing and error handling, with SWR on the client and Tailwind CSS for the interface. PostgreSQL is accessed through handwritten queries using pg, and node-pg-migrate versions the schema without an ORM.

Authentication is also first-party: opaque session tokens live in the database, cookies carry only their key, passwords use bcrypt with a pepper, and authenticated access renews a sliding session window. Google OAuth is isolated in one model and connects verified email accounts to the same session system.

I used TDD for the API, exercising expected and error responses against a real PostgreSQL instance in Docker. GitHub Actions runs the integration tests and linting checks, while Husky applies secret scanning before commits and validates Conventional Commits messages.

Verse of the day in the light theme
One verse a day, the same for everyone, with space to reflect and keep it private.