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.
Log in or sign up for Devpost to join the conversation.