CycleOS
Inspiration
I am a woman who has been diagnosed with PMDD (Premenstrual Dysphoric Disorder). Most people don't know what PMDD is, but it is a condition that can cause severe mood symptoms linked to the menstrual cycle.
I won't get into all the biology, but for myself and many others living with PMDD, or even completely different conditions and circumstances, every day really isn't the same.
Some days I can wake up feeling motivated, focused and ready to take on everything. Other days, even the smallest tasks can feel overwhelming.
But the frustrating part is that my responsibilities don't disappear just because my capacity changes.
I've tried productivity systems before, but I've always felt that they expect me to be the same person every single day. They expect consistency in energy, motivation and focus, even when life isn't consistent.
I wanted to build something that works with people rather than against them.
That's where CycleOS came from.
One idea became the foundation of the entire project:
Low capacity changes how a task is done, not whether it matters.
What it does
CycleOS is an AI-powered productivity planner designed to adapt to how much capacity someone has on a particular day.
Instead of immediately asking users what they want to accomplish, CycleOS first asks how they're doing.
Users can enter their:
- Energy level
- Focus level
- Mood
- Available time
- Tasks and responsibilities
- Thoughts through a brain dump
CycleOS then uses this information to generate a personalised plan for the day.
The aim isn't to create the most productive day imaginable. It's to create a realistic plan that someone can actually follow.
For example, if someone has 30 minutes available, CycleOS should create a plan that fits within those 30 minutes rather than suggesting an unrealistic list of activities.
It can also break tasks into smaller steps and suggest alternatives when something feels too overwhelming.
One feature I'm particularly interested in is optional menstrual cycle context. Users can choose whether to include cycle-related information, rather than having the app make assumptions about their abilities based on their cycle.
CycleOS isn't intended to diagnose conditions or tell people what they should be capable of. It's intended to help them work with the information they provide about themselves.
The longer-term goal is to create a productivity system that learns what works for each individual.
How we built it
I built CycleOS using Python, Google Colab, Gradio and NVIDIA's Nemotron model through Nebius Token Factory.
I started by building the basic inputs: energy, focus, mood and available time.
From there, I gradually added task management, a brain dump, AI-generated plans, habit suggestions and ways to record task outcomes.
The AI takes the user's inputs and generates a structured plan, including suggested activities, time estimates, explanations and smaller alternatives.
I also worked on making sure the suggested activities fit within the time the user actually has available.
Gradio allowed me to turn my Python code into an interactive interface rather than leaving it as something that only runs inside a notebook.
I initially developed and tested the project in Google Colab before moving it to GitHub and deploying a live version using Render.
One thing that mattered to me throughout development was keeping the user in control. I didn't want CycleOS to assume that having low energy meant someone couldn't do anything, or that being in a particular menstrual cycle phase automatically determined their productivity.
I wanted the AI to make suggestions, not decisions on someone's behalf.
Challenges we ran into
One of my biggest challenges was simply learning how to turn an idea into a working application.
I have a physics background and some experience with Python, but building an AI-powered application was a completely different challenge.
There were moments when I spent ages trying to understand why something wasn't working, only to discover that the issue was a small mistake in the code.
Working with an AI API also came with challenges, particularly handling responses consistently and making sure the generated plans followed the constraints I'd set.
Another challenge was balancing personalisation with practicality.
I wanted CycleOS to respond meaningfully to changes in energy, focus and mood, but I realised that creating genuinely adaptive behaviour is much harder than simply collecting those inputs.
I also had to think carefully about how to incorporate menstrual cycle information without making generalisations about what people can or cannot do.
Finally, deploying CycleOS was a challenge of its own. Getting something to run in Google Colab was one thing. Making it accessible through a public website required learning about GitHub, dependencies, environment variables and hosting.
There were definitely moments when I felt like I had taken on more than I knew how to do.
But I kept going.
Accomplishments that we're proud of
My biggest accomplishment is that CycleOS actually exists.
It started as an idea based on something I struggled with personally, and I managed to turn it into a working prototype that other people can try.
I'm particularly proud that I:
- Built an interactive application using Python and Gradio.
- Integrated an NVIDIA AI model through Nebius.
- Created a system that generates plans based on user-provided context and available time.
- Added smaller task alternatives instead of treating unfinished tasks as failures.
- Explored optional menstrual cycle context while keeping users in control.
- Published my project on GitHub and deployed a live demo.
I'm also proud that I didn't wait until I knew everything before starting.
There are still things I want to improve, and I can already see features that need more work. But learning to build something, test it, fix it and eventually put it online has been a huge accomplishment for me.
What we learned
This project taught me far more than I expected.
On the technical side, I learned more about Python, APIs, working with language models, structuring AI outputs, building interfaces with Gradio and deploying applications.
I also learned that getting AI to produce a response is relatively easy compared with getting it to produce something consistently useful.
A plan can sound encouraging and still be completely unrealistic.
I had to think about what makes a suggestion actionable, how to respect time constraints and how to make the output feel less overwhelming.
But one of the biggest things I learned was that building a useful product requires understanding the problem, not just the technology.
CycleOS isn't about encouraging people to do more every day.
It's about helping them find a manageable way forward, even when the day doesn't look how they expected.
I also learned that sometimes you have to stop adding features and let your project exist in its current form.
That's something I'm still learning!
What's next for CycleOS
I have a lot of ideas for where CycleOS could go next.
The first priority is improving how well the AI adapts to different energy, focus and mood levels. I want the difference between a high-capacity day and a low-capacity day to feel much more meaningful.
I would also like to develop:
- Better personalisation: Allowing CycleOS to learn from completed, partially completed and interrupted tasks so future suggestions become more realistic.
- Optional cycle tracking integration: Giving users the choice to enter cycle information manually, connect a compatible tracking app or leave cycle information out entirely.
- More flexible planning: Helping users adjust their plans when something unexpected happens during the day.
- Improved habit support: Making it easier to maintain habits in different ways depending on available capacity.
- A better user interface: Making CycleOS easier and more enjoyable to use regularly.
- User testing: Gathering feedback from people with different needs, routines and experiences.
Eventually, I'd love CycleOS to become something people can use as part of their everyday lives, not just when they're feeling productive.
Although PMDD inspired the project, I don't want CycleOS to be limited to people who menstruate or have a particular diagnosis.
Everyone experiences changes in capacity, whether that's because of health, stress, work, sleep or simply having a difficult day.
I want CycleOS to help people build consistency without demanding that they feel consistent.
Log in or sign up for Devpost to join the conversation.