Inspiration

GhostDesk started as a minimal, modern support/desk UI prototype — a place to explore the Next.js app router, TypeScript-first development, and clean, performance-first frontend patterns (including next/font for optimized fonts). The goal was to build a small, extensible app scaffold that can grow into a customer-support or internal ticketing interface.

What it does

GhostDesk provides a Next.js-based frontend scaffold with TypeScript, a prepared app directory, routing, and basic static/public assets. It’s a developer-ready starting point that demonstrates optimized font loading, linting, and CSS processing so you can quickly iterate on UI and features.

How we built it

  • Bootstrapped with create-next-app and the Next.js app router (project includes an app/ folder and next.config.ts).
  • TypeScript is enabled (tsconfig.json present) for safer, self-documenting code.
  • Development tooling includes ESLint (eslint.config.mjs) and PostCSS (postcss.config.mjs) to handle CSS processing and code quality.
  • The README shows next/font usage with the Geist font for fast, optimized web fonts and the project is ready to deploy to Vercel.

Challenges we ran into

  • Deciding on the right project structure for future expansion (app router vs pages router) and keeping things simple while remaining flexible.
  • Configuring linting and TypeScript so they play nicely with the Next.js app folder and build tools.
  • Balancing minimal initial functionality with a scaffold that’s useful for multiple directions (support desk UI, admin panel, or internal tooling).

Accomplishments that we're proud of

  • A clean, TypeScript-first Next.js scaffold that’s ready for feature work.
  • Proper build and dev tooling (ESLint, PostCSS) integrated from the start to enforce quality and consistency.
  • Optimized font setup and a simple public/assets structure so designers and developers can iterate quickly.

What we learned

  • How the Next.js app router organizes routes and layouts and how that impacts component and data-loading structure.
  • Trade-offs between minimal starter templates and a scaffold that’s flexible for real features.
  • The value of configuring linting and CSS tooling early to avoid refactors later.

What's next for GhostDesk

  • Add core product features: ticket list, ticket detail view, create/update actions, and simple state management.
  • Wire up a backend or serverless API (e.g., Next.js API routes or a small Node/Express service) and add a database for persistence.
  • Improve UX: authentication, role-based access, search and filters, and richer ticket metadata.
  • CI/CD, automated tests, and a CONTRIBUTING.md to prepare the repo for collaborators and deployment to Vercel.

Built With

Share this project:

Updates