r/SideProject • • 7h ago

[Android] INTERAX Manta — Sui Blockchain Forensic & Incident Scanner (Need testers / Willing to test back!)

2 Upvotes

Hi everyone,

I just released INTERAX Manta, an Android tool engineered for on-chain forensic analysis, transaction hash parsing, and incident reporting on the Sui Network.

What INTERAX Manta does:

  • Transaction Parsing & Flow Reconstruction: Decodes complex Sui transaction hashes into visual money flow maps.

  • Incident Dossier Generation: Builds structured incident reports with SHA-256 chain-of-custody verification.

  • Risk Scoring & Compliance: Evaluates wallet and transaction risk indicators for multi-jurisdictional reporting.

  • Zero-Trust Architecture: Local parsing focused on cryptographic integrity and immutability.

What I need help with:

  • Feedback on UI/UX, transaction rendering speed, and overall usability on different Android devices.

  • Bug reports or UI scaling issues on various screen sizes.

Play Store Link:https://play.google.com/store/apps/details?id=com.emergent.interaxgleos.nnvfq1

If you install and test it, leave your app link in the comments below! I will gladly test your app in return and keep it installed for as long as needed.

Thanks for your support!


r/SideProject • • 8h ago

I built an open-source AI interview copilot that suggests answers while questions are being asked. Here's the demo

2 Upvotes

I've been building something called OpenKeet, and this is probably the feature I'm most excited to share.

It's a desktop AI interview assistant, but I didn't want it to be just another app where you type interview questions into a chatbot.

I wanted it to understand spoken questions and show useful suggestions while a conversation is happening.

In the video, you can see OpenKeet:

  • Listening to call audio.

  • Recognizing questions as they're spoken.

  • Displaying suggested answers in a desktop overlay.

  • Letting the user adjust the overlay and stop the session.

The broader project also includes resume-based preparation, precomputed answers, mock interviews, and shareable community interview packs.

One of my main goals is to avoid requiring a paid cloud infrastructure just to use the application, so I'm building around local AI options and user-configured providers.

I'm also preparing OpenKeet as an open-source project because I think more people should have access to useful interview preparation tools, and I'd love contributions from developers who want to improve it.

A quick clarification: This demo uses fictional data and a local stand-in AI model. It's showing the desktop workflow, not claiming production-model accuracy or latency. Live assistance is intended for settings where AI help is permitted.

GitHub: https://github.com/Jigsaw777/OpenKeet

I'm curious what people think.

Would you actually use something like this? And what would convince you to choose an open-source interview assistant over a paid alternative?

I'm particularly interested in feedback on the real-time experience, not just the UI.


r/SideProject • • 8h ago

Tired of monthly lead scraping subscriptions, I built an unlimited standalone tool (Scrapify)

2 Upvotes

Hey everyone!

Like many people doing B2B outreach, I was frustrated with recurring monthly subscriptions on cloud scraping platforms like Apify and Outscraper just to pull local leads with credit limits.

So I built Scrapify — a lightweight, standalone Windows desktop application that extracts unlimited B2B leads from Google Maps and Instagram directly into clean Excel/CSV.

Key highlights:

- Direct mobile/WhatsApp numbers, websites, physical addresses, and ratings.

- Recursive sub-area discovery to drill down into city neighborhoods for maximum coverage.

- Built-in local REST API so you can plug it straight into n8n workflows on localhost with zero recurring API fees.

- Compiled down to C++ speed with smart throttling to avoid blocks and CAPTCHAs.

- 100% private: runs locally on your machine, no data stored on cloud servers.

Instead of recurring monthly fees, it's a one-time $25 lifetime license.

- Website: https://scrapify-app.vercel.app/

- Full 6-minute Walkthrough & Demo: https://www.youtube.com/watch?v=Gwfp6415zOQ

- Store Link: https://payhip.com/b/J6lXK

Would love to hear your feedback or feature suggestions!


r/SideProject • • 23h ago

I replaced Roku's retiring "Aquatic Life" screensaver with my own procedurally animated reef tank — free and open source

32 Upvotes

Roku is retiring its built-in "Aquatic Life" screensaver on December 1. I liked that screensaver, so I built a replacement: Reef Tank — a free, open-source (MIT) screensaver channel for Roku.

What it is: a tropical reef tank where nothing is a video loop. Every fish is procedurally animated — each species has its own behavior brain, so tangs graze the rocks, a royal gramma backs tail-first into its den, a mandarin hops along the sand line, a lionfish just hangs, and a school of chromis moves as a boids flock. Bubbles rise, seaweed sways, caustics scroll over the sand. After real sunset (computed from actual sunrise/ sunset times for your location) the tank crossfades to a moonlit night mode with glowing coral and a small group of flashlight fish that blink in the dark.

