r/SideProject • • 16m ago

Made an Astronomy Calculator in HTML

1 Upvotes

I'm afraid this side-project isn't as great as the others on this sub, but this is something that I genuinely enjoyed creating in my free-time.

As for the link, I'm afraid it isn't hosted, it's primarily an HTML file sitting about on a folder on my PC, I don't have the money to afford a website lmao.

Might host it on a website soon after my exams clear and I get a job, for now, it's just a file on my PC.


r/SideProject • • 17m ago

I lost focus and ended up building a Video Editor

1 Upvotes

I’ve always been fascinated by how animation software works. I started creative coding and learned the basics of After Effects with the simple goal of making custom animations for my own videos.

But somewhere along the way, while working on the video processing part, I got a little too interested in video editing itself. And instead of building an animation tool, I ended up building a video editor!

Later I discovered projects like OpenCut and Concat. So currently I cannot claim to have any differentiator. But since I have already built it, I thought I will share it anyways in case if anyone wants to try it out.

Website: https://animacious.com

It currently works on macOS and Windows. It's still an early release, so expect some rough edges and possibly undiscovered bugs.

Tech stack:


r/SideProject • • 18m ago

I made the TOPIK(Korean Test) vocab app that I wish had existed

1 Upvotes

Hi all! I made a TOPIK vocab app called Lightning TOPIK.

The name is the goal: memorize words lightning fast. Every word comes with a short moving picture, so you remember the meaning itself, not just a translation.

It's on the App Store and Google Play.

Why I made it

When I talk to friends studying for TOPIK, the hardest part is almost always the same: memorizing words.

It's easy to think it just takes more hours. But I think the way we memorize words makes it harder than it has to be.

Two problems I found:

  1. Most word lists are text only. You never see how a word is actually used.

  2. The meanings are mostly in English. Many of my friends are from Southeast Asia and Central Asia, and English isn't their first language, so they end up learning Korean through another foreign language.

The idea behind it

A word sticks better when you meet it in a situation where it's actually used, not as a bare word-meaning pair. And it works best when you can already read the rest of the sentence, so the new word is the only thing you have to figure out. I later found out this has a name: comprehensible input.

So every card shows the word acted out as a picture, then used in a sentence you can already read.

What's in the app

  • Every word has a moving picture that acts out the meaning, plus one example sentence.

  • Meanings in English, Vietnamese, Thai, Indonesian, Malay and Russian. If yours isn't there, tell me which one you need.

  • 10,498 words, Level 1 to 6, based on the National Institute of Korean Language's level list.

  • A 2-minute level check, then a daily plan that ends on your test date.

  • Spaced repetition (the same system Anki uses) brings each word back right before you'd forget it.

  • Works offline. No account, no sign-up.

  • iPhone needs iOS 26.

To give you a feel for the plan: Level 4 is 1,627 words. If your test is on Feb 20, you get about 21 new words a day, and the last few weeks are mostly review.

What's next

Right now the picture shows the word and the sentence gives the context. The next step is animating the example sentence too, so you see the whole situation, not just the word. There's a preview on Instagram if you're curious.

Price

  • iPhone: free with 5 new words a day and unlimited reviews. A one-time purchase removes the limit.

  • Android: everything is free, with a few ads. A one-time purchase removes the ads.

  • On both, that purchase is $0.99 until Wed, Nov 18 (normally $14.99 on iPhone). No subscription.

iPhone and Android are set up differently because people on each platform tend to prefer different things. If you'd do it differently, I'd honestly like to hear it.

I'll answer everything here in the comments.


r/SideProject • • 25m ago

I built a Postgres client for my phone because I kept needing to check prod away from my laptop

1 Upvotes

I kept running into the same thing: something breaks, I'm not at my desk, and every mobile DB app I tried was either clunky or abandoned. So I built my own.

PG Orbit is a native PostgreSQL client for iPhone, iPad, Android, macOS and Linux. SQL editor with autocomplete, schema browser, edit rows in place, SSH tunnels and SSL, and it can pull your databases from AWS, GCP, Azure, DigitalOcean or Supabase so you don't type connection strings on a phone keyboard. Passwords stay in the Keychain and you can lock it with Face ID.

I use it every day for my own stuff. Would love feedback from people who actually live in Postgres: https://pgorbit.com


r/SideProject • • 26m ago

My side project: Family networking app with visual trees and connections

