← Back to Build Stories
Side Project

How I built AIApplePie, an AI news aggregator with community voting

ChrisX18 Mar 20269 min read

Tell us a bit about you

I'm Chris — UI/UX designer and front-end dev, in the web space since 2010. I've worked mostly freelance, some agency work along the way. These days I'm building indie products on the side. You can find me at @itschrisfromx on X.

The idea

Where it all started — the problem, the spark, the why.

I've been following AI news obsessively for a while now. Not casually — I mean multiple times a day, across a dozen different sources. And at some point I realized the whole experience was kind of broken.

There was no single place to get a proper feed of what was actually happening in AI. You had Reddit communities, X threads, individual blogs, newsletters, aggregator sites — but nothing that pulled it all together in a clean, readable way. Every morning I'd have six or seven tabs open just to get through my usual sources. It was exhausting, and I kept feeling like I was missing things.

But the tab problem wasn't even the biggest issue. What really bothered me was that I had no idea how other people felt about what I was reading. AI news isn't neutral — some developments are genuinely exciting, others are legitimately concerning. A new model drops and half the internet thinks it's a breakthrough, the other half thinks it's another step toward something we're not ready for. But every aggregator and news site just... presented the story. No pulse. No signal on how the community was actually reacting.

I wanted to know: is this piece of news exciting people, or is it making them nervous?

So I did what any curious developer does — I went looking for something that already existed. I checked what was out there in the AI news aggregator space, dug into subreddits, poked around X communities, read through various AI-focused blogs. And I kept coming back to the same conclusion: nobody had built the thing I actually wanted. There were plenty of places to read AI news. There was nowhere to read AI news and get a real-time sense of how the community felt about it.

That was the gap. And once I saw it clearly, I couldn't unsee it.

I'm not someone who sits on ideas for long. I'd already been consuming AI news daily, I had a clear picture of what was missing, and I had the skills to build it. So I did.

The build

How you went from idea to something real.

I'd been wanting to try Vue.js for a while. I'd done most of my front-end work in other frameworks and Vue kept coming up as something worth learning — clean, approachable, well-documented. AIApplePie felt like the right moment to finally commit to it. Not a throwaway side project, not a tutorial — an actual product I was going to ship. Nothing forces you to learn a framework faster than building something real with it.

Node.js came naturally on the backend. It's what I know, it made sense for the use case, and I didn't want to slow myself down learning two new things at once. PostgreSQL for the database, Redis for caching — the stack wasn't trying to be clever, it was trying to be solid.

I did the architecture myself, start to finish. The data flow, the source aggregation pipeline, how votes would be stored and retrieved, how the whole thing would scale if it needed to — all of that was mapped out before I wrote a single line of code. That part I enjoy. It's the design side of engineering, and it's where my UI/UX background actually helps more than people expect.

For the actual coding and debugging, I used Claude. I want to be straight about that because I think there's still this weird stigma around it in some corners of the indie maker world. The architecture was mine. The decisions were mine. But when it came to implementation and working through bugs, Claude was my co-pilot. It saved me weeks, probably. Building solo on nights and weekends, that matters.

The real-time voting via Socket.io wasn't in the original spec. It wasn't something I planned from the start — I just got to a point where the voting feature was working and thought, why should you have to refresh to see how a story is trending? Adding live updates felt like the right call for the experience I wanted to create. So I built it in. That's one of the advantages of being a solo builder — you can make that call on a Tuesday night and just do it.

The whole thing took a few months of nights and weekends. There were moments where juggling freelance work, life, and a side project felt like too much. But I kept coming back to it. When you're building something you actually want to use yourself, that helps.

The launch

How you got it out into the world and in front of people.

I launched on Product Hunt and Indie Hackers, and did a few posts on Reddit around the same time. On paper, a multi-channel launch sounds like a solid strategy. In practice, it was a reminder that distribution is a skill of its own — and one I clearly need to work on.

