TOTP Manager

Visit site

OTP Manager

A self-hosted OTP (One-Time Password) manager that combines a Kotlin backend with an Astro frontend, tied together by GitHub Actions for CI/CD automation.

The backend is written in Kotlin, leveraging its conciseness and type-safety for handling OTP generation and validation logic. The frontend is built with Astro, keeping it lightweight and fast — no unnecessary JavaScript shipped to the client.

CI/CD with GitHub Actions

The project uses GitHub Actions pipelines to automate builds, tests, and deployments. Every push triggers a workflow that validates the codebase and prepares artifacts for deployment, making the release process hands-off.

Frontend deployed by GitHub Actions

Deployment Ready

OTP Manager is being prepared as a Railway template, allowing anyone to spin up their own instance with a single click. The infrastructure is also configured for AWS, supporting deployment via containers or serverless setups depending on scale requirements.

Both deployment targets share the same environment variable schema, so switching between them requires minimal configuration changes.

Why self-hosted?

OTP secrets are sensitive. Keeping them under your own infrastructure — whether on Railway for simplicity or AWS for scale — means no third-party ever holds your secrets. This project is built with that constraint in mind from day one.

OTP Manager logs