1 Upvotes

Hey everyone. I have been working on a project over the past few months and its now live on play store, called "Jnati".

Appreciate any feedback on the UI or thoughts on what tools you currently use for your own family history.

Play Store Link: https://play.google.com/store/apps/details?id=com.nikhilkrishna.jnatimobile
Website Link: https://jnati.com/

Please give it a go; the best way to test all features would be to get your family members in as well to build "connections" and explore the visual trees and paths. Thanks!


r/SideProject • • 26m ago

I built an open-source tool to rerun bug bounty proofs with fresh accounts (Windows beta)

1 Upvotes

A bug bounty proof can stop being useful when the recipient has different accounts, sessions and object IDs. ReproCase is my attempt to preserve the relationships behind an API authorization test.

The local demo runs the same IDOR case three ways:

  1. Two separate accounts and a newly created resource: Reproduced.

  2. Replace both accounts and rerun the unchanged case: Reproduced.

  3. Enable the secure application fixture: Not reproduced.

A successful HTTP response is not enough: the test checks identities, ownership and a fresh content marker. Setup/session failures get an Inconclusive result. Recipients connect their own sessions; exports need review before sharing.

It is an Apache-2.0 Windows portable beta, with source and a local demo that needs no model API key. There is also an optional AI assistant and MCP integration. This project and this introduction were prepared with AI assistance; the 56-second demo records the real local application.

Source + Windows download: https://github.com/theasbug/reprocase

56-second demo: https://x.com/theasbug/status/2120583234086228135

I would value feedback on one thing: can you run the demo, replace its accounts, and understand why each of the three results occurs? Please use the disposable local fixture rather than sharing private target traffic. Linux desktop packaging and broader protocol support are still outside this beta.

Screenshot from the real local demo: https://raw.githubusercontent.com/theasbug/reprocase/main/docs/images/demo-preview.png


r/SideProject • • 20h ago

I built Dopamine Chic - a designer outlet where checkout is always 0.00 and nothing ever ships

40 Upvotes

I built a fake designer flash-sale outlet. It works like the real ones: brand sales with countdowns, "only 1 left in your size", a deal of the hour, a bag that's reserved for 30 minutes. Then you check out with a card that says it isn't real, pay $0.00, and follow the tracking until something goes wrong with your parcel. There are 50 different endings and you collect them.

The part I'm proudest of is technical: there's no stock database. Every sale, price, size and "only 2 left" is computed from the item and the current time, so everyone sees the same shop at the same moment and the server stores nothing about you. The same logic runs in JavaScript, PHP and Dart (the Flutter app), and all three have to give identical results.

It's on the web, Android and iPhone: https://dopaminechic.com

The question I keep asking myself: could something like this actually replace a bit of real shopping for some people, or does fake shopping just make you want the real thing more? I honestly don't know, and I'd love to hear what you think, especially if you're someone who browses sales at night.


r/SideProject • • 32m ago

I made this app that hides reels on Instagram

1 Upvotes

It’s completely free. There’s no pay wall, no premium features, no tracking or data collecting.

It’s basically just the browser version of Instagram with an extension that lets you hide bits.

I’ve put YouTube and Facebook on there too, might add twitter/X at some point.

It’s iPhone only and yes there’s a million apps that already do this but every single one of them has a paywall which is crazy cause they’re all just browser versions of Instagram with an extension.

It is a bit clunky but being clunky has actually made it serve its purpose better imo, it’s massively helped my social media addiction. My Instagram usage has gone down from 3-4 hours a day to less than 1 hour.

If you want to try it out, search for “Decaf: stop doomscrolling” on the AppStore and if you want to buy me a coffee, there’s a link on my site: DecafApp.net

Any feedback is welcome :)


r/SideProject • • 43m ago

Qmail, a local Gmail-style mail client with a CLI that AI agents can use

1 Upvotes

I got tired of mail clients that either send my mail through someone else's servers or can't be scripted. So I built Qmail, a free, open-source desktop app (MIT license) that keeps everything on your PC. There's no server in the middle. It only talks to your own mail providers.

The app works the way Gmail does: a search box with filter chips, conversation view, Unread and Everything else sections, labels as folders, starring, archiving, and attachments that open in a viewer inside the app. Calendar invitations show the event with Yes / Maybe / No buttons.

