Most apps that generate a plan for you start with a sign-up form. For Otro Lunes I wanted the opposite: seven questions, then the plan.

Seven answers in, a plan out

You answer seven questions about yourself. An AI model, Gemini or OpenAI at your choice, writes a meal plan and a training routine for every day you train.

The model call lives on the server

The call to the model runs in a Next.js Route Handler. The API keys stay on the server and the browser only sees the result. I validate the answers going in and the plan coming back with Zod, so a malformed response gets caught before it reaches the screen.

The plan stays in your browser

The finished plan is saved in the browser. There are no accounts and no database, which means there is nothing to sign up for, nothing to leak and nothing for me to maintain. The trade-off is real: clear your browser data and the plan is gone, and it does not follow you to another device.

Why I like this shape

It shows how much a product can do with one Route Handler, a schema and a good prompt. If the plan ever needs to travel between devices, an account can be added then.

Try it at otrolunes.ocobosoftware.dev.