
DocBeacon
Know what happens after you send your proposal.
I built this because customers were sending proposals, pitch decks, and other client-facing docs through DocBeacon, but the viewing experience still felt branded as DocBeacon instead of their business.
Pro users can now add:
a custom display name
a logo
a website URL
That branding now shows up across the document viewing experience.
A few implementation details:
assets stored in Cloudflare R2
role-gated to Pro+ plans
strict URL normalization + validation
fallback to default branding if input is incomplete or invalid
The hardest part was balancing flexibility with security, especially around user-submitted URLs.
If you’re curious, the product is DocBeacon: docbeacon.io
Last week I’ve been deep inside one of the most complex parts of DocBeacon, the tracking and analytics engine.
We aggregate user behavior data on three levels:
Share-level (each document share link)
Document-level (per uploaded file)
User-level (overall engagement footprint)
The challenge:
Every time a new event is logged (a view, scroll, or dwell), DocBeacon performs a hierarchical aggregation to update summary stats across all three levels. For users with large historical data, this can become very expensive, both computationally and in terms of API overhead.
The logical solution seems simple: reduce the frequency of aggregation.
But that’s where things got tricky.
Months ago, I noticed rare cases where the aggregation would silently fail to trigger. That meant the top-level summaries occasionally drifted out of sync, sometimes off by just a few views, other times more dramatically. The bug was elusive: hard to reproduce, impossible to ignore.
During this refactor, I’ve been dissecting the entire chain of event handling, from event queue → aggregation trigger → rollup storage. The logic is being restructured to make trigger conditions more deterministic and fault-tolerant.
So far, progress has been solid, but reproducing the original edge case remains challenging. Debugging aggregation bugs is like chasing ghosts, you only see their footprints.
Once this refactor ships, the analytics engine will be leaner, more predictable, and less resource-hungry. It’s the kind of work no one sees on the surface, but it’s what makes real-time analytics trustworthy.
Still testing. Hoping to roll out next week.
1 Like
Comment
Quick update on my founder journey.
I just published a new IH post about something I’m finally learning the hard way: marketing isn’t something you “do later.” It’s a skill you build the same way you build software, with repetition and small steps.
Here’s the post if you want to read the full story:
https://www.indiehackers.com/post/learning-marketing-as-a-builder-the-slow-uncomfortable-way-d8dbe3d695
What I’m working on this week:
• rewriting a few key lines on my homepage to speak more clearly
• testing smaller, daily distribution habits instead of waiting for “big moments”
• talking to a couple of early users to understand how they describe the problem
No big wins yet, but I’m treating this as a long term skill, not a sprint.
If you’re also learning marketing from scratch, happy to swap notes.
1 Like
Comment
The last two weeks have been all about SEO.
I’ve been rewriting and polishing DocBeacon’s marketing pages to make them more useful for readers and more visible to Google.
What surprised me most is how competitive the space actually is.
Both core keywords , “secure document sharing” and “document tracking software” have crazy-high difficulty and CPCs above $10. It really shows how crowded this market is.
I also learned that SEO is slow. Very slow. You don’t just hit “publish” and see results.
It’s patience, iteration, and sometimes just showing up every day.
I shared a longer reflection here:
👉 https://www.indiehackers.com/post/the-seo-grind-no-one-talks-about-97781c48ef
Would love to hear how other founders are handling SEO — are you focusing more on human-written content, or experimenting with pSEO and AI-assisted writing?
1 Like
Comment
A small milestone — the first Indie Hackers post just hit the homepage!
It was an honest reflection on launching DocBeacon and learning the hard part: getting users.
Read it here 👉 https://www.indiehackers.com/post/built-my-first-product-now-learning-the-hard-part-getting-users-68211f1c42
About
Helps people who rely on document sharing to drive business — sales, fundraising, partnerships. “Read receipts” aren’t enough. Real decisions happen inside the document, and DocBeacon reveals that behavior.


Comment