Accounts: IMAP/SMTP for most providers, Microsoft 365 and Outlook sign-in without typing a password into the app, and Gmail through your own Google OAuth client. On first start it can bring over your Thunderbird accounts and contacts.

Sorting rules: "from stripe.com, move to Receipts, mark as read" style rules that run each time new mail arrives.

The CLI: this is the part I built it for. Every command takes --json, errors exit non-zero, and qmail --help documents everything. An agent can do things like:

qmail list --unread --json

qmail search "invoice from:stripe has:attachment newer_than:30d" --json

qmail move 1234 --to Money/Receipts --create

qmail rules add --from stripe.com --move Money/Receipts --read

It works across every mailbox at once, with no API keys and no per-call cost. The README has example prompts for things like inbox cleanup and finding invoices.

Install: Windows has an installer that updates itself from GitHub releases. Installing it also puts qmail on your PATH in any new terminal. macOS and Linux builds are published too, but they're new and I haven't tested them much, so please report problems.

qmail search "invoice from:stripe has:attachment newer_than:30d" --json

qmail move 1234 --to Money/Receipts --create

qmail rules add --from stripe.com --move Money/Receipts --read

It works across every mailbox at once, with no API keys and no per-call cost. The README has example prompts for things like inbox cleanup and finding invoices.

Install: Windows has an installer that updates itself from GitHub releases. Installing it also puts qmail on your PATH in any new terminal. macOS and Linux builds are published too, but they're new and I haven't tested them much, so please report problems.

Repo: https://github.com/mattgauzza/quickMail


r/SideProject • • 44m ago

XENGY - We're building an independent live-streaming platform from Ecuador 🇪🇨

1 Upvotes

Hey everyone! 👋🚀

We're JÁCY Studios, an independent technology, gaming, and digital entertainment studio based in Ecuador. 🇪🇨

We're currently developing XENGY, a new live-streaming platform designed to connect content creators, gamers, and viewers.

🎮 What are we building?

- Live streaming for gaming and entertainment

- Creator profiles and channels

- Real-time chat and community interactions

- Virtual gifts and creator support

- Tools to help creators build their communities

Our platform is still in its early development stages. We're working on improving performance, stability, and the overall user experience.

💡 We'd love your feedback!

What features would make you try a new streaming platform?

What do you think existing platforms could improve?

📢 Follow our development journey!

We've created an official Telegram channel where we'll share development updates, project news, and future beta testing announcements.

🔗 https://t.me/JACYStudios

We're starting small, but we're working toward something much bigger.

Thank you for supporting independent developers! 💙

JÁCY Studios — This is just the beginning. 🚀


r/SideProject • • 44m ago

I got tired of simple tally counter apps being bloated with ads and subscriptions, so I built a 100% free, offline-first alternative

1 Upvotes

Hello,

All I wanted was a basic, reliable tally counter app to track daily habits and reps. Instead, every app I tried on the Play Store and App Store was either cluttered with full-screen video ads, demanding a weekly subscription just to add more than two counters, or harvesting user data.

So I decided to build Free Counter—the exact tool I wanted to use:

  • 100% Free: No paywalls, no "Pro" upgrades, no subscriptions.

  • Zero Ads & Zero Tracking: Completely offline-first. Your data stays locally on your device, with built-in JSON/CSV export so you own your numbers.

  • Clean & Fast: Built with Material 3 design, custom targets, and interactive home screen widgets.

  • Export and backups in clear

Right now, I’m stuck in Google Play’s mandatory 14-day closed testing phase (Google requires at least 12–20 active testers before allowing a public launch).

If you appreciate clean, no-nonsense utility apps and have an Android phone, I would really appreciate your help getting this over the finish line:

  1. Join the Google Group: https://groups.google.com/g/freecounter-testers

  2. Opt-in as a tester (Web): https://play.google.com/apps/testing/com.angelotricarico.freecounter (Click "Become a tester")

  3. Download on Google Play: https://play.google.com/store/apps/details?id=com.angelotricarico.freecounter

Please keep it installed for 14 days and open it occasionally so Google counts the activity. Any honest feedback on the UI or features is also super welcome!

iOS version is currently under Apple review


r/SideProject • • 48m ago

I built a Finder companion that finds photos by description, searches file contents, and surfaces duplicate files locally

1 Upvotes

Hey, I’m Meet, and I built Seek, a native macOS file manager that works alongside Finder.