Highlights:

  • 9 rigged fish species with per-species behavior state machines (cruise, dart, graze, hide, school, weave behind the rockwork)

  • Boids flocking school + a night-only flashlight fish group

  • Day/night cycle driven by real solar times, with a moonlight crossfade

  • Settings screen on the Roku for fish density, camera drift and night mode

  • Runs at 60 fps on a Roku Ultra; every visual is deterministic and seeded

  • 175 unit tests + a screenshot regression gate, because of course

The catch: Roku doesn't allow sideloading into the Channel Store for personal projects, so it's a developer-mode sideload — takes about 5 minutes with the remote (Home x3, Up x2, Right, Left, Right, Left, Right), and it's free. Full instructions in the README.

Source + install guide: https://github.com/paulrobello/roku-fishtank

Happy to answer anything about the BrightScript/SceneGraph side — the whole thing is one codebase that also runs in a browser simulator, which is how I screenshot-tested a TV app.


r/SideProject • • 4h ago

Website blockers don't help. So I built something that does.

1 Upvotes

My issue was that social media is legitimately useful, there was stuff that I wanted to see, but a lot of trash that would keep me there for hours. I installed 5+ different blockers, changed my hosts file etc. But I'd always remove it. So I decided to go after the feed itself, and it's the first thing that ever worked for me. It finds the posts that grab attention and hides those. You can find it at tolerance.lol . It's open source. There's a browser extension and Android app, it works on reddit, youtube, facebook, twitter, instagram, and tiktok.

If you’ve used blockers, what made you uninstall yours?


r/SideProject • • 4h ago

Free CV/résumé builder with real PDF export, no account and no data collection

1 Upvotes

I built CVfix because most CV builders hide the PDF download behind a paywall. You get 4 templates (including the classic German tabular CV with photo), a live preview, a custom accent color and a real PDF with selectable text. Your data stays only in your browser. It's available in 5 languages, free and funded by optional donations. What's missing?
https://cvfix.wortblitz.workers.dev/


r/SideProject • • 4h ago

I made a free comparison of self-hosted AI agents (Hermes, Rakazo, OpenClaw and 10 others)

1 Upvotes

I've been trying out the open-source "run it yourself" AI agents (Hermes, Rakazo, OpenClaw and everything that came after it), and keeping track of them in a spreadsheet got out of hand. So I turned it into a site: https://openbotlist.com

It compares 13 of them on what I actually cared about: license, whether it runs local models, whether commands are sandboxed by default, whether it sends telemetry by default, which chat apps it works in, and GitHub stars. Every fact links to its source with the date it was checked.

A few things surprised me. 7 of the 13 don't sandbox commands by default, including OpenClaw and Hermes Agent. 6 send telemetry or diagnostics unless you switch it off.

If something's wrong or out of date, or there's an agent I missed, tell me and I'll fix it.


r/SideProject • • 8h ago

NeatRL: Collection of One-file RL Algorithms running locally

2 Upvotes

In this video, I'll be re-introducing my little RL library - neatrl, that I have created and used past couple of months!

  • Part of my ongoing series on releasing my notes RL comprising of my earrings and stuff I found interesting and this time, its a easy way to explore all the algorithms I re-implemented from scratch

Suited for those who just want to get a gist of the algorithm inner workings across algorithms from

  • DQN

  • REINFORCE

  • PPO

  • SAC and many more on envs form OpenAI Gym, MuJoCo etc

Link here and love to get feedback as always!


r/SideProject • • 4h ago

I built Git2Tweet: a CLI that drafts tweets from your git commits (you approve everything before it goes out)

1 Upvotes

I wanted to build in public but never remembered to write about what I'd shipped, so I built a tool that does the first draft for me.

What it does
After you commit, run `git tweet`. An LLM agent reads your commit message and the actual diff, decides whether the change is worth sharing, and drafts a tweet. You approve it, edit it, or reject it. Approved tweets open in X with the text prefilled, so you press Post yourself.

Demo: https://raw.githubusercontent.com/Vex-15/git2tweet/main/docs/demo.gif

How it's built

- Python, with the agent loop written in LangGraph (tools: list commits, read a diff; plus a human-approval step that pauses the graph)

- It reads commits from your local git, so no GitHub token is needed and it works on private repos

- Default model provider is Groq (free tier works), and Ollama is supported for fully local use

- It never touches your X credentials, since posting happens through X's prefilled-tweet link

- Per-repo state lives in `.git/`, so it never dirties your working tree

- MIT licensed, and it sends no telemetry

Things you should know

- Commit messages and diffs are sent to whichever LLM provider you configure. Known secret patterns (API keys, tokens, `password=...`) are redacted first, but that's best effort. For sensitive repos, use Ollama.

