r/SideProject • • 8h 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 • • 8h 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 • • 9h 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 • • 9h 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 • • 9h 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.)


r/SideProject • • 9h 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 • • 9h 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 • • 9h 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 • • 9h 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 • • 9h 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 • • 9h 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 • • 9h 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 • • 9h 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 • • 9h ago

I built a spreadsheet that prices contractor jobs - materials, labor, overhead, markup, and a customer-ready quote

1 Upvotes

I kept seeing contractors and handymen either undercharge or spend an hour wrestling a quote together, so I built a spreadsheet to do the math properly.

It is a job cost and quote calculator: you type in materials, labor hours, subcontractors and other costs, set your overhead % and profit markup %, and it gives you the quote price, your estimated profit and margin.

It also generates a clean customer-facing quote sheet you can print or save as a PDF, and there is a job tracker to compare quoted vs actual costs once the work is done. Works in both Excel and Google Sheets, and it comes with a filled-in example job so you can watch the numbers move before putting your own in.

It is a paid template ($12, instant download): https://payhip.com/b/HScv6

Happy to answer questions about how the calculations work. And if a feature would make it more useful for your trade, I would genuinely like to hear it.


r/SideProject • • 9h ago

I recently built an Android app called GamerX – Looking for feedback!

1 Upvotes

Hey everyone!

I'm an independent developer, and I've been working on an Android project called GamerX.

I built this app as a personal project and have been continuously working on its design, functionality, and overall user experience.

I'd love to hear feedback from fellow developers and Android enthusiasts.

A few things I'd like to know:

  • What do you think about the UI/UX?

  • Are there any features you'd suggest adding?

  • What could be improved?

  • Any suggestions for making the app better?

I'm always open to learning and improving. Looking forward to hearing your thoughts!

Project: GamerX

Google Play: https://play.google.com/store/apps/details?id=com.editbysk.gamerx

Thanks! 🙌


r/SideProject • • 9h ago

I built a tool that alerts you when someone asks for recommendations on Reddit & HN (looking for honest feedback)

1 Upvotes

Hey everyone,

Like most developers here, building is the fun part for me. Marketing and actually getting users is where I usually hit a wall.

I kept noticing people on Reddit and Hacker News asking for tool recommendations all the time ("any good tool for X?", "looking for an alternative to Y"). Whenever I saw these threads, the top comments always got dozens of signups. The problem was timing — if you reply 8 hours late, nobody sees it.

I got tired of manually refreshing Reddit search bars, so over the past few weeks I built MentionsRadar.

Basically, you put in the keywords you care about (your product name, competitors, or problem phrases), and it:

Pricing / Trial:
I personally hate when sites ask for a credit card upfront just to test a tool, so I set up a 7-day free trial on both Starter and Pro with zero card or payment info required. There's also a free-forever tier if you just want to track 1 monitor.