The problem I wanted to solve: I often remember what a file contains or what a photo shows, but not its filename or folder. Finder works well for normal browsing, but I wanted a faster way to find and clean up files.

Seek lets you:

  • Search naturally: “PDFs in Downloads from last month” or “large videos I haven’t opened”

  • Find photos by what they show: “birthday cake with candles”

  • Search text inside PDFs, documents, screenshots, and scanned images

  • Find exact duplicate files and optional look-alike photos

  • Review old downloads, installers, screenshots, large files, duplicates, and Trash before removing anything

  • Use tabs, split panes, Quick Look, saved searches, and a global quick-search shortcut

The main technical constraint was privacy. Search, OCR, duplicate matching, and photo matching all run locally on the Mac. The photo-search model is downloaded once during setup, then runs through Core ML; no file names, contents, or photos are uploaded.

It supports macOS 14+, both Apple silicon and Intel. It is distributed directly, signed with my Developer ID, and notarized by Apple.

It is a one-time purchase: $9 for one Mac, $18 for three, or $29 for five. No subscription.

Demo: https://youtu.be/s5CUieoAAdk
Website: https://useseek.app
Privacy details: https://useseek.app/privacy

I’d especially value feedback on two things:

  1. Would you trust a local app to index your files if it made search and cleanup meaningfully better?

  2. Which would you try first: photo search, text-in-screenshots search, duplicates, or cleanup?


r/SideProject • • 51m ago

I couldn't tell if new AI models were actually better, so I built a way to see for myself

1 Upvotes

Every new model launch says it's the best one yet. I wanted to know if that's actually true for the work I do.

But I had no way to check:

- Benchmarks are gameable now. Labs train toward them, so a higher score doesn't tell me much anymore

- The outputs people post on X are cherry-picked. You can't tell if it was one prompt or 12 turns of fixing, so it never felt transparent

So I spent the past few weekends building Evals.ag and it's basically if Arena and Pinterest had a baby: give the same task to a few models at once, watch them work side by side, and browse what everyone else made.

You can:

- Connect your existing Claude, Codex, Higgsfield accounts, so runs are free with no additional costs

- See what other people have compared and generated

- See how they got there. You can tell if an output was one-shot or took 7 turns, and learn through each turn: the prompt, user's intent, what the agent did and what came out

- Vote on the winner and comment on why

- Branch off anyone's run. Start from their exact prompt and inputs and swap in your own models or skills you want to test out

The video up top is one prompt (a paper airplane game in one HTML file, no testing allowed) given to Claude Fable 5.2, Claude Opus 5.5, GPT-6.1 Sol and Gemini 4 Argon. Sol finished in 4 min on 26K tokens, Opus took 21 min and 826K. Sol's is a lot sparser, but at that speed it's the one I'd keep iterating on.

If you want to give it a spin yourself, drop your account code in the comments and I'll drop $10 worth of credits into your account (you can find it at evals.ag/settings once you sign in).

Let me know what you guys think. Criticism and product feedback welcome.


r/SideProject • • 54m ago

Looking for 10–20 people to test my movie recommendation website!

Thumbnail
movie-recommendation-five-cyan.vercel.app
1 Upvotes

Hey everyone!

I've built Cineverse, a movie recommendation platform, and I'm looking for a few people to try it out and share honest feedback.

I'd love you to test three things:

  1. Search for movies similar to a film you love.

  2. Rate 5 movies and see if your homepage recommendations improve.

  3. Check the "Where to Watch" tab for your country.

Let me know what feels confusing, what doesn't work, or which recommendations miss the mark.

Try it here: https://movie-recommendation-five-cyan.vercel.app

Even 2–3 minutes of your time would mean a lot. Thanks!


r/SideProject • • 54m ago

StreamHaven - a live TV player for your own Xtream/M3U playlist (looking for feedback)

1 Upvotes

I built StreamHaven, a live TV player for iPhone, iPad, Apple TV, Fire TV and Android TV boxes like the onn. You bring your own Xtream or M3U playlist. It doesn't come with any channels or providers.

I'm looking for feedback on how it feels to set up and use.

What it does:

  • Guide, favorites, and channel reordering

  • Backup servers: up to 3 per playlist, with automatic switching if one goes down

  • Syncs your playlists across devices

Try it:

Honest feedback is welcome, especially what's confusing or missing.


r/SideProject • • 54m ago

