Inspiration

Most AI assistants these days support scheduled tasks and reminders. I had asked mine to keep me informed about strange occurrences around the world. This went on for about a week, and I found myself increasingly interested in the stories it discovered.

I had already come across the Amazon Hackathon but had no idea what to build. Then I looked at what I was already doing and figured it wasn't such a bad idea to turn it into an actual application.

That's how Absurdity came about.

What it does

Absurdity is an AI agent-powered web application that discovers, verifies, and curates some of the world's strangest stories.

There are countless smaller incidents that never receive mainstream news coverage. Even when they do, their time in the limelight is usually short-lived.

Absurdity aims to give these stories a place to live beyond the news cycle.

The stories range from harmless absurdities to serious real-world mishaps that make you question exactly why anyone would do what they did.

Users can explore recent discoveries, revisit older stories, save favorites, interact with the AI assistant, and listen to narrated articles.

How we built it

Absurdity was built using Next.js, React, and TypeScript, with a cloud-based architecture designed to operate without paid infrastructure.

The application integrates several services:

  • Exa for web search and story discovery, supplemented by RSS feeds.
  • Groq for AI-assisted verification, classification, and conversational interactions.
  • ElevenLabs for voice narration, with browser-based text-to-speech as a fallback.
  • Turso for persistent storage of stories, sources, and research history.
  • Render for application hosting and backend execution.
  • GitHub Actions for scheduling automated research cycles.

At its core is a research pipeline that discovers stories, removes duplicates, groups related reports, retrieves article content, examines supporting evidence, and stores selected discoveries.

The application also periodically checks for newly stored stories without unnecessarily triggering additional AI research cycles.

Challenges we ran into

Finding AI services with accessible free APIs was one of our first major bottlenecks.

The biggest challenge, however, was the lack of sufficiently powerful local hardware. This pushed us toward a development process that relied heavily on cloud infrastructure and AI-assisted coding.

Reliability presented another challenge. Integrating multiple APIs was one thing; ensuring that everything continued functioning when individual services failed was another.

Research pipelines, database connectivity, API rate limits, and error handling all required repeated testing and refinement.

Accomplishments that we're proud of

The entire application runs on cloud infrastructure without requiring users to install software or create accounts.

We also found lightweight solutions for preserving user preferences, such as storing favorites locally in the browser while keeping the shared story archive in a persistent cloud database.

Perhaps our biggest accomplishment is that we managed to build and deploy the application using free infrastructure and service allowances, despite our hardware and budget constraints.

What we learned

Building applications is not necessarily that difficult anymore, especially when you're vibe coding.

Building an application without significant failure points, however, is considerably harder.

AI-assisted development can accelerate implementation, but it doesn't eliminate the need to understand how the different components interact.

You have to iteratively test your program, identify weaknesses, and verify that it actually functions as intended.

We learned that getting something to work and getting something to work reliably are two very different challenges.

What's next for Absurdity

The next step is turning Absurdity from a hackathon project into a fully-fledged public website.

We want to improve the interface, expand our research coverage, strengthen the verification pipeline, and refine the narration and conversational features.

Ultimately, the goal is to create a persistent archive of the world's strangest and most overlooked stories.

Built With

Share this project:

Updates

Submission history