DEV Community

Cover image for FriendReply AI — Three Natural Ways to Reply to Any Message
Vikas
Vikas

Posted on

FriendReply AI — Three Natural Ways to Reply to Any Message

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

I built FriendReply AI, a small AI-powered web app that helps a friend reply to messages without spending too much time thinking about how to phrase them.

The idea is simple: sometimes you already know what you want to say, but you want a few natural ways to say it.

FriendReply AI lets the user:

  • paste a message
  • choose a tone
  • choose a reply style
  • generate exactly 3 reply suggestions
  • copy the reply they want to use

I built it around a real everyday communication problem and tested the working application with a friend using different messages, tones, and styles.

The goal wasn't to build another general-purpose chatbot. I wanted to build one small tool that does one useful thing well:

Message → Tone + Style → 3 natural replies

Demo

Live Demo

Try FriendReply AI

GitHub

View the source code

The deployed application includes the React frontend and connected backend AI service.

How I Built It

FriendReply AI uses an open-weight AI model through the Dahl inference API.

The architecture is:

React Frontend
      ↓
POST /api/reply
      ↓
Node.js + Express Backend
      ↓
Dahl OpenAI-compatible API
      ↓
Open-weight Model
      ↓
3 Reply Suggestions
Enter fullscreen mode Exit fullscreen mode

Frontend

The frontend is built with:

  • React
  • Vite
  • JavaScript
  • CSS

The user selects a tone and style and sends the message to the backend.

Backend

The backend uses:

  • Node.js
  • Express

The backend handles the AI request instead of exposing the AI API key to the browser.

AI

The application currently uses:

deepseek-ai/DeepSeek-V4-Flash-0731

through Dahl's OpenAI-compatible inference API.

The backend instructs the model to:

  • generate exactly three replies
  • preserve the user's intended meaning
  • avoid inventing facts or commitments
  • follow the requested tone
  • keep replies concise
  • make the suggestions meaningfully different
  • return structured JSON

This makes the AI output easier for the application to process reliably.

Why Does Open Innovation Matter?

Open innovation matters because the AI model should not have to be permanently tied to one closed provider.

For FriendReply AI, the model is separated from the frontend and accessed through a backend inference layer. This means the underlying model can be changed or experimented with without redesigning the entire application.

Using an open-weight model also made this project a useful way to learn how model inference fits into a real application:

User Interface
      ↓
Application Backend
      ↓
Model Inference
      ↓
Structured AI Output
Enter fullscreen mode Exit fullscreen mode

It also keeps the project focused on the application itself rather than requiring a large custom AI training pipeline.

My Agent Session

I did not use DevRelay for this project, so I am leaving the optional agent session section out.

Prize Categories

I am submitting this project for the main Build for a Friend challenge.

Final Thoughts

FriendReply AI is intentionally small.

I didn't want to build an AI assistant that tries to do everything. I wanted to solve one everyday problem for a friend: making it easier to turn a thought into a natural reply.

The project gave me the opportunity to work with an open-weight model, build an AI-backed application from frontend to inference, deploy it, and test the result with a real user.

Thanks for checking out FriendReply AI!

Top comments (0)