Back to all projects

AI / Full StackCompleted / prototype

SwiftApply

An application-writing tool designed around keeping personal context on-device

A Chrome extension that uses on-device AI to help with job summaries, cover letters, profile matching, and application tracking.

My role
Extension Developer
When
3 weeks
Context
Chrome Built-in AI Challenge 2025
01 / THE OVERVIEW

What I set out to build

Internship applications repeat the same information constantly, but sending a full personal profile to another backend for every generated paragraph felt unnecessary. I wanted to build a useful AI writing workflow around a privacy constraint instead of treating the model call as the product.

My contribution

  • Built the React/TypeScript Chrome extension with WXT.
  • Structured profile and application context stored locally.
  • Integrated on-device Gemini Nano writing flows using Chrome’s Prompt API.
  • Added matching, form-fill helpers, tracking, and availability/error handling.

Problem & approach

The React/TypeScript extension keeps profile and application context in local browser workflows. Chrome’s Prompt API runs Gemini Nano on-device for summaries and cover letters. Content scripts read a posting, a background workflow constructs the model context, and the interface returns structured, editable results. I connected that to matching, form-fill helpers, and locally stored application statuses.

How it works

  1. 01

    Store locally

    Store reusable personal/application information on the user’s device.

  2. 02

    Read the application

    Select the relevant information for a specific application.

  3. 03

    Build context

    Construct model context for the requested writing task.

  4. 04

    Generate & edit

    Return editable generated material without requiring a central profile database.

Results & progress

On-device
AI inference
Chrome MV3
Extension
  • Working Chrome extension prototype with job summaries, tailored cover letters, matching, form-fill helpers, and tracking.

Limits & lessons

Limitations

  • On-device AI availability depends on browser and device support.
  • The local AI workflow does not imply that every website visited through the extension is private.

What I learned

  • SwiftApply made me think more carefully about product constraints around AI. The easiest architecture is not always the one that matches how I want user data to be handled.

Next steps

  • Make the local data model easier to manage.
  • Make the context used for each generation easier to inspect.
  • Improve editing and reuse workflows if I revisit the project.
Another projectBank Subscription Prediction