Product Hunt was a disappointment. No hunter, not enough early upvotes to get any real momentum, and without that initial push the algorithm just moves on without you. It's one of those platforms where the first few hours determine everything, and if you don't have the right people in your corner from the start, you're invisible by noon. I knew this going in, but knowing it and experiencing it are two different things.

Reddit was where I actually got traction — relative traction, anyway. A few posts in AI-focused communities drove most of my early traffic. It's not glamorous, but it worked better than anything else I tried. People on Reddit will actually click through if the thing you're sharing is genuinely useful and you're not being spammy about it.

Indie Hackers was somewhere in the middle. Good for feedback, not a major traffic driver.

Early numbers were humbling. Five or six users a day. Very few registered an account. Even fewer actually did anything on the site — voted on a story, saved an article, left a comment. Building an AI news aggregator with community voting only works if the community actually votes. Getting people to that first action is harder than building the feature itself.

I'll be honest: distributing a product is genuinely hard, and I underestimated it. Building is the part I'm comfortable with. Getting people through the door and convincing them to care enough to come back — that's a different muscle entirely, and mine needs work. If AIApplePie is going to find its audience, I need to get significantly better at this, or it'll quietly die the way most indie products do. I'm not willing to let that happen, but I'm also not going to pretend I've figured it out yet.

Lessons

The real stuff — what you know now that you didn't then.

Building solo sounds romantic until you're three months in and realize every single decision — product, design, copy, distribution, positioning — lands on you and only you. There's nobody to sanity-check your thinking, nobody to push back when you're going in the wrong direction, nobody to say "hey, maybe don't spend two weeks polishing that feature nobody asked for." You have to fully trust yourself, and that's harder than it sounds. At least I had Claude to bounce ideas off — and yes, I'm only half joking.

The other thing nobody tells you is how many hats you're actually wearing. You're the developer, obviously. But you're also the designer, the copywriter, the social media manager, the growth person, the support team. On any given evening I'd go from debugging a Socket.io issue to making graphics for a Reddit post to rewriting my launch copy for the fourth time. It's a lot to juggle, and none of those things get your full attention because all of them need some of it.

The biggest lesson though — the one I'd go back and tell myself on day one — is that the building phase is actually the easy part. I know that sounds backwards, but it's true. Building is comfortable. It's measurable. You write code, you see results, you make progress. I polished AIApplePie for months longer than I needed to. Could I have launched in two months? Probably. Did I launch in four? Yes, because I kept finding things to refine, features to add, edges to smooth out. Nobody cared about any of it. The market doesn't reward polish — it rewards presence. Ship sooner, learn faster, adjust based on real users instead of imaginary ones.

Distribution is the hard part. Getting people to find your product, understand it in three seconds, care enough to sign up, and then actually come back — that's where indie products live or die. I knew this intellectually before I launched. I didn't really know it until I was staring at five daily active users and wondering what went wrong.

I'm still figuring it out. But at least now I know what I'm actually up against.

One last thing

What's the thing you're most excited about right now? What are you building next?

The thing I'm most excited about — and honestly still betting on — is the Exciting vs Concerning dynamic. It's the feature that makes AIApplePie different from every other AI news aggregator out there. Not just "here are the headlines," but "here's how the community actually feels about them." Real-time sentiment from real people, on the stories that matter.

It hasn't fully caught on yet. Voting requires an engaged community, and building that from scratch takes time. But I still believe in the idea. In a space where AI news moves as fast as it does, where every week brings something that genuinely makes you think "wait, is this good or terrifying?" — having a pulse on how people feel seems important. Maybe even necessary.

I'm not giving up on it. I'm giving it time.

As for what's next — AIApplePie isn't going anywhere, but I'm not going to over-engineer it either. New features only if users are asking for them or if they move the needle on monetization. That's the discipline I didn't have during the build phase, and I'm applying it now.

In the meantime, I'm building. That's just what I do. My latest product is IndieRoadmaps — a community-driven public roadmap platform for indie makers. Different problem, same itch. I don't think I'm wired to have just one thing going at once, and at this point I've stopped pretending otherwise.

Discussion