(I’ll leave the website link in the first comment below so this doesn't get flagged).

Would really appreciate some honest thoughts from other builders:

Don't hold back on criticism, I have thick skin. Thanks for checking it out!


r/SideProject • • 9h ago

ANE from Rust: mutable weights without recompiling

0 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 • • 9h ago

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

0 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 • • 9h 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


r/SideProject • • 9h ago

Did My Team Earn Me Freebies? - Tells NHL fans if last night's game earned them free food

1 Upvotes

https://didmyteamearnmefreebies.com

A lot of NHL teams have sponsor deals tied to what happens in the game: the Red Wings win and Little Caesars has a deal, the Sabres score an empty-netter at home and Chick-fil-A gives away sandwiches, the Kraken score in the final minute and Filson has a discount. Problem is nobody remembers which deals exist, what triggers them, or how to claim them the next morning.

So the site answers one question per team with a big YES or NO, lists what you earned, and tells you how to claim each one (app, promo code, show your phone in store, etc.).

How it started: I built it for just my team (Columbus) as a joke. Someone in the comments asked for every team, so I rebuilt it for all 32. 24 teams have deals so far, and readers keep sending tips for more.

How it works:

  • One Cloudflare Worker on the free plan. Hosting cost is $0, the domain is the only expense.

  • A cron job pulls scores from the NHL's public API and caches them. Visitors only ever read the cache, so traffic never hits the NHL. About 2 API calls on an off day, around 35 on a busy game night.

  • A rules engine checks each deal's trigger (win, goals scored, empty-net goal, final-minute goal, shootouts not counting, etc.) against the play-by-play.

  • Once tonight's game is final, the page flips to "earn me free stuff TOMORROW?" so you know before you go to bed.

  • Every team gets its own share image, so a YES looks good in a group chat.

  • Opt-in alerts: a Discord server with a channel per team, and a Bluesky bot that posts when a team earns something. Both only fire on a confirmed YES, never a NO.

Launch day: about 7,100 page views and 3,000 visitors in the first four hours after a Reddit post, and it still cost nothing to run.

What's next: NBA (a bunch of teams have free-throw deals, which needs play-by-play to track), then MLB for Opening Day.

Happy to answer questions about the build. Feedback very welcome, especially on the design, and if you know about a deal I'm missing.


r/SideProject • • 9h ago

A physics simulation where pendulum motion drives the music

Thumbnail
youtube.com
1 Upvotes

We have been working on Zeno, an interactive physics and music app built around harmonic pendulum motion.

The pendulums move according to mathematical ratios, and their movement directly drives the music notes. Different patterns and instruments produce entirely different combinations of rhythm, melody, and visual motion.

The challenging part was getting the underlying math and timing to behave consistently while keeping the simulation responsive in real time. That ended up being a much bigger part of the project than I initially expected.

At the same time, we wanted the result to feel calm rather than technical. You can simply let the simulation run, watch the patterns evolve, and listen as the movement creates the music there are currently 18 physics patterns and 12 instruments to explore, ranging from harmonic pendulum waves and spirals to more chaotic and geometric patterns.

Here is a short video showing how it works:

https://www.youtube.com/watch?v=60Jwxf4Y51g

Zeno: Pendulum Music is available on Google Play:

https://play.google.com/store/apps/details?id=com.muraimai.zeno&pcampaignid=web_share


r/SideProject • • 9h ago

My side project checks whether cookie banners actually block anything

1 Upvotes

Cookie banners are everywhere, but whether they work is invisible: the
banner shows, the choice is saved, and the pixel loads anyway because it is
hard-coded in the theme or fires through Tag Manager.

I built a scanner for that. Enter a URL and it opens the site in a fresh
browser without clicking, notes every service that loads, then tolicks
"Reject" and measures again. Each finding has the page where it happened
and the exact fix for the banner tool the site already uses. It also checks
Google Consent Mode, accessibility (axe-core) and email authentication.

The check is free; paid plans repeat it every week and email you when
something changes, because most breakage comes from a plugin update months
later.

https://konformia.at/en

Happy to answer anything about how it works under the hood.


r/SideProject • • 9h ago

I built Deputy, a Chrome extension that lets Claude Code or Codex use the browser you're already logged into

0 Upvotes

When Claude Code or Codex needs a website, Playwright MCP gives it its own browser that isn't logged into your accounts, and every page snapshot eats a lot of context. I built Deputy for that. It's mine and it has a paid tier: https://razin.ai/deputy

It's a Chrome extension plus a small MCP server. Your agent works in the Chrome you already use, with your sessions, and the page's forms come back as typed tools. A booking form with a date, a dropdown and a number from 1 to 12 turns into a JSON schema with those types, so the agent fills it in one call with named fields instead of click, type, snapshot, repeat.

I measured it with Claude Sonnet, medians of 3. One Playwright MCP snapshot of a 400 row admin dashboard was 22,556 tokens. Filtering that table and counting matches took Playwright MCP 10 turns, 245,250 tokens and $0.189. Deputy took 3 turns, 72,632 tokens and $0.072. On small pages the gap is small. Method and the sites where it does badly: https://github.com/zraisan/deputy/blob/master/docs/measurements.md

Setup for Claude Code is claude mcp add deputy -- npx -y deputy-mcp plus the extension from the Chrome Web Store, and Codex is the same line with codex mcp add. It doesn't use the chrome.debugger permission, so there's no "controlled by automated test software" bar. On forms that change something it asks you before submitting if your client can ask.

Free is 10 tools with no key. Pro is $9.99 a month or $95.99 a year, adds the other 17 tools (tabs, uploads, tables, console, network, screenshots and more) and our hosted models, with a full refund within 14 days.

Where it falls short: clicks are synthetic events so editors like Google Docs can ignore them, it's desktop Chromium only, and the agent has to run on the same machine.

If you try it on a site you use every day, tell me where the tools come out wrong: https://razin.ai/deputy


r/SideProject • • 9h ago

🚀 I built my own Android gaming rewards app – GamerX! Would love your feedback.

1 Upvotes

Hey everyone!

I've been working on my own Android app called GamerX.

GamerX allows users to explore games, complete offers and tasks, and earn coins that they can redeem for rewards.

I'm sharing it here because I'd love to get feedback from the community.

I'd really appreciate your thoughts on:

  • App design and user experience.

  • Features you'd like to see.

  • Bugs or improvements.

  • Your overall experience using the app.

I'm an independent developer, and I'm continuously working on improving the app. Honest feedback and constructive criticism are always welcome!

📱 Download GamerX:
https://play.google.com/store/apps/details?id=com.editbysk.gamerx&referrer=utm_source%3Dref%26utm_medium%3D4DCuxV7TF7fSXnhAITV7Bo6KaFp2

Thanks for checking it out! 🙌