DEV Community

Nilesh H. Thipe
Nilesh H. Thipe

Posted on

Before You Pay for That Internship: Building OfferClara with Wispr Flow | No Hands: The Wispr Challenge by WeMakeDevs and Wispr Flow

Imagine receiving an internship offer that looks perfect. The role sounds interesting, the stipend looks good, and the recruiter says your selection is confirmed.

Then comes one last requirement: pay a registration fee or training charge to secure your seat.

Would you pay? Would you trust the message? Or would you know what to check before replying?

For students and first-time job seekers, these situations can be difficult to judge. When you're trying to get your first internship, you might not have enough experience to recognise suspicious requests or know which details to verify.

That was the problem I wanted to work on when I started building OfferClara.

Try OfferClara

Why I chose this problem

I'm a college student myself, so this is a problem I can relate to. I've seen suspicious job offers and internship messages being shared among students, including in college group chats.

The problem isn't always that a message looks obviously fake. Sometimes it looks professional enough to make you hesitate before questioning it. A recruiter might use formal language, promise a good opportunity, or create urgency by asking you to complete everything within a short deadline.

Students may be asked for training fees, registration charges, security deposits, or sensitive identity documents before they've independently verified the opportunity.

I wanted to build something that could help people slow down and look at an offer more carefully.

Not another tool that simply declares, "This is a scam."

I wanted a tool that could show people what deserves a second look, what information is missing, and what they should verify next.

That's how OfferClara started.

What is OfferClara?

OfferClara is an AI-assisted offer review tool for students and first-time job seekers. It helps users review job and internship communications before paying money or sharing sensitive documents.

The name combines Offer with Clara, representing clarity. The idea is simple: make confusing offers easier to understand.

I wanted the experience to feel straightforward, even for someone who isn't familiar with technical terms or AI tools.

How the review works

Instead of asking users to paste a message and immediately showing them a verdict, OfferClara guides them through a structured review.

1. Add the offer

Users can paste or type the text of an offer, or upload screenshots and PDFs. The extracted text can be reviewed and edited before analysis.

2. Explain where it came from

Was the offer received through email, LinkedIn, WhatsApp, Telegram, a campus placement channel, or a job portal? Did the candidate actually apply for the role? This context can help frame the review.

3. Describe the conversation

Sometimes important details aren't written in the offer letter. A recruiter might have made a promise over a phone call or explained something during an interview. Users can describe those conversations in their own words.

4. Identify money or documents being requested

Users can record whether the recruiter asked for training fees, a security deposit, equipment charges, or sensitive identity documents.

5. Review and analyse

Before submitting, users can review the information they've entered. OfferClara then produces a structured review that highlights potential concerns, missing employment details, and questions worth asking the recruiter.

The analysis results also include a structured prompt for company research. Users can use it to investigate the company further, verify important details, and conduct their own research before deciding whether to trust an offer.

The idea is to go beyond simply flagging suspicious wording. I want users to have a practical next step: understand the concerns, investigate the employer, and verify the opportunity independently.

The goal isn't to make the decision for the user. It's to help them ask better questions before making a decision themselves.

Watch the project demo on YouTube

I wanted the tool to explain its reasoning

One design decision mattered to me: I didn't want users to receive a mysterious AI-generated score without understanding where it came from.

OfferClara connects its observations to exact quotations from the supplied text. For example, if an offer requests a training fee before the internship begins, the review can show the relevant sentence and explain why it deserves attention.

The application also separates two things that are easy to confuse:

  • What the offer actually says: statements and requests found in the provided text.
  • What the offer leaves unclear: details such as compensation, working hours, duration, or other important employment terms that may be missing.

That distinction matters. Missing information isn't automatically proof of fraud, and a professional-looking document isn't proof of legitimacy.

The implementation also validates quoted evidence against the original text before displaying it. If a model produces a quotation that doesn't match the user's input, the application can discard that finding rather than presenting it as evidence.

This is one of the most important parts of the project for me. When an AI tool is helping someone make a potentially important decision, its limitations matter just as much as its capabilities.

Where Wispr Flow changed my development workflow

This project was built for No Hands: The Wispr Challenge, organised by WeMakeDevs and Wispr Flow.

The challenge encouraged builders to use their voices for the building process: describing requirements, prompting coding tools, writing documentation, and communicating as they worked.

I decided to treat Wispr Flow as part of my regular workflow rather than something to demonstrate only at the end.

1. Speaking my development prompts

While building OfferClara, I used Wispr Flow to dictate prompts and follow-up instructions into my AI coding workflow.

When working on a feature, I often needed to explain several things together: what the interface should do, how a user should move through it, what edge cases to consider, and what shouldn't change.

Speaking those requirements felt more convenient than typing every detail manually. I could explain the intended behaviour in natural language and then review the resulting text before sending it to the coding assistant.

Wispr Flow handled the dictation. My coding tool handled implementation, and I still had to review the changes and test the application.

That distinction is important. Wispr Flow didn't build the project by itself; it changed how I communicated what I wanted to build.

2. Testing with realistic offer text

Another useful moment came during testing.

OfferClara depends on the text a user provides, so I needed to try realistic inputs rather than only neat, prepared examples. I used Wispr Flow to dictate offer text and other information directly into the application.

This helped me experience the workflow from a user's perspective: enter information, review it, correct anything necessary, and then run the analysis.

I also experimented with dictating questions into the Clear Doubt with AI feature.

It made me think more carefully about how someone might actually use the product. A person reviewing a suspicious message may want to explain a phone conversation in their own words or ask a question without carefully composing every sentence.

3. Asking friends to test the project

I also wanted other people to try OfferClara instead of relying only on my own testing.

I used Wispr Flow to draft the message inviting friends to test the application. It was a small task, but it was another practical use outside the coding environment.

