FULL-STACK APPLICATION

ANQ Next Step

A personal application workspace that keeps stages, conversations, and follow-ups together.

  • React
  • TypeScript
  • PostgreSQL

Live read-only demo

Fictional applications. The public workspace is read-only.

ANQ Next Step showing fictional demonstration data
Interface shown with fictional sample data. View full screenshot

The problem

A job hunt can scatter role details, preparation notes, and follow-up dates across saved links and message threads. A pipeline alone misses the conversations and decisions that explain how an application got there.

ANQ Next Step keeps the current facts and their history together. It is a personal workspace; it does not submit applications, scrape listings, or read email.

The application

Active applications move through saved, applied, interviewing, and offer stages. Accepted, rejected, and withdrawn are explicit outcomes. Archiving is a separate choice that preserves history.

The interface includes a pipeline, a due follow-up view, application details, append-only notes, stage history, and JSON export. A public demo exposes fictional companies and disables every mutation. An actual owner workspace requires sign-in.

Technical decisions

  • React and TypeScript for forms, pipeline, search, and detail views.
  • Fastify and strict Zod schemas at the API boundary.
  • PostgreSQL transactions record a stage change and its history event together.
  • Optimistic locking prevents an older edit from silently replacing newer data.
  • Calendar dates remain SQL dates, avoiding timezone shifts in follow-up days.
  • Only active, unarchived applications are considered for follow-ups.
  • Job listing links allow HTTP(S), and note text is never rendered as HTML.

Owner authentication follows the same approach as ANQ Server Ops, with independent sessions and deployment. Each hosted application has its own Unix account, key, container network, and database store.

Evidence

Automated API and model tests verify access control, Origin checking, date and URL validation, atomic stage history, stale edits, note preservation, archiving, export, session expiry, and public-demo restrictions.

Browser checks exercise the owner workflow from sign-in through adding a role, changing its stage, writing a note, reloading, finding a due follow-up, archiving, exporting, and signing out. They also check demo search and navigation, responsive layout, and an automated WCAG A/AA scan of the pipeline.

The current public HTTPS demo also passed checks for fictional records and rejected writes. Its encrypted off-host database backup was restored into an isolated PostgreSQL instance, with all checked table counts matching the saved data.

Boundaries

Follow-ups are a view to consult, not delivered reminders. The app is single-owner and intended for a personal-sized collection. History is append-only through the API; an administrator can still alter the database. Export is not a substitute for an encrypted, tested database backup.

Implementation process

Developed with AI assistance and validated with real PostgreSQL and browser workflows. No real applications, contact details, or private job-hunt documents were imported into the demo. Independent review and owner feedback remain next steps before relying on it for private data.