The Story Behind ROUTE
Inspiration
I spend a lot of time scrolling through social media, and I regularly come across people building products to help others find and apply for jobs, discover hackathons, access grants, and pursue other opportunities.
But I started thinking about two problems.
First, not everyone sees these products. Someone might be looking for a hackathon or a job opportunity without ever discovering a tool that could help them. Useful products exist, but getting that information to the people who need it is another challenge.
Second, building these products takes work. Developers often have to spend time figuring out how to discover, collect, and deliver opportunity information before they can focus on the actual problem their product is supposed to solve.
I wanted to explore a way to address both problems.
That is why I built ROUTE: infrastructure that helps users discover and understand opportunities while giving developers a reusable way to bring opportunity information into their own products. Instead of every developer having to start from scratch with finding and collecting information, they can focus more on implementing the features and experiences that make their products useful.
What I Built
ROUTE is an open-source, agent-agnostic opportunity infrastructure built around the Model Context Protocol (MCP).
The idea is to make opportunity information accessible through a reusable interface that AI agents and compatible applications can work with.
For the current MVP, I focused on two categories:
- Jobs, using RemoteOK as a source.
- Hackathons, using Devpost as a source.
ROUTE provides tools to search for opportunities, retrieve their details, gather available preparation context, and save opportunities for later. Users can explore opportunities through the web demo, while developers can connect compatible clients to the MCP server and build their own experiences around its capabilities.
The goal is not to build another standalone job board or hackathon directory. It is to make the underlying opportunity-discovery workflow reusable, so more products can be built on top of it.
How I Built It
I built the MCP server using TypeScript, Node.js, the official MCP SDK, and Zod for input validation. It uses Streamable HTTP transport so compatible clients can access its tools remotely.
I separated the MCP interface from the opportunity providers, allowing different sources to be integrated behind a common structure. This makes it easier for the rest of the system to work with opportunities without being tightly coupled to the platform they came from.
I implemented providers for RemoteOK and Devpost, then built tools for searching, retrieving, preparing, and saving opportunities. I also built a web demo using Next.js and an AI agent powered by the Strands Agents SDK to demonstrate how the infrastructure can be used in practice.
Finally, I deployed the MCP server and connected the demo to the remote endpoint. I tested the server initialization, tool discovery, tool execution, and save-and-retrieve workflow to verify that the components worked together.
What I Learned
One important lesson was that finding information and making it useful are two different problems. A search result can point to an opportunity, but people still need enough context to understand what it involves and decide whether to pursue it.
I also learned more about designing infrastructure for reuse. Building an MCP server is not just about exposing functions; the tools need clear responsibilities, consistent inputs and outputs, and an interface that other applications can use without depending on the internal implementation.
Working with real opportunity websites also showed me how difficult information extraction can be. Important details may be spread across different pages, and the structure and completeness of the information can vary between sources.
Most importantly, this project reinforced my interest in building systems that allow developers to focus on their core product instead of repeatedly rebuilding the same supporting capabilities.
Challenges I Faced
Extracting information from different sources
RemoteOK and Devpost present information differently. I had to account for these differences while making the results accessible through a consistent interface.
Dealing with incomplete information
An opportunity's search result may not contain everything available on its original page. Even after retrieving a page, extracting every relevant detail is not guaranteed. This made preparation context more challenging than simply returning a title and URL.
Building for reuse instead of one application
I wanted ROUTE to be useful beyond the web demo. That meant separating the provider logic from the MCP interface and designing tools that other compatible clients could use.
Connecting and testing the complete system
Getting the server, remote endpoint, AI agent, and web interface to work together required testing the workflow across components, rather than assuming that successful local execution meant everything would work after deployment.
What's Next
The current MVP focuses on jobs and hackathons, but the broader idea extends to other opportunities, including grants and more.
I want to add more providers, improve the completeness and traceability of extracted information, and make it easier for developers to build different opportunity-focused products on top of ROUTE.
Ultimately, I want ROUTE to help more people discover opportunities they might otherwise miss, while giving developers more time to focus on what they want their products to do rather than how opportunity information gets into them.
Build the product. Let ROUTE help with the opportunity information behind it.
Built With
- amazon-dynamodb
- mcp
- next.js
- node.js
- strands
- typescript
- zod
Log in or sign up for Devpost to join the conversation.