Skip to content

Bytes-and-Pixels/engineer-challenge-2026-public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pulse

This repository is a coding challenge for engineering candidates. It is not intended for production use.

Pulse is a small internal customer-feedback inbox for support teams. Sign in, browse incoming feedback across email, chat, and app-store channels, open an item to read the full message and customer details, resolve or reopen it, and generate a quick AI summary of any message. The app also includes assignment routing, priority and due-date fields, customer profile history, internal notes, a small metrics panel, search, and CSV export.

Requirements

  • Node 20+
  • npm

Setup

  1. Install dependencies (installs both the server and web packages):

    npm install
  2. Create the environment files from the examples:

    cp server/.env.example server/.env
    cp web/.env.example web/.env

    The defaults run the app fully offline — the Summarize feature uses a built-in canned summarizer (FAKE_LLM=true), so no API key is required.

  3. Seed the database with sample users, customers, and feedback:

    npm run seed
  4. Start the API and the web app together:

    npm run dev

Open the web app in your browser and sign in.

Test login

  • Email: alice@pulse.test
  • Password: password123

Project layout

  • server/ — Node + Express + TypeScript API backed by SQLite (better-sqlite3).
  • web/ — React + TypeScript single-page app built with Vite.

Optional: live summaries

To use a real model for the Summarize feature, set the following in server/.env:

FAKE_LLM=false
OPENAI_API_KEY=sk-...

About

Engineering take-home for Bytes & Pixels candidates. Pulse, a small full-stack customer-feedback app (React/TS, Node/Express, SQLite). See the README to get started.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors