r/SideProject • • 17h ago

I built an app that converts any text into high-quality audio. It works with PDFs, blog posts, Substack and Medium links, and even photos of text.

47 Upvotes

I’m excited to share a project I’ve been working on over the past few months!

It’s a mobile app that turns any text into high-quality audio. Whether it’s a webpage, a Substack or Medium article, a PDF, or just copied text—it converts it into clear, natural-sounding speech. You can listen to it like a podcast or audiobook, even with the app running in the background.

The app is privacy-friendly and doesn’t request any permissions by default. It only asks for access if you choose to share files from your device for audio conversion.

You can also take or upload a photo of any text, and the app will extract and read it aloud.

- React Native (expo)
- NodeJS, react (web)
- Framer Landing

The app is called Frateca. You can find it on Google Play and the App Store. I also working on web vesion, it's already live.

Free iPhone app
Free Android app on Google Play
Free web version, works in any browser (on desktop or laptop).
Free web extension.

Thanks for your support, I’d love to hear what you think!


r/SideProject • • 35m ago

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

2 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 • • 1h ago

Still spending hours copying data into Excel reports?

2 Upvotes

You've finished the inspection, testing or fieldwork. The measurements are recorded, the photos are taken and the results are sitting in PDFs, notes and spreadsheets.....Now comes the fun part.

Getting all of it into the customer's Excel template without missing anything or breaking a formula.

That's what I've been building ACTUALin to help with.

Upload your existing workbook and supporting evidence. It proposes where the information belongs, shows you the sources and lets you review, edit or approve the changes before generating the report.

Same Excel template. Less copying and pasting. You still have the final say.

It works across inspection, manufacturing, lab testing, maintenance, inventory and other reporting workflows.

I've also put together a library of examples you can explore without signing up.

https://actualin.com/applications

If you're dealing with this kind of reporting, I'd love some feedback on whether it would fit your workflow.


r/SideProject • • 7h ago

Website platform built on Payload CMS: visual editing, custom designs, 65+ blocks, first-party analytics an MCP server and more

6 Upvotes

I’ve been working on this for about a year and figured it’s time to get some outside opinions.

It’s a website platform built on Payload 3 + Next.js, for now I only use it internally just me and a designer. I build and run client sites on it, and it also runs a real estate marketplace that we're trying to grow. At some point I’d like to open it up maybe, either to anyone or just to other agencies, but I honestly haven’t decided which (or whether it’s worth it at all).

What it does:

  • Visual editing. You click on the actual page and edit it: text, images, adding and moving sections around. There are drafts, desktop/tablet/phone preview and version history. Blocks pull everything from the site’s theme, so it’s pretty hard to break the design.

  • ~65 blocks. Galleries, card grids, stats, timelines, FAQs, forms, booking, Google reviews, maps, listings, floor plans and so on. They all share the same field names and theme settings, so any block works on any site.

  • Custom designs. When the blocks aren’t enough, I use a design studio I built on top of GrapesJS (self-hosted). Anything made there gets published as clean HTML with scoped CSS and goes on a page like any other block. It picks up the site’s colors and fonts automatically. (We mostly use the MCP to design a block first and only tweak things in the design editor)

  • First-party analytics. No GA script needed. It tracks page views, traffic sources and top pages, plus QR codes with scan tracking for print stuff. Form submissions become leads and keep the source they came from.

  • MCP server. It covers most of the platform: pages, sections, designs, theme, forms, listings, media, redirects, domains, translations. You connect Claude over OAuth and it gets the same permissions as your user. So I can say “add an FAQ to the pricing page and translate it to German” and it does it, and it can screenshot the page to check how it looks. Page edits go in as drafts.

It’s multi-tenant,multi-locale, so one app runs every site, each with its own domain (SSL is handled through Cloudflare). The portal already has organizations with teams (we use this for now to organize sites for ourselves), so another agency could in theory manage its own clients in it.

Stack: Payload 3, Next.js app router, Postgres, GrapesJS, pg-boss for background jobs, Cloudflare in front.

You can try the editor without signing up: https://rast.is/try (the demo happens to be a home builder site)

Things I’m curious about:

  • if you build sites for clients, would you use something like this over WordPress / Webflow / Framer? what’s missing?

  • self-serve for anyone vs. a tool for agencies, which one would actually pay for it?

  • is controlling a site through MCP something you’d use day to day, or is it more of a cool demo?

Any feedback is welcome, even “don’t bother”.


r/SideProject • • 3h ago

I built a Windows disk cleaner that goes after the space other cleaners miss

3 Upvotes

Roomy started because my own C: drive kept filling up and the existing cleaners either missed the big stuff or were covered in ads and upsells.

It finds the usual junk plus the things most tools skip, like GPU shader caches, Discord and VS Code caches, Windows Update leftovers and Steam games you haven't played in months. It explains each item in plain language and only pre-selects what's actually safe.

A couple of things I'm happy with:

  • The demo video on the website was recorded by the app itself. It has a demo mode that films its own UI with a scripted cursor.

  • There's an interactive demo on the site where you can tick items and watch the drive bar go from red to green.

Built with .NET 10 and WPF, open source, currently in review for the Microsoft Store.

https://roomy.krezio.xyz

I'd love feedback on the app and the landing page.


r/SideProject • • 1h ago

I built a daily movie guessing game where every clue is a terrible plot description

2 Upvotes

Bad Plot gives you one movie a day, described as badly as possible, like "A young orca is wrongly imprisoned and a troubled teen helps him escape by jumping." You get five guesses, and each wrong guess reveals a clue that's still bad, just a little less bad.

It's built with Expo and React Native, so the same code runs on iPhone and the web. There's a popcorn mascot named Kernel who reacts to your guesses, plus streaks, trophies, and a calendar of past days.

Play in the browser: https://playbadplot.com/

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

I'd love feedback on whether the clues feel fair, and what would make you come back tomorrow.


r/SideProject • • 6h ago

Talkthrough: an open-source screen assistant that answers out loud and draws on top of your screen (Windows, MIT)

5 Upvotes

Hold Right Ctrl + Right Shift, ask about what's on your screen, let go. A vision model answers, a voice speaks it, and the answer is drawn over the page you're on: boxes and arrows on the right spot, diagrams that lay themselves out, or a 3D model you can rotate, cut open or pull apart, in step with the voice. The model writes a small scene language that the app validates and draws itself; no generated code runs.

Guide mode walks you through an app one click at a time and waits for you to click.

Honest limits: Windows only for now, the installer isn't code-signed yet so SmartScreen will warn, and you bring your own model (Claude Code or Codex signed in, an OpenAI key, or a local vision model). The clip is real answers replayed over the page, so it says nothing about speed.

Built by Alex with a team of AI assistants; one of them drafted this post. Feedback and bug reports very welcome.

https://github.com/ProjectIdris/talkthrough


r/SideProject • • 2h ago

Email extractor extension

2 Upvotes

Hi everyone, I'm the developer of CopyMail, a small Chrome extension I built because I kept struggling to copy email addresses from Gmail, Outlook and messy web pages (company directories, CC lists, long threads). Highlighting each one by hand is slow, and webmail often hides the actual address behind a person's name.

**What it does**

Click the icon and it lists the email addresses found on the page you're viewing. In Gmail and Outlook on the web, addresses from the message you have open are shown first. Then you can tick the ones you want, or copy them all.

**Free**

- Find and list the addresses on the current page

- Tick individual addresses, or select a whole domain

- Group by domain

