<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: patillacode</title><link>https://news.ycombinator.com/user?id=patillacode</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 03 May 2026 18:51:39 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=patillacode" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>Hmmm, interesting, I will have a look, thanks!</p>
]]></description><pubDate>Sun, 03 May 2026 03:12:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47992966</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47992966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47992966</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>There are two cases:<p>Self-hosted: your data lives entirely on your own machine/server and obviously I never see it. 
That's the primary privacy model the app is designed around.<p>piruet.app (my hosted instance): you're basically trusting me. (I know, trusting a random stranger on the internet... right?)<p>Other things I can tell you:
Passwords are bcrypt-hashed and I can't recover them, but journal entries are stored in a SQLite database on the server. 
There's no at-rest encryption of content, so in principle the server's administrator could access the entries.
I don't do it on principle and there's no infrastructure set up to do so, but I can't make a technical guarantee of that.<p>If you just don't trust the person hosting it, I'd honestly recommend self-hosting yourself.<p>At-rest encryption of entries is something I'd like to add, it's just not there yet. 
In the meantime, piruet.app is best treated as a demo/trial environment rather than a permanent home for sensitive writing.<p>If you have thoughts on how to approach encryption in a way that doesn't break usability (search, rich text, etc.) I'd genuinely love to hear them.</p>
]]></description><pubDate>Sat, 02 May 2026 14:01:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986480</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47986480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986480</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>LOL<p>"one entry per day" takes on a whole different meaning that way.</p>
]]></description><pubDate>Sat, 02 May 2026 13:52:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986428</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47986428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986428</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>Entries are stored in a SQLite database, and uploaded images sit on disk under the configured DATA_DIR. 
Both are in a single Docker volume.</p>
]]></description><pubDate>Sat, 02 May 2026 13:51:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986418</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47986418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986418</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>Thanks for the feedback, I appreciate that you are looking out for me really.<p>My intention, the meaning of "forever free", is that I will provide the service for anyone and everyone that cannot self-host themselves, but of course, if I don't have money myself to rent a server, for example, and I have to shut the app down I would inform the people using it.
This is more or less expected from a free app in my experience and there is a paragraph in the terms related to this, under "NO GUARANTEES"<p>What I want to say though is that I won't charge users for as long as the app lives, if the app dies for whatever reason I will try to inform users to export their data and find a better place I guess.</p>
]]></description><pubDate>Sat, 02 May 2026 13:46:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986381</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47986381</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986381</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>I use firefox and I have e2e tests that work in firefox, feel free to create an issue in the github repo explaining a bit what is not working for you</p>
]]></description><pubDate>Sat, 02 May 2026 13:23:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986199</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47986199</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986199</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>I don't, I just wanted to give back to the FOSS community.<p>If someone finds it useful and want to collaborate with the project they can tip me on ko-fi.</p>
]]></description><pubDate>Sat, 02 May 2026 13:20:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986182</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47986182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986182</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>You can self host the app yourself or use the free hosted one I provide</p>
]]></description><pubDate>Sat, 02 May 2026 13:02:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986053</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47986053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986053</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>Thanks for the feedback, I figured it out, I guess I forgot about the trolls...<p>Rolling out now...</p>
]]></description><pubDate>Sat, 02 May 2026 12:59:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986035</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47986035</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986035</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>I have tested many times, I have asked other people too...
I cannot replicate what you are experiencing, sorry.</p>
]]></description><pubDate>Sat, 02 May 2026 12:27:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985825</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47985825</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985825</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>Thanks for the feedback! Appreciated!<p>----<p>I had some time to look into this, I think it is partially valid.<p>The pypi.org and pythonhosted.org calls happen only at docker build time when dependencies are installed, the running container makes no calls there.<p>The ko-fi badge image (storage.ko-fi.com) is a real runtime outbound request though, every page load fetches it from their CDN.<p>That's fair criticism and it has an easy fix which is to self-host the image, which I'll do like I do with the rest of things, like fonts.<p>Thanks again!</p>
]]></description><pubDate>Sat, 02 May 2026 12:26:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985815</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47985815</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985815</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>What about the classic heart-shaped bright red "piruleta" from the "fiesta" brand?</p>
]]></description><pubDate>Sat, 02 May 2026 11:53:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985603</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47985603</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985603</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>To be honest, my non-negotiable was that it needed to have some orange, but that doesn't work very good with a calm, minimalist app, so it remained as the accent color.<p>The rest wasn't my choice, we just did a few tests and my gf chose the palette you see today.<p>Having said that, you got a point and I didn't even realize it until you mentioned it.</p>
]]></description><pubDate>Sat, 02 May 2026 11:47:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985562</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47985562</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985562</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>The funny thing is that I am Spanish, and I tricked myself because we discussed between "piruletas" and "piruetas", and I had the message prepared before the name change, my bad.</p>
]]></description><pubDate>Sat, 02 May 2026 11:39:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985517</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47985517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985517</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>I just tried it demo/piruetas and it works, can you double check?</p>
]]></description><pubDate>Sat, 02 May 2026 11:38:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985506</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47985506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985506</guid></item><item><title><![CDATA[New comment by patillacode in "Show HN: Piruetas – A self-hosted diary app I built for my girlfriend"]]></title><description><![CDATA[
<p>The funny thing is that I am Spanish, and I tricked myself because we discussed between "piruletas" and "piruetas", and I had the message prepared before the name change, my bad.</p>
]]></description><pubDate>Sat, 02 May 2026 11:37:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985499</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47985499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985499</guid></item><item><title><![CDATA[Show HN: Piruetas – A self-hosted diary app I built for my girlfriend]]></title><description><![CDATA[
<p>I searched for a simple, self-hosted journal app for my girlfriend and everything I found was either too
complex, too feature-heavy, too feature-less for what I needed or required trusting a cloud service.<p>So I built Piruetas (it means pirouettes in Spanish - she chose the name btw).<p>It's a day-per-page diary with rich text editing, drag-and-drop image uploads, auto-save, public
share links, and a clean mobile UI. 
It can be set up for Personal or Multi-user usage via docker compose deployment.<p>She seems to like it so I decided to give back to the community and make it available for everyone (after some QA)<p>Live demo: <a href="https://piruet.app" rel="nofollow">https://piruet.app</a> (login: demo / piruetas — data resets every 30 min!)
GitHub: <a href="https://github.com/patillacode/piruetas" rel="nofollow">https://github.com/patillacode/piruetas</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47985210">https://news.ycombinator.com/item?id=47985210</a></p>
<p>Points: 65</p>
<p># Comments: 48</p>
]]></description><pubDate>Sat, 02 May 2026 10:42:55 +0000</pubDate><link>https://piruet.app</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=47985210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985210</guid></item><item><title><![CDATA[New comment by patillacode in "Python Project Creator Script –> PPCS –> PythonPieCeS –> Ppieces"]]></title><description><![CDATA[
<p>I tend to always have a python project or two on the go, usually for my own benefit, little scripts to make my day to day easier/faster/automated or just learning new things or experimenting with ideas.<p>Because of that I found myself repeating the same steps over and over again when setting up new Python projects. Same song & dance.<p>I wanted a way to automate the setup for new projects, so I created ppieces.</p>
]]></description><pubDate>Mon, 19 Feb 2024 15:46:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=39431007</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=39431007</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39431007</guid></item><item><title><![CDATA[Python Project Creator Script –> PPCS –> PythonPieCeS –> Ppieces]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/patillacode/ppieces">https://github.com/patillacode/ppieces</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39431006">https://news.ycombinator.com/item?id=39431006</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 19 Feb 2024 15:46:15 +0000</pubDate><link>https://github.com/patillacode/ppieces</link><dc:creator>patillacode</dc:creator><comments>https://news.ycombinator.com/item?id=39431006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39431006</guid></item></channel></rss>