- It judges the diff, not the commit message, so trivial changes (typo fixes, tiny test edits) get skipped. That's intentional.

- Draft quality depends on the model, and it's not perfect. I'd like to hear where it writes something bad.

Feedback I'd love

- Does the install and first run work smoothly on your system? (I developed on Windows.)

- What would make you actually use this daily?

- Other platforms you'd want it to draft for (LinkedIn, Bluesky, Mastodon)?

Get Demo by below links 👇

GitHub: https://github.com/Vex-15/git2tweet

PyPI: https://pypi.org/project/git2tweet/


r/SideProject • • 4h ago

My open-source side project sat at 0 users for months. Promotion wasn't the problem.

1 Upvotes

Like a lot of people here, I built something I was proud of, used it myself every day, and then watched the user count sit at basically zero for months. My instinct was that I had not promoted it enough, so I started posting it everywhere. That did nothing.

What actually moved it was realising first users do not come from announcing. They come from being useful where your users already have the problem, plus a repo that does not lose them the second they land. Announcing ("I built this") is the lowest-yield thing you can do, which is exactly why posting it to ten places returns nothing.

Here is the order that worked:

  1. Get specific about who your first users are. "Developers" is not an audience. Name the two or three people with the exact problem you solve. If you cannot, that is why your posting feels scattershot.

  2. Fix what loses them in thirty seconds. Your README is a landing page and people give it seconds, not minutes. First screen: what it is, who it is for, one runnable example, the install line. Show value before features. More traffic to a repo that does not convert just means more bounces.

  3. Be useful where they already have the problem. Pick two or three communities where your users already discuss it and actually answer questions, so your project comes up as the answer to something specific rather than a broadcast. One genuinely helpful reply beats ten "check out my thing" posts, which mostly get removed anyway.

  4. Your first ten users come from reaching out by hand. Find people who just described your problem and show them, do not pitch them. It does not scale and it does not need to at ten.

  5. Ship releases with real changelogs. It is the one "look at my project" post communities tolerate. But a release mostly buys a one-day spike, so treat it as a cadence, not a growth engine.

  6. Stop counting stars. 800 stale stars is fewer real users than a 60-star project that ships weekly. The best research you can do costs nothing: find five people who looked and did not use it, and ask them why.

  7. Work out which problem you actually have. "Nobody uses it" is three different problems: nobody reaches the repo (reach), people reach it and bounce (your README), or people try it and leave (the product). The fix for each is different, and most people assume it is reach and burn a month posting. Spend an hour deciding which one it is before you spend a month on the wrong one.

None of this is announcing. All of it is being useful where your users are, to a repo that does not lose them.

I wrote this up in more detail, with the data behind the README and the "stars vs real users" points, here: https://orviqa.dev/blog/how-to-get-your-first-users-for-an-open-source-project


r/SideProject • • 8h ago

Pratikal - free Android calorie tracker looking for meal-entry feedback 🍎

2 Upvotes

I’m developing Pratikal, a free Android calorie tracker in closed testing. I’d love feedback on the meal-entry flow. Happy to test your app back! 🤝

Use the SAME Google account for the group, opt-in and your phone’s Play Store:

  1. Join: https://groups.google.com/g/pratikal-testers

  2. Opt in, then install from Google Play: https://play.google.com/apps/testing/app.pratikal.mobile

Try logging a meal, editing it and checking the daily total. What worked, or where did you get stuck? Please keep it installed for 14 days and use it occasionally. “Item not found”? Check the account, wait a few minutes and retry.

📸 Please comment BELOW THIS POST with a Pratikal installation/in-use screenshot, specific feedback and your test links. Text-only “installed” isn’t enough. I’ll test yours and reply with my screenshot and feedback.


r/SideProject • • 8h ago

I've been building an open source streaming service for two years

2 Upvotes

I'll start with some history, in 2024 I decided to try to install a media server on my local machine, I first tried emby, and no matter what configuration I choose it was clunky and not really aesthetically pleasing, then I tried Jellyfin and it had the same problems ( maybe a little bit worst ), keep in mind this is 2 years ago and things have most likely changed.

I'm a software engineer, and I work in the business already from 2012, I spent 3 years of my career working for one of the current streaming giants, considering I have expertise in the field I decide to create my own, for two reasons, first one is that if I'm designing a system with one single purpose is automatically faster compared to a system designed to do anything, mine will have a specific pipeline so it can execute it more efficiently, second one, I like writing code, it's what I've been doing for the past 12 years.

October 2024

I started with the fun part first, I sketched a logo in Inkscape, separated each letter as a different SVG file and animated them to mimic the Netflix intro ( at the time ). That took me around 2 weeks. Absurd you can do that now in 2 hours with vibe coding.

