Skip to content

feat: rebrand app to ShipHours for software engineers#4

Open
ddfonseca wants to merge 10 commits intomainfrom
feat/shiphours-rebrand
Open

feat: rebrand app to ShipHours for software engineers#4
ddfonseca wants to merge 10 commits intomainfrom
feat/shiphours-rebrand

Conversation

@ddfonseca
Copy link
Copy Markdown
Owner

Summary

  • Renamed the app from "Horas Líquidas" (PT study-tracker for students) to ShipHours (EN time-tracker for software engineers)
  • Translated all Portuguese UI text to English across every component, page, and modal
  • Remapped domain terminology: Subject→Task, Discipline→Project, StudyCycle→FocusCycle, StudySession→WorkSession
  • Removed the Allocation feature entirely
  • Rewrote the landing page copy for a software engineering audience
  • Replaced Portuguese blog content with engineering-focused articles (deep work in the AI age)
  • Updated all config files, package names, page titles, lang attributes, and legal pages (Terms/Privacy)

Key Changes

Area Before After
App name Horas Líquidas ShipHours
Language pt-BR en-US
Domain model Subject / StudySession Task / WorkSession
Feature set includes Allocation Allocation removed
Target audience Students / concurso público Software engineers

Testing

  • Backend: 210 tests, 9 suites — all pass (make test)
  • TypeScript: 0 source errors; 5 pre-existing test-only errors unrelated to this rebrand
  • Grep sweep: zero Portuguese UI strings remaining in source files
  • All Prisma model renames use @@map to preserve existing table names (no migration needed)

Post-Deploy Monitoring & Validation

  • No additional operational monitoring required: this is a pure UI/copy rebrand with no behavior changes, no schema changes, and no API contract changes. All DB table names are preserved via @@map.

🤖 Generated with Claude Sonnet 4.6 (200K context) via Claude Code

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

ddfonseca and others added 10 commits March 10, 2026 18:09
Remove ExamProfile, SubjectProfile, ExamTemplate, and ExamTemplateItem
models from Prisma schema. Delete all allocation-related frontend
components, views, stores, API clients, and backend modules. Clean up
imports, routes, navigation, onboarding tour, and feature badges.

Part of ShipHours rebrand (Unit 1 of 12).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename Subject→Task, Discipline→Project, StudyCycle→FocusCycle,
StudySession→WorkSession and related junction models. All @@Map values
preserved so database tables/columns remain unchanged. Zero migration
generated.

Part of ShipHours rebrand (Unit 2 of 12).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename NestJS modules: subject→task, discipline→project,
study-cycle→focus-cycle, study-sessions→work-session. Update all class
names, Prisma client calls, route paths, DTOs, and cross-module
references. All e2e test files updated.

Part of ShipHours rebrand (Unit 3 of 12).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename TypeScript types: Subject→Task, Discipline→Project,
StudyCycle→FocusCycle, StudySession→WorkSession. Rename API client files
and update endpoint URLs. Update session.ts Portuguese field names to
English. Update analytics utils.

Frontend will not compile until stores/components are updated (Units 5-6).

Part of ShipHours rebrand (Unit 4 of 12).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename Zustand stores: subjectStore→taskStore, disciplineStore→
projectStore, studyCycleStore→focusCycleStore. Rename hooks:
useSubjectAnalytics→useTaskAnalytics, useRecentSubjects→useRecentTasks.

Rename components: SubjectPicker→TaskPicker, DisciplinePicker→
ProjectPicker, study-cycle/→focus-cycle/, all Subject* dashboard
components→Task*. Rename views: SubjectsPage→TasksPage,
DisciplinesPage→ProjectsPage, etc.

Update App.tsx and SpaApp.tsx routes in sync. Update all consumer imports.

Part of ShipHours rebrand (Units 5-6 of 12).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Translate remaining Portuguese strings in TasksPage, ProjectsPage,
  TasksAndProjectsPage, task-picker, confirm-dialog, focus-cycle components,
  and several hooks
- Fix stale type references: StudySession→WorkSessionUI, materia→taskName,
  minutos→minutes in SessionModal, CalendarCell, SwipeableSessionItem
- Rewrite LandingPage copy for software engineers (hero, features, FAQ,
  pricing, social proof)
- Translate TermsPage and PrivacyPage to English, rebrand to ShipHours
- Replace 3 study-specific blog posts with deep-work-in-the-age-of-ai.mdx
- Update blog layout, index, config, and RSS feed to ShipHours branding
- Update package.json names, HTML lang="en", page titles, BaseLayout
- Rebrand fly.toml, netlify.toml, docker-compose.yml, cross-domain-auth docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant