DEV Community

Cover image for 13 top open-source tools you must use for your next big project in 2025🚀
Sunil Kumar Dash Subscriber for Composio

Posted on

13 top open-source tools you must use for your next big project in 2025🚀

This will be an exciting year for tech, and we may see some breakthrough achievements across multiple domains, AI tools, frameworks, databases, and more,

So, I have curated some open-source tools you must use to build your next big project.

New year cartoon gif


1. Composio: Integrate AI with external SaaS for automation

2025 is going to be the year of AI agents. However, AI agents are as useful as the tools they have, and Composio is the leading platform offering tools and integrations for your AI agents to communicate with external apps like GitHub, Gmail, etc.

Think of Composio as the bridging layer between the agents and your apps. For example, with Composio, you can add Gmail, Calendar, Meet, Notion, etc, to build an agent that can summarise your meetings, create action points, update your calendar (if needed), and send emails to appropriate attendees.

Getting started with it is very easy.

npm install composio-core openai
Enter fullscreen mode Exit fullscreen mode

Connect your GitHub Account

import { Composio } from "composio-core";

const client = new Composio({ apiKey: "<your-api-key>" });

const entity = await client.getEntity("Jessica");
const connection = await entity.initiateConnection({appName: 'github'});

console.log(`Open this URL to authenticate: ${connection.redirectUrl}`);
Enter fullscreen mode Exit fullscreen mode

Initialize Composio and OpenAI

import { OpenAI } from "openai";
import { OpenAIToolSet } from "composio-core";

const openai_client = new OpenAI();
const composio_toolset = new OpenAIToolSet();
Enter fullscreen mode Exit fullscreen mode

Fetch GitHub actions and pass them to the LLM

const tools = await composio_toolset.getTools({
actions: ["github_star_a_repository_for_the_authenticated_user"]
});

const instruction = "Star the repo composiohq/composio on GitHub";

const response = await openai_client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: instruction }],
tools: tools,
tool_choice: "auto",
});
Enter fullscreen mode Exit fullscreen mode

Execute the tool calls.

const result = await composio_toolset.handleToolCall(response);
console.log(result);
Enter fullscreen mode Exit fullscreen mode

The documentation provides more on Composio, its work, and important concepts for making capable production-ready agents.

Composio GIF

Star the Composio repository ⭐


2. Encore: Developer-First Backend Framework with Automated Infrastructure

Encore is a backend framework you should consider building with. It eliminates all the hassle of cloud development and cloud infrastructure setup and management, from API documentation to database provisioning, service discovery to deployment pipelines, and monitoring to tracing, letting you focus purely on writing your application code.

Encore is like having a DevOps expert built into your workflow - you focus on writing TypeScript or Go code. At the same time, it handles all the complex infrastructure behind the scenes, from database management to microservices deployment. It transforms complex cloud development into simple, maintainable code.

Get started with Encore by installing the CLI.

curl -L https://encore.dev/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

Create an app.

encore app create
Enter fullscreen mode Exit fullscreen mode

This will configure your free account, allow you to choose your app's name, and select the Hello World template.

This will create a new folder with an example application and a simple REST API using your chosen app name.

Open the file in your editor.

// Service hello implements a simple hello world REST API.
package hello

import (
    "context"
)

// This simple REST API responds with a personalized greeting.
//
//encore:api public path=/hello/:name
func World(ctx context.Context, name string) (*Response, error) {
    msg := "Hello, " + name + "!"
    return &Response{Message: msg}, nil
}

type Response struct {
    Message string
}
Enter fullscreen mode Exit fullscreen mode

For more information, refer to their documentation.

encore



3. Val Town: Social Computing Platform for Running Serverless JavaScript

Think of it as your personal JavaScript playground in the cloud. Val Town lets you write and deploy code snippets that run as APIs or automation without dealing with servers or infrastructure. It's perfect for quick prototypes or automating repetitive tasks.

Create a new Val:

// @username/greet
export function greet(name) {
  return `Hello, ${name}!`
}
Enter fullscreen mode Exit fullscreen mode

Import and use other people's Vals:

import { greet } from "@friend/greet"
export function welcome() {
  return greet("Val Town")
}
Enter fullscreen mode Exit fullscreen mode

Every Val is an API endpoint and can be scheduled like a cron job. It's perfect for automation, bots, and quick experiments!

Val Town


4. Neon: Serverless Postgress

You've probably heard of Neon if you've ever struggled with managing PostgreSQL databases in a serverless environment. What makes it special is that it brings Git-like branching to databases, letting you create instant copies of your database for testing or development.

It's perfect for modern development workflows where you want to test changes without messing with your production data.

Neon


5. Rustify: A Rust library for interacting with HTTP API endpoints

