Built and shipped a post-payment monitoring platform with a FastAPI backend, React frontend, Dockerized local development, branded domain deployment, and a GitHub Actions release pipeline with test-gated publishing and automated branch alignment.
Category:
Full-Stack / Backend / Cloud Deployment
Overview
Shiroku is a post-payment monitoring and anomaly detection platform designed for solo founders and small business owners. The product focuses on helping merchants detect unusual refund spikes, transaction anomalies, and other post-payment issues without needing enterprise-scale tooling.
I worked on Shiroku as a full-stack product and engineering project, covering backend development, deployment, CI/CD, release workflow design, and production environment setup. The platform includes a FastAPI backend, a React frontend, Docker-based local development, and production deployment across Vercel and Railway. The application also includes a waitlist-first landing page integrated with branded domain email onboarding.
What I Built
I built and refined the backend and deployment foundation for Shiroku, with particular focus on release quality, developer workflow, and production readiness.
On the backend side, I worked with FastAPI, SQLAlchemy, Alembic, and PostgreSQL to support a structured application foundation for uploads, transaction analysis, authentication-related flows, and future anomaly detection services. I also worked within a Docker-based local setup so the application could be developed and run consistently across environments.
On the product delivery side, I implemented and hardened the CI/CD pipeline. This included:
- separating automated test execution from image publishing
- making Docker image publishing depend on successful test completion
- creating a manual
dev to main release workflow
- hardening the release workflow with preflight checks for stale release branches, tags, and partial reruns
- aligning
main back into dev after release so versioning remained consistent for future releases
I also helped establish the production deployment flow using:
- Vercel for the frontend
- Railway for the backend and database
- GHCR for Docker image publishing
- custom domains including
shiroku.app and api.shiroku.app
A major part of the work was not just shipping code, but designing a release process that was safe enough to use repeatedly as the project matured.
Tech Stack
- Frontend: React, Vite, Tailwind CSS
- Backend: Python, FastAPI
- Database: PostgreSQL
- ORM / Migrations: SQLAlchemy, Alembic
- Data Processing: Polars
- Email / Waitlist: Resend
- Deployment: Vercel, Railway
- Containers / Infra: Docker, GitHub Container Registry (GHCR)
- CI/CD: GitHub Actions
Outcome
The result was a working production setup with a cleaner engineering workflow behind it.
By the end of this phase, Shiroku had:
- a live branded frontend at
shiroku.app
- a live branded backend API at
api.shiroku.app
- a test-gated CI pipeline so broken
dev changes would not publish images
- a manual but structured release workflow from
dev to main
- a follow-up alignment process to keep
dev and main on the same release baseline
- a stronger foundation for future beta and product expansion
This project was especially valuable because it forced me to move beyond just writing features and into real release engineering decisions: versioning, environment setup, deployment safety, branch strategy, workflow recovery, and production consistency.
Links