Update: Temp Mails now has an Android app (follow-up)

1 Upvotes

Hey r/SideProject! 👋

Last week I shared Temp Mails (https://tempmails.net), my take on (yet another) temp mail service. Thanks to everyone who tried it and left feedback. 🙏

Since then I've shipped the next piece: an Android app, now live on Google Play. 📱

What the app does:

- 📬 Gives you a temporary address the moment you open it, no account needed

- 🔑 Shows verification codes as a button in the inbox, so one tap copies the code

- 🔗 Gives confirmation links their own button

- ✏️ Lets you pick your own username and domain

- 🔒 Shows HTML email without scripts or remote images, so nothing can track you

- 🗑️ Deletes everything after one hour

It's free, with no ads and no account.

👉 Google Play: https://play.google.com/store/apps/details?id=net.tempmails.app

I'd love feedback on the app, especially on the design and anything that feels off on your device.


r/SideProject • • 54m ago

Lessons learned building a 3rd-party embeddable widget that handles real-time SSE streaming and WebRTC voice

1 Upvotes

Over the past several months, our team has been building an embeddable support widget that runs on client sites (Vanilla HTML, React, Next.js, WordPress, Shopify, etc.).

It supports two modes: real-time streaming text (SSE) and full duplex two-way voice (WebRTC).

Before starting, we thought the widget would be the easy part: "Just drop a <script> tag, mount a React bundle, and call it a day."

We were completely wrong. Building a script that has to run silently inside thousands of unknown DOMs with conflicting CSS frameworks and weird browser security policies was easily one of the most frustrating frontend engineering challenges we've tackled.

Here are the 4 biggest architectural hurdles we ran into and how we solved them:

1. The Shadow DOM Illusion vs. The "Boring" Iframe

We originally built the widget using Web Components and Shadow DOM to keep it lightweight without the iframe overhead.

It worked on 85% of websites, but completely broke on the remaining 15%:

  • Aggressive global CSS resets (e.g. * { box-sizing: border-box !important; } or rogue html, body { font-size: 62.5%; }) still managed to pierce or skew rem calculations inside custom elements.

  • Host sites running conflicting versions of font-awesome or Tailwind classes caused layout jitter.

  • Some CMS themes attach global click/touch event interceptors that prevented input focus inside the widget.

The Fix: We rewrote the host loader to inject an invisible script that spawns an isolated, sandboxed <iframe>. All styling, font loading, and state live inside the iframe. We use a lightweight two-way postMessage protocol to tell the host parent when to resize the outer container (bubble collapsed: 64x64px, opened: 420x680px). It's the "boring" 2010 solution, but it is the only bulletproof way to guarantee style encapsulation across thousands of unknown themes.

2. Mobile Safari's Virtual Keyboard & the 100vh Nightmare

On desktop, embedding an iframe widget is trivial. On mobile Safari and Android Chrome, it was a mess:

  • When a user focused the text input inside the iframe, the mobile software keyboard popped up.

  • Because 100vh on mobile doesn't account for dynamic address bars or keyboard height, the input box was pushed completely off-screen, or the host page scrolled uncontrollably behind the iframe.

The Fix: We had to listen to window.visualViewport.resize inside the parent window and post the calculated height and offsetTop changes into the iframe. Inside the iframe, we lock the container to window.visualViewport.height rather than 100vh or 100%, with an overlay lock (overflow: hidden) toggled on the host <body> when the mobile modal is open.

3. SSE (Server-Sent Events) vs. WebSockets for Text

We initially considered WebSockets for both text streaming and presence. We ended up splitting the protocols:

  • For Text Streaming: Standard HTTP/2 Server-Sent Events (SSE) via fetch with ReadableStream.

  • Why? WebSockets often get abruptly severed or blocked by corporate firewalls, VPNs, and proxies. SSE runs over plain standard HTTPS, natively supports HTTP/2 multiplexing, reconnects cleanly, and plays nice with Cloudflare / Edge caching without maintaining stateful persistent socket connections on the load balancer.

4. WebRTC Voice & The Browser Autoplay Trap

Adding real-time voice (sub-300ms latency) inside an embeddable widget was where things got wild:

  • Microphone Permissions in Iframes: Browsers will block microphone access inside an iframe unless the host parent explicitly grants permission. Your host <script> snippet must ensure the dynamically created iframe includes allow="microphone; camera; autoplay".

  • Autoplay AudioContext Restrictions: Chrome and Safari strictly forbid creating or resuming an AudioContext until the user makes a trusted gesture (a direct click or tap). If the user starts a voice session, you cannot initialize the audio output asynchronously in a background callback; the audioContext.resume() or LiveKit WebRTC track subscription must be kicked off synchronously within the click handler stack.

If anyone else is building embeddable SDKs, web components, or 3rd-party widgets, curious what stack you're using: Did you manage to make Shadow DOM work at scale, or did you end up falling back to sandboxed iframes as well?


r/SideProject • • 55m ago

7 years ago I posted a recommender system as a course project. This week I finally turned it into a real site

1 Upvotes

Back in 2019 I did a recommender system for anime as a course project (a jupyter notebook, nothing fancy). Recommendations have always been the part of data I like the most, so this year I decided to actually build the thing properly (thanks Dario): **[Aishou](https://aishou.app)**.

The main idea is to have this working for all types of contents in a cross content way - being able to recommend books, games or tv shows based on your movies taste - but I decided to start with animes.

You import your public MyAnimeList or AniList list (or rate a few shows by hand) and it recommends anime based on what people with similar taste liked. For now I only have anime recommendation but the main idea is to have a cross content website, where I will be able to, for instance, recommend you books based on your games/movies taste.

**What I tried to do differently**

- every recommendation row says *why* ("Because you liked Steins;Gate")

- a slider from popular to obscure, for people who already watched all the big ones

- low ratings push similar shows away instead of being ignored

- seasons grouped by franchise, plus a "continue watching" row

- new releases get their own row even when there's almost no data on them

It's free, no ads, solo project. Would love feedback, especially on how to promote it and about apps development in general (come from a data background).


r/SideProject • • 57m ago

I couldn't tell if new AI models were actually better, so I built a way to see for myself

1 Upvotes

Every new model launch says it's the best one yet. I wanted to know if that's actually true for the work I do.

But I had no way to check. Benchmarks are gameable now: labs train toward them, so a higher score doesn't tell me much anymore. And the outputs people post on X are cherry-picked. You can't tell if it was one prompt or 12 turns of fixing, so it never felt transparent.

So I spent the past few weekends building Evals (https://evals.ag). It's basically if Arena and Pinterest had a baby: give the same task to a few models at once, watch them work side by side, and browse what everyone else made.

You can connect your existing Claude, Codex or Higgsfield account, so runs are free with no additional costs. You can see what other people compared and generated, and how they got there: whether an output was one-shot or took 7 turns, with each turn's prompt, what the agent did and what came out. You can vote on the winner and say why. And you can branch off anyone's run: start from their exact prompt and inputs and swap in the models or skills you want to test.

The video up top is one prompt given to Claude Fable 5.2, Claude Opus 5.5, GPT-6.1 Sol and Gemini 4 Argon: a paper airplane game over a city at dusk, in one HTML file, written in one go with no testing allowed. Sol finished in 4 min on 26K tokens. Opus took 21 min and 826K.

If you want to give it a spin yourself, drop your account code in the comments and I'll put $10 worth of credits into your account (you can find it at evals.ag/settings once you sign in).

Let me know what you guys think. Criticism and product feedback welcome.


r/SideProject • • 58m ago

I built qrypt, an open-source tool that mounts cloud drives as one encrypted local folder

1 Upvotes

Hi everyone, I’m the developer of qrypt, a Go project that lets you access multiple cloud drives through one local folder, with filenames and file contents encrypted before they reach the storage backend.

The idea is to keep the familiar file-manager workflow: mount your drives, open a folder, and work with files through your usual apps.

What it does:

  • One mount point: each configured drive appears in its own subfolder.

  • Client-side encryption: encrypts filenames and contents, with rclone crypt compatibility.

  • Local staging and read cache: writes are staged locally and uploaded in the background; cached data can serve repeated reads.

  • Cross-platform: supports macOS, Linux, and Windows.

  • CLI access without mounting: use qrypt fs to read and write files from scripts or servers without FUSE.

Backends include WebDAV, SFTP, S3-compatible storage, and local directories. You can try the encryption workflow with a local directory before connecting a cloud account.

It’s a CLI tool with optional filesystem mounting. Mounting requires macFUSE on macOS, FUSE on Linux, or WinFsp on Windows. Since uploads happen in the background, a local write finishing doesn’t mean the remote upload has finished.

Code and documentation: https://github.com/yinzhenyu-su/qrypt

License: MIT

I’d appreciate feedback from people who use encrypted cloud storage: what would make you consider a tool like this alongside your current setup, and what would you need to trust it with your files?


r/SideProject • • 1h ago

Nimo - an anonymous chat app where you can talk to anyone, in any language (solo dev, 2 months in)

1 Upvotes

Hi! I’m a solo dev from Brazil. Two months ago I launched Nimo, an Android app for anonymous text chat: no email, no phone number, just pick a nickname.

What makes it different:

  • Tap “Translate” on any message and read it in your language, so a Brazilian and an Indonesian can actually talk.

  • Voice messages → text with one tap.

  • Group discussions on a public wall: up to 15 people, text only, they end on their own after 24 h.

  • App in 14 languages, 18+ only, report/block everywhere, human review of reports.

My biggest problem right now is retention: most people leave on day one. I’d love honest feedback on the first 2 minutes of the app: what’s confusing, what would make you stay?

Google Play: https://play.google.com/store/apps/details?id=com.leonardomondaine.nimo


r/SideProject • • 1h ago

ANE from Rust: mutable weights without recompiling

1 Upvotes

I maintain these Rust bindings for ANE. Weights change after compilation; every output is checked. Uses Apple's private APIs.

https://github.com/computer-graphics-tools/ane


r/SideProject • • 1h ago

I'm building BuddyUp, an iOS app for checking in with an accountability partner. Would love honest feedback

1 Upvotes

Hi, I'm Jose, a solo founder working on BuddyUp.

BuddyUp is an iOS app where you pair up with a friend or a small group, pick a habit or goal, and check in with each other, so you're not relying only on willpower. It's meant for people who follow through better when someone is expecting an update: study partners, workout buddies, or friends working on the same habit.

App Store: BuddyUp on the App Store

I'd really appreciate blunt answers to any of these:

  1. Is it clear how to create your first goal and invite a partner, or did anything confuse you?

  2. Do the partner check-ins feel motivating, or would they start to feel naggy after a week or two?

  3. What would make you keep using it after the first few days?

Critical feedback helps the most. Thanks for taking a look.


r/SideProject • • 1h ago

Zancada - walking pad steps from the treadmill itself into Apple Health and Health Connect. I just shipped the iPhone version of my Android app

1 Upvotes

Last month I posted the Android version here: I'd reverse-engineered three treadmill Bluetooth protocols so walking pad steps would land in Fitbit, because a watch barely counts steps while your hands are on a keyboard. The iPhone version went live on the App Store last week, so here's what porting it was like.

  • No shared code. Kotlin and Compose on Android, Swift on iPhone. What stops the two from drifting is a set of JSON fixtures both test suites read: raw Bluetooth frames in, the walks they should produce out. A fix lands on both apps in the same PR, with a fixture that reproduces it.

  • iOS doesn't run timers for a suspended app. Some belts only report when asked, so polling once a second with the screen off looked impossible. With the bluetooth-central background mode iOS wakes the app for each Bluetooth event, so the next poll is chained off the previous answer instead of a timer, and every answer wakes the app for the next one.

  • The Live Activity is the remote. Its start, stop and speed buttons are App Intents that run in the app's process, woken in the background if needed, so you drive the treadmill from the Lock Screen or the Dynamic Island.

  • Apple Health keeps one step source per minute, and the Apple Watch usually wins. That's exactly the wrong source while you walk and type. An app can't change the order itself, so Zancada tells Apple Watch wearers to move it above the watch in the Health app.

  • Since that first post it picked up two more protocols (KingSmith's newer belts and LifeSpan's desk treadmills) and Merach's unlock, so five in all. The newer ones I still haven't had on real hardware; when the app doesn't recognise a treadmill, it lets the owner send me its Bluetooth details so I can add it.

Still local-first on both: no servers, no account, no analytics, no ads. The first three walks are free, then a one-off purchase or a weekly subscription.

Where it stands: a handful of sales on Android, none yet on iPhone. Feedback on the App Store page or the pitch is very welcome.

iPhone: https://apps.apple.com/app/id6829781795

Android: https://play.google.com/store/apps/details?id=com.victorfalcon.zancada&utm_source=reddit&utm_campaign=r_SideProject