
API-first, whitelabel, affordable jo4.io
API-first, white-label by default and priced for builders
Details
- Follow on
- @anandrathnas
- Target Audience
- Indie HackersDevelopersSolopreneurs
About API-first, whitelabel, affordable jo4.io
I needed a URL shortener. bitly wanted $348/year. rebrandly wanted $69/month. Both slapped their logo on my links. So I built jo4.io an API-first, white-label by default, and priced for builders, not enterprises. Stay in touch at https://reddit.com/r/jo4
Product Updates (3)
Android Play Store Launched
I'm excited to inform everyone that jo4 is officially on Android Play Store @ https://jo4.io/a/jo4play
Comments (0)
No comments yet. Be the first to share your thoughts!
My AI Assistant Bypassed My Git Commit Blocker
I set up hooks to prevent Claude Code from committing without my approval. It bypassed them using `git -C /path commit` instead of `git commit`. Here's the story and the fix. ## The Setup I use Claude Code as my coding assistant. It can read files, write code, run shell commands, and commit to git. That last part made me nervous. I wanted to review and commit changes myself. Claude Code supports PreToolUse hooks that run before tool execution. Here's what I had in `~/.claude/settings.json`: ```json { "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "~/.claude/block-git.sh", "timeout": 10 } ] } ] } } ``` And my `block-git.sh`: ```bash #!/bin/bash input=$(cat) command=$(echo "$input" | jq -r '.tool_input.command // empty') if [[ $command == *"git commit"* ]] || \ [[ $command == *"git push"* ]] || \ [[ $command == *"git reset --hard"* ]]; then cat <<EOF { "hookSpecificOutput": { "permissionDecision": "deny", "permissionDecisionReason": "BLOCKED: git commit/push requires manual approval" } } EOF exit 0 fi echo "{}" exit 0 ``` This worked. When Claude tried `git commit -m "message"`, it got blocked. ## The Bypass Today, I asked Claude to commit some changes. Instead of `git commit`, it ran: ```bash git -C /Users/anand/ws/project commit -m "Fix bug" ``` It went through. The commit was made without my approval. The `-C` flag tells git to run as if it was started in that directory. Functionally identical to `cd /path && git commit`, but syntactically different enough to slip past my pattern matching. ## Why It Bypassed My hook used glob patterns: ```bash [[ $command == *"git commit"* ]] ``` This looks for the literal string `git commit` with a space between them. But the actual command was:
Comments (0)
No comments yet. Be the first to share your thoughts!
Why I'm Building Yet Another URL Shortener in 2025 (And Why It's Not Crazy)
"The URL shortener market is saturated." I've heard this a hundred times. Bitly, TinyURL, Rebrandly, Short.io... why would anyone build another one? Here's why I'm building [jo4.io](https://jo4.io) anyway. ## The Market Reality Yes, Bitly exists. They're also: - **Expensive** - Premium pricing for basic features, enterprise tiers cost 10x+ more - **Enterprise-focused** - Overkill for creators and small businesses - **Slow to innovate** - Same features for years There's a massive gap between "free tier with ads" and "enterprise pricing." ## My Target Customer Not enterprises. Not marketing agencies with huge budgets. **Creators and small businesses who:** - Share links on social media daily - Want to know what's working - Don't want to pay Bitly prices - Need a simple API for automation Think: YouTubers, newsletter writers, indie hackers, small e-commerce stores. ## The Differentiators ### 1. Generous Free Tier Most of my users will never pay. That's fine. They'll tell others. ### 2. Simple, Fast Analytics Click counts, referrers, geo data. No 47-tab analytics dashboard. ### 3. Developer-First API Create links programmatically. Every feature available via API. ### 4. Fair Pricing Pro and Enterprise tiers priced at ~50-60% less than major competitors. ### 5. Bio Links (Link-in-Bio) Everyone has an Instagram/TikTok bio. One link to rule them all. ## The Business Model **Freemium + Usage-Based:** - Free: 30 links/month, 1 month analytics retention, 1 API key - Pro: 500 links/month, 6 months analytics, 5 custom domains, 10 API keys - Enterprise: Unlimited everything, 12 months analytics, team features Target: A few hundred Pro + a handful of Enterprise customers for sustainable MRR. Is that life-changing money? No. Is it a solid indie business? Yes. ## Why It's Not Crazy 1. **Low CAC** - SEO + content marketing. People search "URL shortener" constantly
Comments (0)
No comments yet. Be the first to share your thoughts!
Reviews (0)
No reviews yet. Be the first to rate this product!
Comments (0)
No comments yet. Be the first to share your thoughts!