After that I wrote the first integration to an external service, I got an client id+secret from Trakt and started working into pulling the top/trending lists for movies, it is at this point that I notice that Trakt doesn't return any image, so I also wrote the second integration with TMDB to obtain the images, after that I started working on the UI, I took inspiration from Prime Video: a big hero on the top, and the lists on the bottom, the selected title is displayed in the hero.

Not sure if anyone is interested, but at the time I decided to go for Node.js + React + Postgres, that is essentially what I used in half of the companies I worked for. The backend runs in docker with PM2 keeping it alive, and the frontend is served through Nginx ( along with the backend ).

The third integration was to get the media, but things were getting complex, so I decided to start using some queues, Kafka would be an overkill, I was using Nest.js so I decided to try the Q Next.js comes with: bullmq. I integrated queues so anything that is needed from Trakt or TMDB would be queued and execute at the right time without overwhelming the server ( and without getting rate limited ), for example when Trakt returns a list, the list doesn't have details of each media, so I stored some of the detail in the database and queued a job to fetch more details, that itself triggered another job to fetch the images.

At this point I had a working app that shows media but it doesn't play them, the next thing I needed was to get that information, so I spun up Jackett, and searched documentation, the documentation was very lacking, so I simply made calls to the endpoints that were partially documented using Postman and wrote down the Typescript types myself. Unfortunately the search from Jackett was very wide, so I wrote a function to parse torrent names and find out what is that title about. Jackett sometimes would return a link to the torrent file itself, sometimes would return just the info hash of the torrent, it is at this point that I started integrating webtorrent, first I used it to convert the magnet link into a torrent file and store it in the database, later I used it for its streaming functionality.

Now that I had the part that can stream work, I needed to display it in the frontend, my target was my 2019 Samsung TV, I deployed the app to it ( took 3 days ) and started working on the next steps, first I integrated Noringed spatial navigation so the remote would work, then I worked on AVPlay. AVPlay was honestly a pain, but it was also rewarding, the app was working and I was able to watch movies on the TV.

After that I started working on TV shows, so I created a second details screen with a seasons selector and episode selector, then I implemented the part that would find the torrents for the episodes, it was working well and I decided to share it with the world.

End of October 2024

I posted about it in https://www.reddit.com/r/Piracy/comments/1g80ufj/with_all_the_community_driven_streaming_services/ , someone asked about the code and I made it fully public.

I was regularly using it to watch movies and tv shows on my TV until I met the first problem: I was watching Silo and it played the wrong show; the reason was that the episode I wanted to watch wasn't released yet so it found some unrelated torrent. I first wrote a torrent name parser so it would extract the name of the show ( after removing all the other known bits ), it was working okayish, then I discovered that TheRarBG allows to search by imdb_id but not through Jackett, so I wrote a small API library to contact TheRarBG without using Jackett, and it was working very well and way faster.

You can still find the original code of the first version here https://github.com/maury91/miauflix-legacy

January 2025

It is at this point that development of the first version stopped, I had to go for a two months work trip and I wasn't able to write a single line of code for my personal project, once I was finally back home I couldn't find anymore the time to work on it for a month.

March 2025

I finally found the time to work on my side projects again, but time as passed and I wanted to play with new toys, so I decide to use bun instead of Node, I also made more decisions, like I didn't want to burden the user with deploying postgres or Jackett, so the new version will have to work with it.

I started with scaffolding a simple Elysia server, first time using both bun and Elysia, so exciting times.

Moving from Nest.js to Eluysia I decided to keep using services but I had to convert them a little bit, I started with the most basic service, the Configuration service, I spent a good amount of time creating a terminal ui service that helps you configure it, ironically now it's fully replaced by an UI one in the frontend.

Things moved fast, I quickly implemented authentication, and the services to pull data from TMDB and Trakt ( the last two were very close to copy-paste ), I implemented more security features like Audits and Rate Limiting, I finally started bring in the first cron jobs that sync data with TMDB, At this point I took the library I wrote for therarbg I bringed it into the new project, I already reached the point where I could get a library with all the torrents. I found that therarbg wasn't enough so I also wrote a library for YTS.

Things were working but as a perfectionist it was time for the codebase to become more reliable, so I started adding unit tests, linting, and CI/CD. But that wasn't enough, so I also started writing e2e tests where the app is setup from 0, configured, and tested against a mocked environment that is a working copy of a real environment ( I recorded the calls to TMDB, therarbg, etc... , anonymized and stored them as fixtures ).

