Week in Review: Five Products, One Dashboard
This has been one of the most productive stretches since I started Helsky Labs. Five products moved forward in meaningful ways, and the infrastructure to track them all finally came together. Here is the full rundown.
DropVox v1.0: From Python to Swift
DropVox started as a Python script to transcribe WhatsApp voice messages using local AI. The Python version worked, but it had distribution problems -- bundling a Python runtime into a macOS app is messy, and the resulting binary was large and slow to start.
So I rewrote it in Swift. Twenty-four days from first commit to a signed, notarized, release-ready macOS app.
The Swift version is a genuine native citizen. It launches instantly, sits in the menu bar, and uses Apple's own speech recognition framework alongside Whisper for transcription. The binary is a fraction of the size. It feels like a real Mac app because it is one.
DropVox 1.0 is now monetized. The free tier handles basic transcription. A one-time purchase unlocks larger Whisper models, batch processing, and additional output formats. No subscriptions -- buy it once, own it forever.
The lesson here: sometimes the right move is to throw away the prototype and rebuild with the right tools. Python was perfect for validating the idea. Swift was necessary for shipping the product.
TokenCentric v1.0: Free and Open Source
TokenCentric shipped as a free, open-source desktop app for tracking token usage across LLM providers. It is an Electron app that aggregates your OpenAI, Anthropic, and other API usage into a single dashboard with cost breakdowns and trend charts.
I built it because I was burning through API credits across multiple projects without a clear picture of where the money was going. Now I can see exactly which project consumed what, down to the model and endpoint level.
TokenCentric is intentionally free. No monetization, no premium tier. It solves a narrow problem for developers, and the goodwill and GitHub stars have more long-term value than trying to charge for a utility this small. Not every product needs to make money directly.
Code signing and notarization for an Electron app on macOS was its own adventure. Apple's developer toolchain does not make this easy for non-App Store distribution. I documented the full process in a playbook that I will share soon.
BookBit: Internationalization Complete
BookBit, the reading tracker app, now fully supports English and Portuguese. That is 357+ translation keys across every screen, every error message, every tooltip, and every onboarding step.
Internationalization in React Native is one of those tasks that sounds straightforward until you start. Pluralization rules differ between languages. Date and number formatting varies. Some Portuguese strings are significantly longer than their English equivalents, which breaks carefully designed layouts.
I used a key-based approach with JSON translation files and a custom hook that falls back to English for any missing key. The system is designed to make adding a third language (Spanish is on the list) a matter of adding one more JSON file and a locale configuration.
BookBit targets Brazilian and Portuguese-speaking audiences as a primary market, so this was not optional polish -- it was a core feature requirement.
Gitography: AI Analysis Pipeline
Gitography is the most technically ambitious project in the portfolio right now. It analyzes Git commit history using AI to generate developer profiles, contribution patterns, and project health metrics.
This week, the AI analysis pipeline went from concept to working infrastructure. The architecture uses Claude's API for the actual analysis, with BullMQ managing three separate job queues:
- Ingestion queue -- pulls commit data from GitHub webhooks
- Analysis queue -- sends batches of commits to Claude for pattern recognition
- Rendering queue -- generates the visual profile from analysis results
The three-queue design means each stage can scale independently and failures in one queue don't block the others. A webhook that fails to parse doesn't prevent already-ingested commits from being analyzed. An analysis that takes too long doesn't block profile rendering for other users.
This is still in development, but the bones are solid. The pipeline processes commits, identifies coding patterns, and generates structured summaries that will eventually power the Gitography profile pages.
The Dashboard: Everything in One Place
With this many products moving simultaneously, the Helsky Labs Dashboard went from "nice to have" to "cannot function without it."
This week I focused on polish:
Mobile responsiveness. I check stats on my phone constantly. The dashboard now works properly on every screen size -- responsive chart heights, stacked layouts on mobile, dynamic viewport height to handle mobile browser chrome, responsive container padding that does not waste space on small screens.
Brand integration. Each product card now shows its real logo instead of a generic icon. The logos load from a convention-based path (/brand/{slug}/logo.png) with an initials fallback for products that do not have brand assets yet. Scanning a grid of eight products is much faster when each one has a distinct visual identity.
Sync status. A "last synced" timestamp tells me whether the data is fresh. It derives from the most recent daily_metrics entry -- no extra database table needed.
Empty states. Products with no data configured now show helpful messages with calls to action instead of blank charts. "Connect your Umami site ID to see traffic" is more useful than an empty area chart.
The Numbers
Eight active products are now tracked through the central dashboard:
- DropVox -- macOS voice transcription (monetized)
- BespokeCV -- AI resume builder (in development)
- BookBit -- reading tracker (App Store)
- TokenCentric -- LLM cost tracker (free, open source)
- Gitography -- developer profile generator (in development)
- DaysAsNumbers -- life-in-days counter (App Store)
- helrabelo.dev -- personal blog and portfolio
- Helsky Labs -- the umbrella site
Each one feeds traffic data through Umami. Products with payment integration report revenue through Stripe. The aggregate views show portfolio-level trends -- total visitors across all products, combined revenue, subscriber growth.
The portfolio approach means I do not need every product to succeed. I need a few to gain traction and the rest to either pivot or get retired. The dashboard makes that decision visible.
The Philosophy
Ship fast. Measure everything. Double down on winners.
It sounds simple, but execution requires discipline. Shipping fast means accepting imperfection -- DropVox 1.0 does not have every feature on the roadmap, and that is fine. Measuring everything means building the infrastructure to actually collect and view metrics, which is why the dashboard exists. Doubling down on winners means being honest about which products have traction and which do not, which requires looking at the numbers instead of relying on gut feeling.
The indie hacker space is full of builders who launch and move on without checking whether anyone showed up. The dashboard forces me to look. Every morning, one screen, ten seconds. Which lines are going up? Where should I spend today?
What's Next
The immediate roadmap for the next sprint cycle:
- Register remaining products in the dashboard and verify all data sources are connected
- Alerts and notifications -- Discord webhooks or WhatsApp messages when a product hits a milestone
- Goal tracking -- visual progress toward specific targets like visitor counts or revenue thresholds
- More blog content -- technical posts about each product's architecture for both helrabelo.dev and this site
The portfolio is growing. The infrastructure to manage it is keeping pace. The next challenge is distribution -- getting these products in front of the people who need them.
Follow the Journey
I am building all of this in public. Every product, every decision, every number. If you are an indie hacker or thinking about becoming one, follow along:
- GitHub: github.com/helrabelo
- Twitter/X: twitter.com/helrabelo
- Helsky Labs: helsky-labs.com
Questions, feedback, or just want to say hello -- I am always happy to connect.
Building products at Helsky Labs. Ship fast, learn from metrics, double down on winners.