My wife needed a cycle tracker. Everything out there was either Flo (which got sued twice for sharing health data) or an abandoned GitHub project. So I built Ovumcy. Single Go binary, SQLite, Docker-ready. No analytics, no third-party APIs, no cloud. Your data stays on your server. Features: period tracking, symptom logging, predictions (ovulation, fertile window), statistics, CSV/JSON export, dark mode, Russian and English. Just pushed v0.2.5. Looking for feedback from real users.

top 50 comments

sorted by: hot top controversial new old
[–] 58 points 7 months ago (34 children)

I was going to recommend this to someone I know but when I realised your readme.md is entirely AI-generated, I guess the whole project is probably vibe-coded. I can't in good conscience recommend someone trust their health data to a vide-coded app because they tend to have security problems.

Also all ai-generated code is public domain so your AGPL license is kinda empty. Might as well use MIT.

  • source
  • hideshow 34 child comments
  • [–] [S] 54 points 7 months ago (24 children)

    I do use AI tools while developing this project, but I also have a BSc in Computer Science. AI is a productivity tool.

    Security is something I take seriously, especially since the project deals with health data. All code has test and you're welcome to inspect the repository yourself or point out any specific security concerns if you notice them.

    Regarding licensing: the AGPL license applies to the project as a whole regardless of the tools used to write parts of the code.

    If you have concrete technical feedback or security issues, I’d genuinely appreciate it.

  • source
  • parent
  • hideshow 24 child comments
  • [+] 32 points 7 months ago* (last edited 1 month ago) (13 children)
  • [–] 24 points 7 months ago*

    because I don’t know jackshit about coding and I am not gonna pretend I do.

    But if OP does know and applies that knowledge to what they are doing, it's not the same thing and doesn't make sense to have the same disclaimer.

  • source
  • parent
  • load more comments (11 replies)
  • [–] 10 points 7 months ago (1 child)

    The danger being raised with the licensing is that you can't license something if you're not considered to be the author. There are growing examples of courts and lawmakers determining AI output to be public domain:

    The US Supreme Court recently refused to reconsider Thaler v. Perlmutter, in which the plaintiff sought to overturn a lower court decision that he could not copyright an AI-generated image. This is an area of ongoing concern among the defenders of copyleft because many open source projects incorporate some level of AI assistance. It's unclear how much AI involvement in coding would dilute the human contribution to the extent that a court would disallow a copyright claim.

    https://www.theregister.com/2026/03/06/ai_kills_software_licensing/

    This is an evolving, global situation and hard to know what to do right now. I think what you've got is fine though - you've made it clear your intention is to license with AGPL. It's just that depending on the jurisdiction it might be public domain instead.

    This is another reason to be clear about the use of AI in the README so your users can make an informed decision.

  • source
  • parent
  • hideshow 1 child comment
  • load more comments (8 replies)
  • [–] 11 points 7 months ago (5 children)

    Charitably, it could be an AI readme and hand rolled code, but it definitely is a smell.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 16 points 7 months ago (4 children)

    Yeah there are other signs too. Look at those commit messages, all vague, all perfectly capitalized. All with a nice long description with bullet points.

    No one does that in a project they're building for themselves.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 15 points 7 months ago*

    Judging code quality by use of LLM in a documentation and commit messages is weird.

    While I write all of my code myself and I'm against vibe coding etc., there is one place where I let a LLM write for me: readmes, commit messages and Javadoc comments.

    I know how to write code but at the same time I'm shit at both my native language and even more so at English. So I let Language Models write natural language texts for me and just fix them when necessary. My documentation is more clear, grammatically correct and more detailed than in any of my previous projects, and I can focus on writing code.

    And I wouldn't say "No one does that in a project they're building for themselves". I do that for projects that only I will ever see, and OP shared his project with others, so it's great that he included a clear documentation

  • source
  • parent
  • [–] 7 points 7 months ago

    No one does that in a project they’re building for themselves.

    Speak for yourself, I always did that and I found it easier with LLMs nowadays.

    I hate most AI shite with a passion but when it helps my colleagues write commits which are more than "add stuff", "fix some things" I'm fine with it.

    I rarely use AI to generate code, usually only when I need a starting point. It's much easier to unfuck AI code than to stare blankly at a screen for an hour. I'd never commit code I don't fully understand or have read to the last byte.

    I hope OP is doing the same. LLMs fail at 90% of coding tasks for me but for the other 10% (mostly writing tests, readmes, boilerplate) it's really OK for productivity.

    Ethics of LLMs aside, if you use them for exactly what they're built for – being a supercharged glorified autocomplete – they're cool. As soon as you try to use them for something else like "autocompletion from zero" aka "creativity", they fail spectacularly.

  • source
  • parent
  • load more comments (2 replies)
  • [–] 49 points 7 months ago (6 children)

    I recommend you set the Content-Security-Policy http header so that inline javascript (commonly used for XSS attacks) cannot be executed.

    https://web.dev/articles/strict-csp

    CSP being off is not exactly a security hole but it makes security holes much more likely. By using a strict CSP configuration you close off the possibility of a whole class of holes.

    Also think about setting the Access-Control-Allow-Origin header and enable CORS on your REST endpoints.

    https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Origin

    Again, kind of a pain in the ass but gets rid of a bunch of potential problems before they start.

  • source
  • hideshow 6 child comments
  • [–] [S] 13 points 7 months ago (5 children)

    Thanks for the suggestions, those are good points.

    CSP is something I plan to tighten over time, but enabling a strict policy right now would require refactoring some inline JS patterns used in the templates. It’s definitely on the roadmap as part of security hardening.

    Regarding CORS, the application currently runs as a same-origin server-rendered app rather than a cross-origin API, so CORS headers aren’t enabled by default. If external clients or integrations are added in the future, I’d likely introduce a restricted allowlist for specific API routes.

  • source
  • parent
  • hideshow 5 child comments
  • load more comments (5 replies)
  • [–] 40 points 7 months ago (6 children)

    Why not use drip or mensinator? Both FOSS.

  • source
  • hideshow 6 child comments
  • [–] [S] 47 points 7 months ago (5 children)

    Ovumcy isn’t trying to replace them. The idea here is to explore a self-hosted, web-based approach that focuses on running the app on infrastructure you control, with simple deployment and cross-device access through the browser.

    Different tools optimize for different things. Native apps like Drip or Mensinator are great for fully local tracking, while Ovumcy explores a self-hosted model that can be accessed from multiple devices without relying on a third-party service.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 20 points 7 months ago (1 child)

    I see how they differ now. Local vs self hosted. Niche use. But I get your idea especially helpful between partners I suppose. Keep it going! Let's see where it lands in time. Personally I think the name is hard to remember and pronounce correctly which means it might not be super catchy and really take off. My opinion and in no way should deter you. Perhaps tweak the name. Overall though good job and keep going. This not a negative thing I say. Just to trying to help you refine the idea to success. Best of luck!

  • source
  • parent
  • hideshow 1 child comment
  • [–] 12 points 7 months ago (2 children)

    this is great, especially when our government starts tracking everything we do online.

    great forward thinking if that was your intention.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 25 points 7 months ago* (1 child)

    What a chad. I wish I were woman to use your app.

  • source
  • hideshow 1 child comment
  • [–] 21 points 7 months ago* (3 children)

    A lot of cycle trackers right now sell that data and there is some concern it could be used to find women who have miscarried and charge them with a crime.

    Something like your idea is safer for women to use.

  • source
  • hideshow 3 child comments
  • [–] 6 points 7 months ago (2 children)

    How can that even be a thing? Miscarriages happen all the time

  • source
  • parent
  • hideshow 2 child comments
  • [–] 14 points 7 months ago

    Well a miscarriage is basically an abortion and an abortion is basically a murder.

    /s, to be clear, but some people will say that sincerely and in some parts of the world they get to write the law.

  • source
  • parent
  • [–] 8 points 7 months ago

    Yeah they have tried to prosecute women for miscarriages. Basically saying women cause them on purpose.

    https://www.nbcnews.com/news/nbcblk/brittany-watts-miscarriage-bathroom-charged-rcna135861

    The right wing conservatives often have these weird paradoxical beliefs. Like Mexicans are lazy but also stealing everyone's jobs.

    They believe women are designed to be baby incubators and are natural caregivers, but we are also naturally baby killers and have to be watched and kept from killing all the babies.

    It's ridiculous.

  • source
  • parent
  • [–] [S] 18 points 7 months ago

    I use Android, my wife - iOS. So many things that on F-Droid are simply unavailable to her (yes, I tried to convince her to go to our side). So I searched for living projects with self-hosting idea, did not find one and decided to create one. I have a CS background, though my professional work today is mostly in finance as a senior analyst where I write code to automate and optimize workflows. Ovumcy started as a personal project exploring a self-hosted approach to cycle tracking.

  • source
  • [–] 15 points 7 months ago (3 children)

    Do you know about drip? It as local non-profit cross-platform open source smartphone app and my girlfriend is a happy user for years.

  • source
  • hideshow 3 child comments
  • [–] 11 points 7 months ago (3 children)

    I did the same thing for my partner. She didn't migrate in the end, and google killed my play store account.

    https://bloodyhealth.gitlab.io/ - is also a good option.

    Some kind of data import would be nice to have according to my partner, but it might be tricky with all the different apps.

  • source
  • hideshow 3 child comments
  • load more comments (3 replies)
    [–] 9 points 7 months ago (1 child)

    My partner might volunteer to try it out, but since she is very regular it probably wouldn't help much for input.

    The main feature she says she misses from Flo (we are also data savy, so she left it), was for when things were irregular, the ability for it to predict the why's and when's like stress, etc.

    In the current iteration, if something is irregular can you put in what happened and have it auto-adjust?

    Also, reminder notifications a couple of days out were helpful.

    I had been considering a project like this as well, but one that uses on-device analytics to record the why's and when's, then allowing for scrubbed anonymous submissions (date adjusting/etc like you do in a clinical trial) to allow for algorithm development while preserving privacy.

    Happy to have a conversation about this for future potential PRs (I am an avid FOSS contributor in both planning and code, even working on a project for the Linux Foundation kernel dev team now).

  • source
  • hideshow 1 child comment
  • [–] [S] 8 points 7 months ago

    Thanks, this is really useful feedback.

    The reminder part is already on the roadmap, and I’ve now added two more issues based on your note about irregular cycles:

    • #17 Add irregularity factor tags for cycle tracking
    • #18 Use recorded cycle factors to improve prediction context

    The direction I’d want for Ovumcy is less “the app predicts the why” and more:

    • users can log things like stress, illness, travel, sleep disruption, etc.
    • the app can use that to give better context and reliability hints for irregular cycles
    • without pretending to make hard medical claims

    The anonymous scrubbed-submission idea is interesting too, but I’d treat that as much later, because it changes the privacy/trust model a lot.

    Happy to keep talking about it, and future PRs would definitely be welcome.

  • source
  • parent
  • [–] 8 points 7 months ago (1 child)

    There definitely an actively developped open source privacy focused period tracker available, go check it out: https://gitlab.com/bloodyhealth/drip But all data stays local on your device , which is of course good from privacy pov but if you are looking for something accessible from different devices then this might not be suitable.

  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] [B] 8 points 7 months ago* (last edited 6 months ago) (2 children)

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    HTTP Hypertext Transfer Protocol, the Web
    IP Internet Protocol
    LXC Linux Containers
    SSH Secure Shell for remote terminal access
    VPS Virtual Private Server (opposed to shared hosting)

    6 acronyms in this thread; the most compressed thread commented on today has 9 acronyms.

    [Thread #140 for this comm, first seen 7th Mar 2026, 01:40] [FAQ] [Full list] [Contact] [Source code]

  • source
  • hideshow 2 child comments
  • load more comments (2 replies)
    [–] 7 points 7 months ago (1 child)

    I use a period tracker to identify file extensions.

  • source
  • hideshow 1 child comment
  • [–] 6 points 7 months ago (1 child)

    Awesome! My wife just had her IUD removed and will probably start tracking again. Will get this set up for her and see if she likes it, will provide feedback if she has any.

  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 5 points 7 months ago (2 children)

    This is super cool! I'm not afab so I can't help test and my question may be ignorant but I'm curious why one would want this functionality to not be something native and benefits from being hosted at all?

    There are some f-droid trackers that look nice (I keep seeing one there with a super pretty ui) but I'm not sure what the tradeoffs of just using a native application for something like this might be

  • source
  • hideshow 2 child comments
  • load more comments (1 reply)
    load more comments
    view more: next ›