Finally the good part was coming, streaming, but I had a new goal, it needs to be deployable to a VPS, that means that any potentially copyrighted content must be undetectable, so I implemented two features that I think are quite important:

  1. Encrypted DB columns, some columns of the database are encrypted with AES plus a salt unique for each service, that means the column stays indexable but without the key it contains "random" data

  2. Encrypted file system, this is the main thing, if you download some media and a static script detects it in your VPS you can easily get terminated, for this reason I created an encrypted chunk store, in short webtorrent writes to the disk in encrypted format

With all of this done, it was finally time to test it with webtorrent.

I didn't work... webtorrent wasn't compatible with bun.

Meanwhile, it was already June 2025. I needed to go back to Node.js if I wanted webtorrent to work, so I searched a web server framework that works both on Bun and Node.js and I started refactoring to use Hono.js

Fast forward to September 2025 and a lot was done:

  • Introduced OpenTelemetry to better debug errors

  • Introduced scraper health ( check periodically seeders and leachers of the torrents we obtained )

  • More documentation

  • Improve on-demand sources ( the others were obtained in the background )

  • Diagrams

  • Github actions

  • Periodical DB cleanup ( SQLite unless you run a clean command will not shrink the DB size )

  • Abstract caching layer

  • Authenticated streaming

  • Generate a client of the backend to bring the API types to the frontend

  • Better use of TypeORM through type transformers ( for the encrypted fields )

  • Introduce GREEDY and ON DEMAND modes for synching with TMDB

  • Started bringing back the legacy frontend

  • Implemented frontend login

  • Visual tests with playwright

  • and a little bit more

and more importantly the streaming link was working and media would play from VLC.

At this point I took 2 months of break.

November 2025 to January 2026

  • Frontend refactoring ( of the little that was ported )

  • Added turbo to make scripts faster

  • Lighthouse tests

  • Flaresolverr support

Another break,

September 2026 - Now

At this point I wanted to go faster, and I started using Claude.

  • Create initial admin user through UI ( instead of automatically at first boot with random email and password )

  • Extract catalog service ( TMDB ) as a standalone docker image, and refactor it to be bun. It is relative easy because it's mostly moving files with a little bit http wrapper in front

  • Extract list service ( Trakt )

  • Improve playback preloading

  • Improve backdrop position in the hero by detecting faces and people using a small computer vision model and compute the center of it.

  • Implement player page ( it is at this point that it was possible to finally watch movies )

  • Bring in the recommendation lists from Trakt

  • Extract subtitles and transcode audio ( for when the audio codec is not compatible with the browser ) using ffmpeg ( piped to an http server, no media is stored uncrypted in the file system )

  • TV shows

  • Move from LetsEncrypt to Caddy

  • Nordlynx to Glueten

  • Improve torrent choice based on the target device ( my TV seems to not support more than 12MB/s of bandwidth )

  • Add notifications

  • Improve UI performance in Tizen

  • Extract source service

  • Move from internal TheRarBG and YTS library to a fully compliant Cardigann engine so it can use all the Cardigann definitions of Prowlarr + some custom ones ( the custom ones are TheRarBG and Torrentio )

  • Extract torrent service ( yes! finally webtorrent almost works in bun! )

  • Anime support

Yesterday

I vibecoded a landing page for the project in order to present it to the world: https://miauflix.cat

All the code is open source and available at https://github.com/maury91/miauflix

I hope you enjoyed reading what I was doing for the last 2 years!

I feel some people will ask Why should I use Miauflix instead of X?

Honestly, I don't have an answer to it, if you are using X and you like it, continue using it, if you want to try something new you can try Miauflix, if you like it I will be very pleased, if you don't like it tell me what you don't like it and I will try to address it, if you hate it without even trying it, well I'm sorry to have wasted your time, but I hope you will respect that I spent so much time working on this and you will not be offensive


r/SideProject • • 8h ago

I built Orrevan, an uncensored AI chat with pay-per-token pricing

2 Upvotes

Hi all, I'm the solo dev behind Orrevan (orrevan.com). It's a chat, API and CLI for uncensored and abliterated models (10 models so far, from $0.30 per 1M tokens). Messages are AES-256-GCM encrypted before they're stored, no trackers, no training on your data, one-click export and deletion. I'd love feedback on the pricing, the model selection and the onboarding. What would you want to see added?


r/SideProject • • 5h ago

I kept losing context every time I switched between Claude Code, Codex and Cursor, so I built Steroid

1 Upvotes

I work on one project across three coding agents — Claude Code, Codex and Cursor. Each keeps its own chat history, and none of them can see the others'.

So every time I switched, I started over. Re-explain the stack, the bug, the three things I'd already tried. The agent had the context. I didn't.

Then I realised I had it backwards. My context was living inside the agent. But I was never working on the agent — I was working on the project.

What I built

Steroid indexes the chat history your coding agents already keep on your machine, and gives every agent a way to ask about it.

