Building ourss: 9 Days, One AI Partner, and an Ode to the Weird Web
November 2, 2025
by Jay Margalus

Building ourss: 9 Days, One AI Partner, and an Ode to the Weird Web

The Old Internet has ideas that we should never forget, and building tech in that spirit is a good thing.

The Web Used to Be Weird

The web used to be weird. Not "algorithm-optimized-for-engagement" weird, but "here's-my-blog-about-obscure-synthesizers" weird. Good weird.

Somewhere along the way, we traded discovery for surveillance, serendipity for engagement metrics, and ownership for convenience. RSS readers died when Google killed Reader in 2013, RIP. Social media became a slot machine designed to extract attention and sell it to advertisers. The indie web got buried under an avalanche of algorithmic feeds. Sir Tim Berners-Lee is not happy, I'm sure.

I've been thinking about this problem for years. My background is in running and building makerspaces, creative/innovation programs, and entrepreneurship ecosystems. I spend a lot of time thinking about how tools shape behavior. Modern social media is a tool for sure, and it's a tool that's terrible for society. It's a cage made of the next dopamine-fueled hit from an emotion-driven reaction.

So I decided to build something different.

This is the story of building ourss - a self-hosted, decentralized RSS reader network with social features that respects your time, protects your privacy, and rejects the surveillance model entirely. I built it in 9 days with Claude Code as my development partner.

Here's what I learned.


Day 0: Philosophy First

Our company had a fun retreat in Virginia to work on a video game console that we're developing. After a bit of work on that, we did a backpack trip and ended up back at my house. Toward the end of the retreat, a few of us got a bug up our butt about RSS and started to build a prototype. That prototype is what ourss has become, and before we wrote a single line of code, we knew what we didn't want to build.

We didn't want:

  • Another platform optimizing for "time on site"
  • Engagement metrics that measure addiction
  • Dark patterns that create FOMO
  • A business model built on selling user data
  • Notifications designed to interrupt your life
  • Infinite scroll that steals your evening

We wanted:

  • Slow, intentional technology (slowbiz, as the folks at Panic! call it)
  • Privacy by default (not as a premium feature)
  • Social features without the "we weren't meant to talk with each other this much" (Ian Bogost)
  • AI that helps on the margins, but isn't central (Basecamp inspired)
  • Data ownership (truly yours, not "stored securely on our servers")
  • The good parts of Google Reader + the thoughtfulness of newsletters like Dense Discovery

The core principle: Your time and attention are valuable. We design features that add value, not demand it.

Everything else followed from that.


ourss

Days 1-2: The MVP That Wasn't Just a Demo

Working with Claude Code, we had a full application out of the gates. Normally a no-no in the design process, but Claude Code made it possible to move fast.

What shipped on Day 1:

A fully-functioning RSS reader with a frontend app that's mobile responsive, has social features (user profiles, following system, etc).

Claude Code Tip #1: Start with structure, not prototypes

I told Claude Code what I wanted to build and the values behind it. It scaffolded a complete architecture that I could iterate on without tech debt. This is the opposite of how I usually work (low-fidelity prototypes, fail fast), but for solo development with an AI partner, it's liberating to have solid foundations from Day 1. My idea of what a prototype is has changed.


Digests

Days 3-4: Essential Features Nobody Thinks Are Sexy

OPML Import/Export

If you can't leave, you're not a user - you're a captive. OPML support shipped on Day 3. Export your feeds anytime. Take them to another reader. Come back if you want. Or don't.

This is table stakes for RSS readers, but it's also a philosophical statement: your data is portable, always.

Weekly AI Digests

This is where it gets interesting.

Instead of algorithmic feeds that optimize for engagement, ourss generates a weekly digest using GPT-4. It looks at what you read, what your network shared, and surfaces:

  • Articles aligned with your interests
  • Weak signals (indie feeds with <3 subscribers)
  • Topics you're tracking
  • Thoughtful summaries (not clickbait)

The digest arrives on Sundays. Not daily. Not real-time. Weekly.

This is intentionally slow. It fights FOMO. It gives you permission to ignore RSS for six days and catch up when it matters. And it's 100% inspired by Jason Fried's notion of "AI on the margins."

Feed Discovery Tools

Finding RSS feeds in 2025 is harder than it should be. Most sites bury their feeds or don't advertise them. We built auto-detection to help new users find feeds easily.


PDF Export

Days 5-6: Tools for Humans, Not Metrics

Chrome Extension + Bookmarklet

How do you subscribe to feeds while browsing? Browser tools.

We built:

  1. A Chrome extension for one-click subscribing
  2. A universal bookmarklet that works on mobile (Chrome iOS/Android, Safari, Firefox)