Across these activities, I found voice input quicker and more convenient for me than typing everything. I was also pleasantly surprised by how accurately Wispr Flow captured what I said. I ended up using it more than I initially expected.

The biggest takeaway wasn't that speaking could replace every keyboard action. It was that I could explain a longer thought naturally, get it into the application I was using, and keep moving.

Learn more about the challenge

A few technical decisions behind OfferClara

I built OfferClara as a web application using Next.js, React, TypeScript, and Tailwind CSS. It uses Google's Gemini API for offer analysis and document text extraction, with a model fallback approach for supported AI operations. Zod validates structured model output, and Vitest is used for automated testing. The application is deployed on Vercel.

One of the more important engineering decisions was to avoid treating the language model as the final authority.

The application validates evidence in code, separates observations from missing information, and avoids assigning a numerical risk score or declaring an offer safe or fraudulent. The user sees specific concerns and verification questions instead.

I also built a Clear Doubt with AI page for follow-up questions, a command box that supports natural-language interface commands, and a help and reporting page containing official resources.

These features are intended to make the tool useful beyond a single analysis. Someone might want to understand a clause, navigate the application using a dictated command, or find out where to report a suspected scam.

Privacy needed careful thought, too

People may paste offer letters containing names, email addresses, phone numbers, or other sensitive details. I didn't want OfferClara to require an account or maintain a saved history of those documents.

The current application keeps the review session in temporary browser memory and doesn't persist offer text or uploaded files in a database. However, the text submitted for analysis is sent to the configured AI provider, so users should read the privacy notice and avoid submitting information they aren't comfortable sharing with that provider.

I think privacy explanations should be clear enough that people can make an informed choice before using a tool.

What OfferClara cannot do

Building this project also meant being clear about what it doesn't solve.

OfferClara analyses the content provided by the user. It cannot independently confirm that the recruiter is who they claim to be, authenticate an email address, verify a company's identity, or know what was said in a conversation unless the user describes it.

It can also miss unusual scam patterns or misinterpret ambiguous text. Document extraction can introduce errors, especially when screenshots are unclear. A review with no identified concerns must not be treated as proof that an offer is legitimate.

For that reason, OfferClara is a decision-support tool, not a guarantee, a background-check service, or legal advice. Users should verify offers independently through official company channels and consult official reporting resources if they suspect fraud.

I would rather make those limitations clear than promise something the tool cannot reliably deliver.

What I learned from building it

This project reminded me that building a useful tool involves more than getting an AI model to return an answer.

The workflow around that answer matters. The evidence shown to a user matters. Missing information matters. And so does making it clear when the application cannot know something.

I also learned to pay attention to the smaller parts of development: describing a feature clearly, trying realistic input, asking someone else to test it, and revisiting behaviour that doesn't feel right.

Using Wispr Flow throughout those activities made voice dictation a practical part of my process, not just a feature to mention in a hackathon submission.

There is still room to improve OfferClara. I want to expand its coverage of job-offer scenarios, improve support for different types of employment clauses, explore regional-language guidance, and continue testing the experience with more users. These are future improvements, not claims about features already completed.

Try OfferClara

If you're a student or a first-time job seeker, I hope OfferClara can help you pause, review an offer, and decide what to verify before sending money or sharing sensitive documents.

Live project: https://offerclara-wisprflow.vercel.app/

GitHub repository: https://github.com/nilesh0199/OfferClara-WisprFlow-Hackathon

Demo video: https://youtu.be/uXINb5E6vwg

Hackathon details: https://www.wemakedevs.org/wispr

Connect with me on LinkedIn: https://www.linkedin.com/in/nilesh-h-thipe-372291253/

I used Wispr Flow to dictate development prompts, enter test content, and draft messages while building and testing OfferClara. I also used AI-assisted coding tools during development and Gemini API for the application's offer analysis. I reviewed and tested the implementation as I built the project.

A special thank you to Wispr Flow for providing us with a one-month free trial of the Wispr Flow Pro plan. It gave me the opportunity to explore its features and use voice dictation throughout my development and testing workflow. Thank you to WeMakeDevs and Wispr Flow for organising this challenge and giving us the opportunity to build, experiment, and learn.

For me, OfferClara is a small attempt to use technology to help students make more informed decisions.

An AI tool doesn't need to make the final decision for someone. Sometimes, helping them notice what to question before they act is already a useful place to start.

Understand the offer. Know what to verify. Make every offer clear.

What I learned from building it

This project reminded me that building a useful tool involves more than getting an AI model to return an answer.

The workflow around that answer matters. The evidence shown to a user matters. Missing information matters. And so does making it clear when the application cannot know something.

I also learned to pay attention to the smaller parts of development: describing a feature clearly, trying realistic input, asking someone else to test it, and revisiting behaviour that doesn't feel right.

Using Wispr Flow throughout those activities made voice dictation a practical part of my process, not just a feature to mention in a hackathon submission.

There is still room to improve OfferClara. I want to expand its coverage of job-offer scenarios, improve support for different types of employment clauses, explore regional-language guidance, and continue testing the experience with more users. These are future improvements, not claims about features already completed.

Try OfferClara

If you're a student or a first-time job seeker, I hope OfferClara can help you pause, review an offer, and decide what to verify before sending money or sharing sensitive documents.

A big thank you to Wispr Flow and WeMakeDevs for creating this challenge and giving builders an opportunity to experiment with a voice-first workflow.

For me, OfferClara is a small attempt to use technology to help students make more informed decisions.

An AI tool doesn't need to make the final decision for someone. Sometimes, helping them notice what to question before they act is already a useful place to start.

Understand the offer. Know what to verify. Make every offer clear.

Top comments (0)