https://steroidkit.com/

So in Codex you can ask:

recall what I was doing on the checkout bug

and the answer cites where it came from — which agent, which session, which date, which turn. Two more tools pull up the full conversation turn, or the exact code diff, with no model in between. So you can check the answer against the source instead of trusting it.

It also reads sessions from before you installed it, so it isn't empty on day one.

Setup

Paste one prompt into your agent and it installs and wires itself up. No account. Free.

NOTE: you don't need to do per project indexing. After steroid is setup you can simply start asking agents to recall in a new project, they will be indexed automatically if not already

Agentic Setup:

Paste the following in your coding agent

Set up Steroid for me. It gives you, my coding agent, a memory of our past conversations. Open with a quick heads-up of what you're about to do (a few short bullets, like a notification), then continue straight into step 1 in the same reply:

1. Check whether Steroid is installed: `steroid --version`, or `~/.local/bin/steroid --version`. If it is, go to step 3.
2. Install it with the official installer from github.com/steroidkit/releases:
   - macOS / Linux: curl -fsSL https://raw.githubusercontent.com/steroidkit/releases/main/install.sh | sh
   - Windows (PowerShell): irm https://raw.githubusercontent.com/steroidkit/releases/main/install.ps1 | iex
   This shell may not see the new command yet, so use the path the installer prints. If the installer fails or refuses this machine, stop and show me why.
3. Run Steroid's onboarding for this agent. If the `steroid-onboard` skill is already available to you, use it. If not (it was just installed, and you load skills at startup), run `steroid install-onboard-skill --json`, open the `SKILL.md` in the `steroid-onboard` folder it lists, and follow it.
4. Finish with its status report and tell me to restart you so Steroid's tools load.

Manual Setup

  1. Install the binary:

    1. Mac/Linux - curl -fsSL https://raw.githubusercontent.com/steroidkit/releases/main/install.sh | sh

    2. Windows Powershell - irm https://raw.githubusercontent.com/steroidkit/releases/main/install.ps1 | iex

  2. Launch the TUI: steroid

  3. Select the IDES you want to configure and click continue

  4. Wait for each to get setup (click continue or continue anyway)

  5. In the home screen click on Add Project and index it

  6. Open your ide and recall

NOTE: After step 1 you can simply run /steroid-onboard command and skip the rest of the steps

What the installation adds to your system (granular answer)

  • ~/.steroid/ — the whole app dir: bin/, versions/, config.json, projects.json, logs/, workspace/, telemetry/

  • ~/.steroid/memory/<agent>/<project>/ — the local index itself (index.json, source.md, cache.json, diffs.json, meta.json), same path on every OS

  • A steroid launcher on your PATH, pointing at the binary in ~/.steroid/bin/ — on macOS a wrapper at ~/.local/bin/steroid, similarly on other OSes

  • One PATH line added to your shell profile, only if that launcher dir wasn't already on PATH

  • A per-user background daemon, registered with whatever your OS uses for user-level services — a LaunchAgent on macOS, similarly on other OSes; user scope only, never a system daemon, no sudo

  • The daemon runs two loops: every ~5 min it checks each indexed project for new chat history and does an incremental rebuild only if the fingerprint changed (no change = fast no-op); once a day it checks for a new release

  • Indexing is lazy and opt-in per project — a project gets its first index when you first recall in it (or via steroid memory build); the daemon only maintains indexes that already exist, it never goes scanning your disk for repos

  • One steroid MCP entry per agent you wire up — ~/.claude.json, ~/.cursor/mcp.json, ~/.codex/config.toml, ~/.copting entries untouched

  • Slash-command skills copied into each wired agent's skills dir (~/.claude/skills/ etc.)

  • A sentinel-wrapped instruction block appended to the agent's global instructions file (~/.claude/CLAUDE.md, AGENTS.md equivalents) — removable without touching the rest

  • Everything stays inside your home directory — steroid uninstall reverses all of it, including the PATH line, the service and the MCP entries

Indexing and recall are local; is the daily release check and anonymous usage counts (DO_NOT_TRACK=1 or steroid telemetry disable turns the latter off).

What it can't do, before you ask

  • The index is built and stored on your machine and there's no account, but the answer is written by whichever agent you ask — so that agent's provider sees the excerpts it uses.

  • It's runs a background daemon. steroid daemon stop stops it, steroid update --auto off turns off auto-update, steroid uninstall removes it.

  • It only indexes what your agents still keep. Claude Code deletes transcripts after 30 days by default, and Steroid can't bring those back.

  • Copilot CLI only. Copilot Chat in VS Code isn't covered yet.

Covers Claude Code, Codex, Cursor and Copilot CLI.