Rustify is a small library written in Rust that eases the burden of scaffolding HTTP APIs. It provides an endpoint trait and a macro helper that allows the templating of various remote endpoints. Both asynchronous and synchronous clients are offered to execute requests against endpoints, with the option of implementing custom clients using the Client trait.

Basic example

use rustify::{Client, Endpoint};
use rustify_derive::Endpoint;

// Defines an API endpoint at /test/path that takes no inputs and returns an
// empty response.
#[derive(Endpoint)]
#[endpoint(path = "test/path")]
struct Test {}

let endpoint = Test {};
let client = Client::default("http://api.com"); // Configures base address of http://api.com
let result = endpoint.exec(&client).await; // Sends GET request to http://api.com/test/path

assert!(result.is_ok());
Enter fullscreen mode Exit fullscreen mode

Rustify


6. Trigger Dev: Open source background jobs platform

A developer-first background jobs framework that makes handling scheduled tasks and webhooks feel natural. Unlike traditional job queues, Trigger.dev has built-in versioning, retries, and a beautiful dashboard to monitor your jobs.

The real magic happens with its integrations – you can connect with GitHub, Stripe, or any API without writing boilerplate code. It's especially powerful for handling webhook-driven workflows or running resource-intensive background tasks without affecting your main application.

# Install
npm install @trigger.dev/sdk
Enter fullscreen mode Exit fullscreen mode
typescript
Copy
import { TriggerClient } from "@trigger.dev/sdk";

const client = new TriggerClient({
  id: "my-app",
  apiKey: process.env.TRIGGER_API_KEY,
});

// Create a scheduled job
client.defineJob({
  id: "daily-cleanup",
  name: "Daily Cleanup",
  version: "1.0.0",
  trigger: "schedule",
  schedule: "0 0 * * *",
  run: async (payload, io) => {
// Built-in integrations
    await io.github.createIssue("org/repo", {
      title: "Daily Cleanup Report",
      body: "Cleanup completed successfully"
    });
  },
});


![Trigger](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w8spslnv9fiq2669uy81.png)

Enter fullscreen mode Exit fullscreen mode

7. Tolgee: Open-source localization tool

Tolgee is an innovative open-source localization platform that is transforming how developers handle application translations. It enables in-context translation directly within your application through a simple ALT+click interface, eliminating the need to edit traditional localization files.

Tolgee


8. OpenTelemetry: Effective observability made easy

Gone are the days of piecing together different monitoring tools. OpenTelemetry is the Swiss Army knife of observability, giving you everything you need to monitor your systems.

It's a comprehensive framework that collects traces, metrics, and logs across your entire infrastructure, making it easier to understand what's happening in complex, distributed applications. Whether running microservices in Kubernetes or traditional applications, OpenTelemetry provides a unified way to gather and analyze performance data without vendor lock-in.

# Install for Node.js
npm install @opentelemetry/api @opentelemetry/sdk-node
Enter fullscreen mode Exit fullscreen mode
import { NodeSDK } from '@opentelemetry/sdk-node'
import { trace } from '@opentelemetry/api'

const sdk = new NodeSDK()
sdk.start()

// Create a span
const tracer = trace.getTracer('my-app')
const span = tracer.startSpan('my-operation')
span.end()
Enter fullscreen mode Exit fullscreen mode

Open telemetry


9. ChromaDB: Performant vector database

Building AI applications that need to understand and search through content? ChromaDB has got your back. It's an open-source embedding database that makes vector search feel like a breeze.

Getting started with it is easy.

pip install chromadb
Enter fullscreen mode Exit fullscreen mode
import chromadb

client = chromadb.Client()
collection = client.create_collection("docs")

# Add documents
collection.add(
    documents=["ChromaDB is awesome", "Vector databases are the future"],
    ids=["1", "2"]
)

# Search
results = collection.query(
    query_texts=["What's awesome?"],
    n_results=1
)
Enter fullscreen mode Exit fullscreen mode

ChromaDB


10. Hono: An ultralight web framework for edge devices

An ultralight web framework built for the edge. While other frameworks started with servers in mind, Hono was explicitly designed for edge computing platforms like Cloudflare Workers and Deno Deploy. It's swift, has a tiny footprint, and provides a familiar Express-like API.

Getting started with it is very easy.

npm create hono@latest
Enter fullscreen mode Exit fullscreen mode

A simple example

import { Hono } from 'hono'
const app = new Hono()

app.get('/', (c) => c.text('Hono!'))

export default app
Enter fullscreen mode Exit fullscreen mode

Hono

11. Astro: The web framework for content driven websites

