The Problem
As a freelance developer, I was spending 6+ hours/week answering "any update?" messages from clients.
Even though I'd just sent them an update yesterday.
The issue wasn't lack of communication. It was communication scattered across 5 platforms (email, Slack, WhatsApp, SMS, DMs).
Clients genuinely forgot what I told them because it was buried in threads.
The Solution
Built Animiso - a dead-simple client update feed.
How it works:
- Freelancer posts updates (text + images)
- Client gets one permanent link
- Client checks progress anytime (no login required)
- No more "any update?" texts
The Tech Stack
Frontend:
- Vanilla HTML/CSS/JS (keeping it simple)
- Bootstrap Icons + Lucide
- No framework bloat
Backend:
- Node.js + Express
- PostgreSQL for data
- JWT auth for freelancers
- Cloudflare for CDN/caching
Why no React?
Speed. The client-facing pages load in <100ms because there's no JS framework overhead. Just fast, static HTML.
File uploads:
- Cloudflare R2 (S3-compatible, cheaper)
- Image optimization on upload
- Max 5MB per image
Early Results (Week 3)
- 18 beta users testing
- 4.2 hours avg saved per user/week
- 89% would recommend
- 0 "any update?" texts reported since onboarding
What I Learned
1. Authentication should be frictionless
- Freelancers use email magic links (no password)
- Clients don't need accounts at all
- Lower friction = higher adoption
2. Mobile-first is critical
- 70% of client views are on mobile
- Had to optimize for small screens first
3. Real-time isn't necessary
- Thought about WebSockets for live updates
- Realized clients check once a day max
- Saved weeks of dev time by skipping it
4. Speed > Features
- Clients don't care about fancy UI
- They care about seeing updates fast
- Sub-100ms load time matters more than animations
What's Next
Opening 25 beta spots next week for freelancers who want to test it: animiso.fun
Questions for the community:
- What would you add to this stack?
- Any security considerations I'm missing?
- How would you handle file versioning?
Building in public. Code is closed source for now but happy to discuss architecture.
Cheers,
Levi
Top comments (0)