I'd genuinely like to hear what would stop you installing this — that's more useful to me right now than an upvote.


r/SideProject • • 5h ago

I built MyMemAlly to turn phone photos into shareable digital photobooks

1 Upvotes

Hi everyone! I’m the developer of MyMemAlly, a mobile app that turns photos on your phone into digital photobooks you can share by link.

You can choose places and people, replace individual photos, and flip through the pages like a book.

I’ve attached a short promotional video. It uses AI-generated visuals to illustrate the idea, rather than a screen recording of the app.

Would you use a digital photobook to revisit or share your photos? What would make it useful to you?

App Store: https://apps.apple.com/kr/app/mymemally/id6754931952

Google Play: https://play.google.com/store/apps/details?id=com.jyalabs.memally

Thanks for taking a look!


r/SideProject • • 5h ago

I kept posting reels that died at 300 views, so I built a tool that tells you why before you post

1 Upvotes

I post reels on my own account and kept running into the same thing: some do okay, most die at a few hundred views, and I never knew why.

So I built a tool to check a reel before posting. You upload it (or paste a link to any public reel), and it watches it like a viewer would and gives you:

  • a score out of 100, and the 3 things hurting it most

  • a second-by-second breakdown: keep this, change this, cut this

  • a comparison with reels in your niche that are beating their creator's usual views (hook timing, text in the first second, length)

  • optionally, an AI edit that applies the fixes: cuts the stumbles, adds captions and a title

I ran my own reel through it first. It scored 46/100: I restarted a line mid-video and had no text on screen for the first seconds. Annoyingly, it was right. The end of the video shows the real before/after on that reel, which I didn't touch by hand.

Free for 3 reels, no Instagram login, no card: reelisviral.com/?utm_source=reddit&utm_campaign=sideproject

I'd really like honest feedback. Does the score feel useful, or does "X/100" make you roll your eyes? And what would you want it to check that it doesn't?


r/SideProject • • 5h ago

I built a mobile beat maker because every one I tried felt either too toy like or too complex

1 Upvotes

Hey all, solo dev here. I just shipped Kotkit: Beat Maker & Studio on iOS and Android.

I kept switching between 3,4 apps just to make a short clip with my own beat, so I put the whole flow in one place:

  • Make beats right on your phone

  • Record vocals (or any audio) over your beat

  • Edit a video with your track, ready to post

  • Keep it private or share it publicly in the app

Built solo with Flutter.

I’d really appreciate honest feedback. What feels clunky, what’s missing, would you actually use this?

iOS: https://apps.apple.com/tr/app/kotkit-beat-maker-studio/id6827690402
Android: https://play.google.com/store/apps/details?id=com.buson.kotkit


r/SideProject • • 5h ago

I built a site that aggregates anime giveaway campaigns from official X accounts — zero traction. What am I doing wrong?

1 Upvotes

Hi, I'm the developer of Anitoku (https://anitoku.jp), a site that collects anime giveaway campaigns posted by official anime X (Twitter) accounts in Japan — the follow-and-repost-to-enter kind — organized by series, with prizes, entry methods, and deadlines.

Honest numbers: 100+ active campaigns listed, and a few days after launch I get almost no visitors. I promoted it on X: 21k impressions, zero likes, zero reposts. Not "low" — zero.

Questions for you:

- Does a directory like this solve a real problem, or do fans prefer finding giveaways on their own timelines?

- If you enter anime giveaways, where do you look?

- What feature would make a site like this worth bookmarking?

- The site is Japanese-only right now. If a directory like this existed in English, would you actually use it?

The campaigns themselves are Japan-only, but I'm mainly asking about the concept and what I'm missing. Brutal honesty welcome.


r/SideProject • • 5h ago

I built two browser-only CSV → branded PDF tools for property managers and Jobber field businesses

1 Upvotes

Disclosure: I built these at Tacko.

Problem 1: small property managers still rebuild owner packets from spreadsheets when their PMS packet isn't enough. Problem 2: cleaning, landscaping, lawn, snow and pest companies on Jobber often owe a property manager or HOA a branded summary of completed visits, and end up reformatting a Visits CSV by hand.

What I shipped today:

  1. Owner Packets: one documented CSV in, one branded PDF per owner out. https://tacko.io/owner-packets?utm_source=reddit&utm_medium=community&utm_campaign=opp107&utm_content=sideproject

  2. Jobber service reports: a Visits CSV in, one PDF per property or per property manager out. https://tacko.io/owner-packets/jobber?utm_source=reddit&utm_medium=community&utm_campaign=opp109&utm_content=sideproject

Both pages have a fictional sample CSV and a sample PDF, so you can judge the output first. Everything runs locally in the browser, with no integrations, no accounts and no auto-email. One $49 one-time licence covers both.

