____ _ _
| _ \ __ _ ___ __ _ |__ \ __ _ _ _ __ _ __ _ _ __ _ __
| |_) |/ _` |/ __| / _` | | _ \/ _` || | | | / _` | / _` || '_ \| '_ \
| __/| (_| |\__ \| (_| | | |_) | (_| || |_| || (_| | _ | (_| || |_) || |_) |
|_| \__,_||___/ \__,_| |____/ \__,_| \__, | \__,_| (_) \__,_|| .__/ | .__/
|___/ |_| |_|
As the industry moves toward microservices and division of responsibility, Rails proves that a single developer, with the right monolith at their disposal, can compete on their own with entire product teams.
This project demonstrates that a single developer can build a fully functional SaaS product—from frontend and backend to deployment on a production server and ongoing maintenance—while balancing it with a full-time job and university studies.
In creating Pasabaya.app, I was inspired by The One Person Framework philosophy. The source code is open, and the codebase is designed to be as simple as possible, making it easy for others to understand, contribute, and suggest improvements.
The project leverages Rails 8.1 capabilities to their fullest, adhering to the principle of minimizing external dependencies.
| Task | Industry Stack | Ruby on Rails Stack (Default) |
|---|---|---|
| Database | PostgreSQL / MySQL | SQLite (Production-ready configuration) |
| Interactive UI | React + Next.js + Redux | Hotwire (Turbo + Stimulus) |
| Job Queues | Redis + Sidekiq / Celery | Solid Queue (SQLite-backed) |
| Caching | Redis / Memcached | Solid Cache (SQLite-backed) |
| Frontend Build | Node.js + Webpack / Vite | Import Maps (Native JS in the browser) |
| Deployment | Kubernetes / AWS ECS | Kamal (Simple SSH + Docker) |
First time contributing? Welcome! This guide will help you get the website running locally in just a few steps.
Thanks to the Solid Trifecta (Solid Queue, Solid Cache, and Solid Cable) running on SQLite, there is no need for Redis, Memcached, or any other external services. The project runs fully on SQLite and Import Maps, meaning you don't need to install PostgreSQL, Redis, or Node.js to get started.
- macOS / Linux / Windows with WSL2 (Ubuntu) — If you are on Windows, I assume you are using WSL2 to run the commands.
- Ruby 4.0.1 (I recommend installing it via mise)
- Rails 8.1
- Git
Just follow the official Ruby on Rails installation guide.
But instead of mise use -g ruby@3 use Ruby 4 mise use -g ruby@4 :)
-
Clone the repository:
git clone https://github.com/ablzh/pasabaya.git cd pasabaya -
Run the setup script:
bin/setup
This command will install all gems, prepare your SQLite database, and boot the development server.
-
Access the app: Open your browser and navigate to
http://localhost:3000to see the app in action! -
To log in, use the test user data: email: admin@example.com e_password:_ password
The public-facing performance dashboard for this application is available at Skylight OSS