I think software should be as simple as it can be. It should still do all the things you need. ox is my try at that, for putting apps online.
Putting my apps online was the hard part
Writing the app was always the fun part for me. Getting it online was not.
Each time, I had to set up a server again. I had to set up the web server, the database and the jobs that run on a timer. I even wrote long guides about it on my blog. Each one had many steps.
I tried the easy way and the do it yourself way
First I tried the easy tools, like Vercel. You push your code, and it goes live. But that nice feel costs a lot of money.
Then I tried tools you run on your own server. They are wonderful tools, and many people love them. But their screens had too much on them for me. I could not enjoy using them.
So I could pay a lot to keep things simple, or pay less and fight a busy screen. I did not want either one.
So I made my own
I built the tool I wanted, and I called it ox.
ox puts your app on a server you rent, called a VPS. A VPS is a computer in a data center that you pay for each month. You push your code to GitHub. ox builds it and puts it live on your server. It does not use Docker. It uses the plain parts that come with Linux.
Most of what ox does comes from pain I felt over the years.
I wanted it calm, with nothing extra
I kept the screens as small as I could. A project's main page shows what you need right now. You see if your app is up, its web address, and the last deploy. The rest sits behind Settings.
A new app needs no setup at all, because ox picks good settings for you.
The small things I cared about
- Logs that show what led to an error. You can filter the logs to show only errors. Then point at an error line. Two buttons show the ten lines before it or the ten lines after it. So you see what happened just before the error, not only the error.
- Your AI writes the setup file. Some apps need a small file called
ox.toml. You do not have to write it by hand. Copy our guide into your coding AI. It reads your code and writes the file for you. The AI only writes the file. When you deploy, ox just reads it. The same file gives the same result every time. - A check before each deploy. ox checks the file before it changes anything. A mistake stops the update before your live site is touched.
- A failed update leaves your site up. If a step fails, your live app keeps running. ox tells you which step failed, why, and how to fix it.
- Commands for you and your AI. Most things on the dashboard are also a command. Each command can print its answer as data, so an AI agent can use it.
Who I am
I am Saurav Sharma, and I live in India. I taught myself to code on freeCodeCamp. Then I spent about five years building the server side of web apps for clients. Now I build my own products. You can read more about me on my site.
I build the tools I wish I had
I code a lot of other things too. When a problem bugs me, I look for a fix first. If I cannot find one, or I want one made just for me, I build it. Then I share it, in case someone else needs it too.
One is a Discord bot that uses AI. You tell it in plain words who may do what, and it keeps the chat in order. So the people who run a Discord server do not have to watch it all day.
Another is Lazy Planner. It helps you plan your days when you have many things going on in life. It runs on ox.
I go to the mountains to rest
When I am not building, I like to travel. The mountains are my favorite place to go. Up there, I rest and get my energy back. New ideas come to me more easily.
I like to get lost in the trees and hills and just look around. Nature is so pretty that I can stand and stare for a long time.
Come try it
ox is free while it is in beta. You can sign up with your GitHub account. Or read the docs first to see how it all works.
I hope ox makes your deploys feel simple too.