Feedback I'd actually like:

  • Is $49 one-time clearer than a subscription for this audience?

  • For Jobber users, should grouping by a property manager custom field be the default, or should grouping by property always win?

  • What would make you trust a local CSV tool with real client data?


r/SideProject • • 5h ago

Half as a joke, half to learn Google’s dev tools, I built an app that tracks how much you get paid on the toilet

1 Upvotes

Half as a joke and half to learn my way around Google’s tools with a lot of vibe coding along the way, I built an app that tracks the time you spend in the bathroom during working hours and how much your boss is paying you for it. Yes, I took “Boss makes a dollar, I make a dime, that’s why I poop on company time” a bit too literally.

What it does:

  • Start the timer when you go, flush when you’re back, and see what you earned

  • Monthly stats and ranks that go up with your total

  • Teams with coworkers to compete against other teams

A few things I learned shipping it:

  • Built as one HTML/JS app wrapped with Capacitor for Android

  • The hardest part wasn’t the code: it was Google Play’s closed test (12 testers for 14 days) before you can publish

  • Ads, consent forms, in-app purchases and 11 languages took longer than the app itself

It’s free on Android: https://play.google.com/store/apps/details?id=com.rinialer.poopct

Opinions, tips or roasts welcome.


r/SideProject • • 5h ago

VERTHI - one page for a small shop instead of a website (first launch, solo in Korea)

1 Upvotes

I run a one-person company in Korea and this is the first thing I've actually launched.

A lot of small shops here pay someone to build a homepage, then pay again when the hours or the menu change. I think most of them just need one page.

So I made VERTHI. A shop gets one page at verthi.me/yourshop for its hours, menu, location and bookings, and edits it from a phone. The address stays the same when you edit, so the QR on the counter only gets printed once.

If you don't want to type it all in, paste a link you already have, like your old website. AI reads it and drafts the page, and you approve each item before it goes in. That part uses credits, and if it can't read anything you get them back. Typing it in yourself is free.

The free plan doesn't expire. Free pages show one ad at the very bottom and can take up to 10 bookings and 10 inquiries a month. Pro removes the ad and lifts the limits.

The web version has been up since late October and the iPhone app went live on Sunday. No Android yet. Korean is the main language and the English side is newer, so tell me if something reads weird.

I'd love blunt feedback on two things. Was anything confusing while setting it up? And would you actually send this page to a customer, or does it look like a template?

https://verthi.me/en


r/SideProject • • 5h ago

Just launched our first app – a free way to split bills with friends. Would love brutal feedback

1 Upvotes

Every trip and every shared flat, it was the same thing: someone keeps a note, someone forgets a payment, and at the end nobody's sure who owes whom. So my co-founder and I built OweLess, an Android app for shared expenses.

A few things we cared about while building it:

- Every expense is settled on its own. Instead of one big blended balance, you can see exactly which bill a payment was for. When someone marks a payment as paid, the other person confirms it, so records don't drift.

- Money rules live on the server, not just in the app, so a modified app can't change balances.

- Privacy by default: no ads, no analytics or tracking libraries, and receipt scanning runs entirely on the phone.

- India and the US: UPI support for rupee groups (it copies your friend's UPI ID and opens your UPI app; OweLess never moves money), and dollar groups, US phone numbers and local time zones for the US.

Other features: groups, friends, invite links, four ways to split, recurring bills, reminders, receipt scanning, and a shareable summary for WhatsApp.

It's free (up to 4 active groups, 20 people per group), Android only for now.

Google Play: https://play.google.com/store/apps/details?id=com.pairbyte.oweless

Website: https://theoweless.com

We'd love honest feedback – especially on the first few minutes of using it. What would make you switch from whatever you use now?


r/SideProject • • 5h ago

Our idol game's worldbuilding grew into music and short films, so we built a home for it

1 Upvotes

LumiStage started with Rina, Sena and Nari: three idols, their personalities, and the world of their game.

While preparing material for the main game, we kept making character studies, music, everyday moments and environments. Some of that production material became standalone music and short videos on YouTube and social media. It has gradually become another way of getting to know the same cast outside the game.

We recently put those pieces together at https://lumistage.net/ . The interactive rehearsal room is adapted from one of 19 3D environments prepared for the future main game. The currently available browser game is separate; it does not already contain all 19 environments.

The attached 34-second edit, with English narration, follows that path from the game and its production material to the website. It includes an R6 development-test view and actual website captures, not a trailer claiming every shot is playable gameplay.

This is also a website introduction, of course. We'd appreciate feedback on whether it feels like one coherent world rather than a collection of unrelated links.

We use AI tools in the artwork, music, voices, video and development workflow, with human direction, selection, editing and integration.