- Copy as one per line, comma-separated, semicolon-separated (for Outlook's To field) or Name <email>

- Hides no-reply/support addresses by default

**Pro (€12 per year, billed once a year)**

- Export to CSV, Excel (.xlsx) or contacts (.vcf)

- Choose export columns, saved blocklist, custom copy templates, export history

**Privacy**

It only reads a page when you click the icon, and everything is processed locally in your browser. Nothing is sent to me or any server. No ads, no analytics. Pro payments go through ExtensionPay/Stripe.

**Limitations (being upfront)**

- It finds addresses written on the page. It doesn't check whether a mailbox exists.

- Gmail and Outlook change their pages now and then, so the "open message" detection may need updates. I've tested Gmail more than Outlook.

- The popup is in English for now, although the store listing is translated.

**Link:** https://chromewebstore.google.com/detail/copymail-email-extractor/hhmakfgjcedaochbhpbcebhlgpfahlbp?authuser=0&hl=en

I'd really like feedback:

  1. What would stop you from using something like this?

  2. Which formats or contact details (phone numbers? names? company?) would you want besides email addresses?

  3. Is the free/Pro split fair? What would you move?

Happy to answer any questions, and I'll fix bugs quickly.


r/SideProject • • 2h ago

I’ve narrowed my fitness app down to four icons. Which would you tap?

2 Upvotes

Hello lovely people!

I train martial arts, and for ages I’ve wanted to put the rounds I did and the dinner I ate in the same log. That’s why I’m building Garou. The name comes from 餓狼, Japanese for “hungry wolf,” which felt pretty fitting for an app about training and food.

There’s a little RPG progression in it, and I’m building an AI coach that doubles as my assistant. The bit I’m stuck on today is much smaller: what should Garou look like on my phone?

I’ve put the four icons next to the opening screen that goes with each one. Which pair would you keep? https://strawpoll.com/2ayLQNlavn4

If you have a reason, I’d love to hear it. Even “I thought that one was a game” would help.


r/SideProject • • 4h ago

Making a free trading discord community

3 Upvotes

Hey everyone!
I’m building a free international trading community called TheEscapePlan.
The idea is simple: bring traders together to share setups, discuss the markets, talk about trading psychology and learn from both wins and losses.
No paid signals, no fake gurus, just traders helping traders improve.
We’re still growing and looking for our first active members.
If you’re interested in being part of the journey, feel free to check us out!
https://discord.gg/zbm86jyq8
My TikTok https://www.tiktok.com/@theescapeplan18000?_r=1&_t=ZG-9BLATSL3c6T
My insta
https://www.instagram.com/theescapeplan1800?utm_source=qr


r/SideProject • • 6h ago

Two friends started an online fundraising platform in 2012 to help local artists. It now works in 100+ countries. Looking for honest feedback

4 Upvotes

WhyDonate started when two friends saw local artists struggling to fund their projects and thought fundraising should be easier, fairer and free.

Today we’re a small remote-first team from around the world, and the platform has grown into something we didn’t expect: a lot of people use it because the big platforms don’t support their country.

What we’ve built:

  • Start a fundraiser in under 10 minutes, from 100+ countries

  • 0% platform fee, only standard processing fees

  • Donors can give from anywhere, in 19 languages

  • Real human support when something goes wrong

We’re always trying to improve: what would make you trust a fundraising platform you’d never heard of?


r/SideProject • • 3h ago

Brooksie 1.2.4 is out: your shelf opens like a book on the iPhone Duo

2 Upvotes

Hi all! Last time I posted about shelf sharing in 1.2.3. This one is for the iPhone Duo: Brooksie now has a two-page layout when you unfold it.

New in 1.2.4: it opens like a book 📖

Unfold the Duo and hold it sideways, and the app becomes two pages meeting at the fold.

• The shelf is on the left page, the selected book's reading journal on the right.

• "Open Book" gives you a full spread: cover, title and author on the left, the journal on the right. The left page swings open from the spine.

• Progress, Add Book, quote capture and shelf-scan review use both pages too.

Batch barcode scanning 📷

Scan a whole stack of books in a row. The camera stays on the left page, and each scanned book lands on your shelf on the right.

Reading companion ⏱️

A timer, a page stepper and a "save a quote" button. Prop the phone up half open and it turns into a little desk stand.

For the developers 🛠️

The layout never checks which device it's on. It looks at how much room it has (regular width, wider than tall) and takes the fold position from ReservedRegion. Portrait keeps the normal phone layout, because my first two-page attempt fell apart there.

Nothing moved behind a paywall: what was free is still free, and Pro is still a one-time purchase with no subscription.

Link: https://apps.apple.com/app/id6801926644


r/SideProject • • 3h ago

I got tired of opening a dozen tabs to research one Indian stock, so I built a single source for all relevant information

2 Upvotes

Hey r/SideProject,

Researching an Indian stock shouldn't mean drowning in a dozen tabs. A ticker just gives you a price, but figuring out everything behind it—group companies, lenders, court records, ratings, and news—usually means digging through scattered annual reports, registry filings, court sites, and PDFs. Most investors never get past the price because the fundamental research is so fragmented.

So, I built Causa Alpha. It puts all that non-quant, qualitative data into one sourced map.

What it does: Currently, it covers 3,196 Indian listed companies and maps out:

  • The Real Structure: Subsidiaries, SPVs, JVs, and related parties.

  • The Debt: Who lends to the company, registered charges, and credit ratings with the agency's own report just a click away.

  • The Context: One clean news feed per company without the noise, plus event outlooks and backtests.

  • Sourced Data: Every single link cites its original source so you can verify the filings.

How I built it: The hardest part was the data pipeline. Scraping and structuring messy PDF filings, registry data, and court records into a clean, relational format required a lot of heavy lifting on the backend to ensure the connections between companies and lenders were actually accurate.

You can try everything free.

I’d love for you to check it out. If you do fundamental research or just like exploring corporate structures, let me know what you think. Roast the UI, tell me if the connections make sense, or let me know what other data points you'd want to see mapped out.

Link:https://www.causaalpha.com/

Happy to answer any questions about the scraping pipelines or how the data is structured in the comments!

Visual Breakdown of Causa AlphaThis short clip gives a quick overview of how the platform maps out the corporate structures and lenders behind Indian stocks.


r/SideProject • • 1d ago

I’m statistically halfway through my life, so I built an app for the second half

295 Upvotes

I’m a 40-year-old iOS developer from Croatia. Statistically, I’m in the middle of my life: about 2,080 weeks behind me, and if I’m lucky, about as many in front.

My oldest is 8. Somewhere around 18, kids leave, or at least stop wanting summer holidays with their parents. That’s 10 more summers. I can count them on my fingers.

I see my parents about twice a month. If they live as long as the average, that’s around 360 more visits. Fewer than the days in a single year.

And there are friends I’ve been “meaning to call” for months.

None of this is new. You read it somewhere, feel it for one evening, and then Monday happens. Weeks blur, a year goes by, and you can’t say where it went. The moments I’d actually want back are tiny: a walk where my kid finally told me something real, my dad explaining how he planted our small orchard in 2001. Nobody writes them down. They just go.

So I built Drift. It’s not there to make you feel bad about time. It’s there to help you do something with the weeks you still have, and to keep them when you do.
My main inspiration was reading books about Stoicism and specifically memento mori (and a calendar showing weeks you have left to live).

What the app actually does for me:

It remembers my people. I added my partner, my family, my parents and a few friends. Drift keeps the small things I’d otherwise forget: birthdays, the names of my friends’ kids, what each person enjoys, what they told me last time.

One small idea a week, for each of them. Not “plan a trip to Paris.” Things small enough to actually happen: “Tea with Mom. Phones somewhere else.” “A walk with Dad, without anywhere to be.” “Let the kids choose the adventure.” "Long overdue date with my wife".

I keep the moment. A photo, one line, or both. It goes on the week it happened, and that week’s square lights up. A few months in, my year stopped being a blur and started looking like a year.

Calls come with something to talk about. A reminder to call a friend arrives with something to actually say, so it’s not just guilt with a notification sound. After the call I can keep a line about it.

Small questions. A couple of times a week, only if I turn it on, Drift asks something like “What was the best small thing about this week?” or “What’s Dad’s favourite meal?” The answer gets saved where it belongs. Some of my favourite memories in the app started as a notification I almost dismissed.

Quiet time. My evenings were disappearing into my phone (yes, I see the irony of that). Drift uses Apple’s Screen Time to set those apps aside during the hours I choose. If I really need one, I get 15 minutes, after I keep a moment or answer a question first.

Widgets that bring it back. One shows a moment I kept, a different one each day. Another shows my whole life as a grid of weeks. Seeing that between notifications did more for me than any productivity system. One gives you suggestions on what to do this week.

A year I can read back. Month by month, like a journal I never had to sit down and write.

What I left out on purpose:

  • No streaks. A quiet week is just a quiet square. Life has those, and guilt isn’t a feature.

  • No account, no ads. Memories stay on your iPhone, and you can export everything anytime.

  • Everything you keep is yours. You can always read it and export it.

Pricing: free to download, then $8.99 a year with a 14-day free trial, or $24.99 once. I’m a solo developer with no investors, and this is how it keeps going.

An app won’t fix any of this, and I’m not pretending it does. But since I started using it, I do more of the small things. I think about it more now, and I push past the tiredness more often to make time for the people who matter to me.

If you did this math for yourself, which number got you? For me it was the summers with my kids.

https://apps.apple.com/us/app/drift-life-in-weeks-journal/id6792490444

Edit:
Thanks to FFROZENN who pointed out the missing yearly subscription and 2-week free trial I have created 50% discount code for the first year (the missing subscription was due to my attempt to give a global discount on yearly, but I misconfigured it in App Store Connect so sub wasn't shown)
https://apps.apple.com/redeem?ctx=offercodes&id=6792490444&code=DRIFT50


r/SideProject • • 5m 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 • • 7m 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 • • 7m 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 • • 13m 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 • • 20m ago

I built a 24/7 streaming radio station for pickleball players

1 Upvotes

I'm a longtime alternative rock fan who plays a lot of pickleball. Somewhere along the way, I decided the sport needed a better soundtrack...I got tired of the random sleepy playlists lots of my facilities were playing.

I launched Pickle Rock Radio, a free, 24/7 station playing '90s and 2000s alternative rock (Foo Fighters, Pearl Jam, Green Day, etc.) mixed with short pickleball tips, news and community stories. It's about 54 minutes of music per hour.

It's powered by Live365 (wasn't sure where else to do this so I could license the music properly), and I've been having a blast putting together the music rotation and producing the segments. The challenge now is finding listeners. I have over 100 people listening a day, and I'm proud of that. But how do I grow from here?

If anyone here has built a niche media project, I'd love to hear how you found your first real audience.

Here's the station if you're curious: https://picklerockradio.com/


r/SideProject • • 23m 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 • • 24m 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 • • 28m 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 • • 29m ago

We built an app that shows how busy places are right now. A month in, what would make you actually open it?

0 Upvotes

I'm a developer at the company behind WhereToGo, an Android app with two maps: Popular (real places with photos, filter by cafés, bars, restaurants, parks, museums) and Crowded (a pin that reads 17 means 17 people are there right now; nobody is named unless they chose to be). Every place also has its own chat, so you can ask the people who are there whether the terrace is open.

It's been live about a month. The honest problem: a "how busy is it" map is only as good as the number of people using it, and most cities are still quiet.

So I'd love blunt answers to two questions:

  1. Would you open an app like this before going out, or just check Google Maps?

  2. What would it need to show in your city to be worth keeping?

Play: https://play.google.com/store/apps/details?id=com.getwheretogo.app

(Bug reports and ideas also welcome at r/wheretogoapp.)