A web framework that's changing how we think about shipping JavaScript: Astro delivers lightning-fast websites by default, sending zero JavaScript to the client unless you explicitly need it. What sets it apart is its "Islands Architecture" – you can mix and match React, Vue, or Svelte components in the same project, and Astro will only hydrate what's necessary.

This means you get the best of both worlds: dynamic components where you need them and static, blazing-fast HTML everywhere else. Perfect for content-heavy sites that need selective interactivity.

#create new project
npm create astro@latest
Enter fullscreen mode Exit fullscreen mode
---
// pages/index.astro
const data = await fetch('api/posts').then(r => r.json())
---
<html>
  <body>
    {data.map(post => (
      <article>
        <h2>{post.title}</h2>
        <p>{post.excerpt}</p>
      </article>
    ))}
  </body>
</html>

Enter fullscreen mode Exit fullscreen mode

Astro


12. Grafbase: GraphQL federation platform

Grafbase lets you define your API schema with TypeScript and handles all the backend complexities. What's cool is how it connects with your existing tools—from Auth0 for authentication to S3 for file storage.

Plus, it automatically deploys your API to the edge, making it blazing fast no matter where your users are. It's perfect for teams that want a modern GraphQL backend without the operational headaches.

# Install Grafbase CLI
npm install -g grafbase

# Initialize a new project
grafbase init my-api
Enter fullscreen mode Exit fullscreen mode
// schema.ts
type Post @model {
  id: ID!
  title: String!
  content: String
  author: User!
}

type User @model {
  id: ID!
  name: String!
  posts: [Post]
}
Enter fullscreen mode Exit fullscreen mode

Grafbase


13. Letta: Build LLMs with memory

Letta is an innovative AI platform that brings advanced memory capabilities to LLM-based agents. Founded in UC Berkeley's Sky Computing Lab, it enables AI agents to maintain persistent memory and state across interactions.

Creating an Agent

from letta import EmbeddingConfig, LLMConfig, create_client

client = create_client()

# set automatic defaults for LLM/embedding config
client.set_default_llm_config(LLMConfig.default_config(model_name="gpt-4"))
client.set_default_embedding_config(EmbeddingConfig.default_config(model_name="text-embedding-ada-002"))

# create a new agent
agent_state = client.create_agent()
print(f"Created agent with name {agent_state.name} and unique ID {agent_state.id}")

Enter fullscreen mode Exit fullscreen mode

Once an agent is created, you can message it:

# Message an agent

response = client.send_message(
agent_id=agent_state.id,
role="user",
message="hello"
)
print("Usage", response.usage)
print("Agent messages", response.messages)
Enter fullscreen mode Exit fullscreen mode

For more, check out the documentation.

Letta


Thank you for reading, and again, a happy new year.

Top comments (16)

Collapse
 
exocody profile image
ExoCody

Great roundup of open-source tools! 👏

Not open-source, but definitely worth checking out too: Exocoding. We just launched, and it’s free to use! It’s all about giving devs the freedom to generate code without low-code constraints or vendor lock-in.

Would love to hear your thoughts if you give it a spin!

Collapse
 
sunilkumrdash profile image
Sunil Kumar Dash

Oh, that's great. It actually looks promising.

Collapse
 
kdhrubo profile image
Dhrubo Kayal

You also need DB2Rest to turn your database into REST API in minutes to quickly build your apps.

DB2Rest.com

Collapse
 
makscraft profile image
Maksim Zaikov

Good list, thank you!

Collapse
 
sunilkumrdash profile image
Sunil Kumar Dash

I'm glad you liked Maksim.

Collapse
 
samcurran12 profile image
Sammy Scolling

Thanks for this list. i have been using Hono it's great.

Collapse
 
johncook1122 profile image
John Cook

I was thinking something like Encore. Might be a goos fit for our next project.

Collapse
 
time121212 profile image
tim brandom

Great list, I am building an AI code reviewing agent for my local use cases. Composio seems good for this. Thanks.

Collapse
 
sunilkumrdash profile image
Sunil Kumar Dash

Thank you, it's great.

Collapse
 
kevindublin profile image
Vin Dublin

Great list! I can't wait to try Val Town & Hono.

I haven't tried Astro yet, but a similar open source alternative that fits the same use case but maybe has more purposes might be Modulo.js. I just used it to soft launch an early version of a "static" PWA Daily Write, and I highly recommend the framework!

Collapse
 
jason_brown_3d10050167aaa profile image
jason brown

You have a certificate warning.

Collapse
 
suraj__ profile image
Suraj

Great share!

Collapse
 
ken_lee_bdf239a31aada3ab9 profile image
Ken Lee

Thanks for ai-intergration tool sharing

Collapse
 
nozibul_islam_113b1d5334f profile image
Nozibul Islam

Great.