Ethiopian calendar and productivity tools: date conversion, age calculation, holidays, Amharic typing, notes and a focus timer.
# EthioTime
**ethiotime.com**
A set of Ethiopian calendar and productivity tools that run in the browser. Everything works
against both the Ethiopian and Gregorian calendars, and the parts that hold your data — notes,
planned events — keep it in the browser rather than on a server.
## Tools
| Tool | What it does |
| --- | --- |
| Date Converter | Convert dates between the Ethiopian and Gregorian calendars |
| Age Calculator | Work out an exact age in either calendar |
| Ethiopian Calendar | Month view with weekdays and holidays marked |
| Amharic Keyboard | Type fidel by transliteration (`selam` gives ሰላም) |
| Note Taking | Markdown notes with LaTeX and code, exported to Word or PDF |
| Focus Timer | Timed study rounds tied to a note, with totals, streaks and a study heatmap |
| Event Planner | Plan events in either calendar, with reminders and recurring rules |
| Holiday Guide | Ethiopian public holidays, their dates and background |
The interface is available in English and Amharic, and the app is installable as a PWA with an
offline fallback. It follows the system light/dark setting unless you pick one, and the choice is
remembered on the device.
## Command palette
`Ctrl K` (`⌘K` on a Mac), or `/` anywhere outside a text field, opens a palette that answers rather
than just navigates:
| You type | You get |
| --- | --- |
| `1/1/2017` | Both readings of the date, Ethiopian and Gregorian, ranked by the likelier one |
| `meskerem 1 2018` | The Gregorian date and weekday; Enter opens it in the converter |
| `11 sep 2025`, `today`, `ነገ` | The same, from the other direction |
| `selam` | ሰላም, ready to copy |
| `fasika` | The day the feast next falls on, in both calendars |
| `dark`, `language` | The theme and language controls |
The rules behind it live in `src/lib/command-answers.ts` and are unit tested.
## Running it
Requires Node 24 or newer: the tests are TypeScript run directly by `node --test`.
```bash
npm install
npm run dev
```
That serves the app o …