dailyfocus
Daily planning with focus, tasks and reflection — Next.js + TypeScript.
git clone https://github.com/fernandofatech/dailyfocus.gitListen to guide
generated on playGenerated only on first play
Powered by Amazon Polly + OmniVoice
DailyFocus is a Next.js + TypeScript productivity web app that structures your day into three deliberate phases: intentional planning, timed work sessions, and an end-of-day reflection.
What it is and why it exists
Most productivity tools solve only one problem: task lists, or Pomodoro timers, or journals. DailyFocus starts from a different premise — a productive day has a natural structure with a beginning, middle and end, and the tool should reflect that.
The project was built as part of my portfolio ecosystem under the moretes.com domain. It is a real, deployed, actively used application — not a throwaway exercise. That means the stack choices reflect what I would genuinely pick for a professional project of similar scope: Next.js for routing and SSR without unnecessary overhead, TypeScript for type safety across the entire codebase, Tailwind CSS for a functional UI without heavy component abstractions, and Vercel for frictionless continuous deployment.
The scope is deliberately contained. There is no custom backend, complex authentication, or relational database in this version. The focus is on the usage experience — a distraction-free interface that guides the user through the daily cycle without imposing unnecessary ceremony. This also makes the repository a useful reference for a production-oriented Next.js project structure.
What the app delivers
How the app works — user flow
DailyFocus's daily cycle moves through three sequential phases in the browser, with no server roundtrips for core logic.
- Usuário · Browser
- Planejamento · Foco do dia + tarefas
- Timer de Foco · Sessões Pomodoro
- Gestão de Tarefas · Status & progresso
- Reflexão · Fim do dia
- Estado Local · (client-side)
- Vercel · Edge CDN + CI/CD
- GitHub · fernandofatech/dailyfocus
Technical decisions worth noting
Next.js as the foundation is not the obvious choice for a client-side productivity app, but it makes sense here for a few practical reasons: the file-based routing keeps page structure explicit, TypeScript support is first-class, and the Vercel ecosystem eliminates all CI/CD configuration. If the project evolves to include server-side persistence or authentication, the foundation is already in place.
Tailwind CSS was chosen over component libraries like MUI or Chakra because the app has specific UI requirements — distraction-free means granular control over spacing, typography and color without overriding third-party defaults. With Tailwind, what is in the code is exactly what is on the screen.
Strict TypeScript throughout the codebase. On a solo project this can feel like overhead, but it is what ensures that future refactors — especially when the project sits idle for weeks — do not introduce silent regressions.
pnpm as the package manager for installation performance and disk-efficient node_modules, particularly relevant in CI environments where every build second matters.
The project follows a modular, production-oriented structure. Although the README does not detail the directory tree, the Next.js + TypeScript pattern implies a clear separation between pages, components, hooks and utilities — enough for any engineer familiar with the ecosystem to navigate without friction.
Local installation and usage
- 1
Prerequisites
Node.js 18+ and pnpm installed. Confirm with
node -vandpnpm -v. If pnpm is missing:npm install -g pnpm. - 2
Clone the repository
Clone the repo and enter the directory:
git clone https://github.com/fernandofatech/dailyfocus.git && cd dailyfocus - 3
Install dependencies
Run
pnpm install. pnpm will resolve the lockfile and install dependencies deterministically. - 4
Run in development
Run
pnpm dev. Next.js will start athttp://localhost:3000with hot reload enabled. - 5
Production build (optional)
Run
pnpm build && pnpm startto validate the optimized build locally before any deployment. - 6
Deploy to Vercel
Connect the repository to Vercel via dashboard or CLI (
vercel). Vercel auto-detects Next.js — no additional configuration is needed for a basic deployment.
# 1. Clone
git clone https://github.com/fernandofatech/dailyfocus.git
cd dailyfocus
# 2. Install (pnpm required — install if missing)
npm install -g pnpm
pnpm install
# 3. Dev server — open http://localhost:3000
pnpm dev
# 4. (Optional) Production build check
pnpm build
pnpm start
# 5. (Optional) Deploy to Vercel
npx vercelOn application state
Based on the declared stack (Next.js, TypeScript, Tailwind, no backend mentioned), app state is managed client-side. This means planning data and tasks likely live in memory or localStorage during the session. There is no cross-device sync in this version — which is a valid scope decision for a personal focus app, not an accidental limitation.
Frequently asked questions
Can I use the app without cloning the repository?
Yes. The production version is available at https://dailyfocus.moretes.com — no installation required.
Is my planning data saved between sessions?
Likely via browser localStorage, meaning local persistence on the same device and browser. There is no user account or remote sync in this version.
Can I contribute to the project?
Yes. The repository accepts issues and pull requests. For significant changes, open an issue first to align on direction before implementing.
Does this project use any paid external services?
Deployment uses Vercel, which has a generous free tier for personal projects. No other external services are identified in the declared stack.
What is the project's license?
MIT. You can use, modify and distribute freely, including for commercial purposes, as long as you retain the license notice.
Who this project is for
DailyFocus is useful in two distinct contexts. As a productivity tool, it serves anyone who wants to structure their day with intention — set a clear focus, work in timed blocks, and close the day with reflection, all in a clean interface without the overhead of tools like Notion or ClickUp. As a code reference, it serves engineers who want to see how to structure a production-oriented Next.js + TypeScript + Tailwind project with continuous deployment on Vercel, at a realistic scope and without speculative architecture.
It is not a complex project management app, it has no real-time collaboration, and it does not replace long-term planning tools. It is exactly what it says it is: a tool for executing a focused day. If that is the problem you want to solve, the app is in production now at dailyfocus.moretes.com and the code is available for forking and adaptation under the MIT license.
Architecture, AWS, AI and market deep dives — straight to your inbox. Free.
No spam · unsubscribe anytime