Claude Code Tip #2: Iterate on UX, not just code

Claude Code helped design the bookmarklet UX, debug mobile browser quirks, and write user-facing documentation. I worked through it to discuss how to make the application more accessible while also keeping it slow.

Invite Code System

Open registration attracts spam. Closed registration kills growth. We needed something in between.

Solution: User-generated invite codes.

Each code is one-time use. We track who created it and who used it. It creates a light barrier against spam while empowering community growth.

PDF Export for E-Readers

This feature surprised me with how useful it became.

Export your liked articles to a PDF optimized for Kindle, Remarkable tablets, etc. The system:

  • Uses AI to categorize articles by topic
  • Generates a table of contents
  • Filters by time range (7, 14, 30, 60, 90, 365 days)

Claude Code Tip #3: Use parallel tool calls

When testing the PDF export across multiple edge cases, Claude Code ran multiple test scenarios in parallel - checking date filters, category generation, and formatting simultaneously. This cut debugging time significantly. Ask for parallel execution when you're testing independent features.


Day 7: The Solid Experiment (And Why It Failed)

I'm including this because failure is interesting.

Tim Berners-Lee (inventor of the web) created the Solid protocol - a system for decentralized data storage where users own their data in personal "pods." It's philosophically aligned with everything ourss stands for.

I'm quite fond of Sir Tim Berners-Lee, so I built Solid integration:

  • Backend service for OAuth + DPoP authentication
  • Frontend settings panel with educational content
  • Automatic backup to personal pods
  • Support for major pod providers

I shipped it. Tested it. And removed it less than 24 hours later.

Why it failed:

  1. Complexity tax - Required users to set up external pod accounts
  2. OAuth friction - DPoP keys, token management, error handling
  3. Redundant - If you're self-hosting ourss, you already own your data

The Solid integration added three database migrations, a bunch of lines of service code, OAuth libraries, and a complete settings UI. All deleted in one commit.

Claude Code Tip #4: Don't be afraid to delete significant work

This was a good lesson. I'd spent hours on Solid integration, and it worked! But it made the product worse. Claude Code made the removal painless - it tracked down every reference, cleaned up the database schema, removed the libraries, and updated documentation. In 20 minutes, the feature was gone without a trace.


Days 8-9: Governance and Growth

Admin Panel

As instances grow, they need moderation tools. The admin panel shipped with:

  • Statistics: Instance overview, popular feeds, user growth
  • User Management: Search, role changes, account deletion
  • Feed Health: Monitor broken feeds, force refreshes
  • Configuration: Edit instance settings
  • Analytics: Instance health metrics
  • Email Settings: Configure transactional email

Security matters here. Admin routes are protected by middleware. Permissions are database-driven (not hardcoded).

Principled Analytics

Here's where most projects compromise. Analytics usually means surveillance.

We integrated Umami - a self-hosted, privacy-first analytics platform:

  • GDPR, CCPA, PECR compliant
  • Cookieless tracking
  • Respects Do Not Track
  • 365-day data retention
  • No data leaves your server

Email Delivery System

Integrated Resend for transactional email:

  • Weekly digest emails (HTML + plain text)
  • Welcome emails
  • Password resets
  • Test emails for admins

What we avoided:

  • Tracking pixels
  • Read receipts
  • A/B testing subject lines
  • Engagement optimization

Claude Code Tip #5: Use it for documentation, not just code

The analytics system required extensive documentation to explain what we track and why. Claude Code wrote the entire analytics.md file based on our implementation. It understood the privacy philosophy and translated it into plain English.


Why ourss Matters

We're not trying to replace Twitter or Reddit or Instagram. Those platforms have network effects we can't compete with.

We're building an alternative for people who want:

  • Ownership over their reading habits
  • Social features without manipulation
  • Privacy by default (not as a premium upsell)
  • Slower, more intentional technology
  • Tools that serve them, not advertisers

We measure success differently:

Not Daily Active Users Not Time on Site Not Engagement Rate

We'd rather have 100 happy users who stick around for years than 10,000 users who churn in a month.


Final Thoughts

The web used to be weird. It's time to bring some of that back. ourss isn't perfect. It's opinionated. It makes trade-offs that won't work for everyone. That's okay.

If you want algorithmic feeds that optimize for engagement, there are plenty of options. If you want infinite scroll and real-time notifications, we're not for you. If you want a slower, more intentional way to read and share what matters - welcome. The RSS feed is alive and well.

Want to try it?

ourss is self-hosted and in beta. Reach out and I can get you an invite to the beta.