Hivey
A digital diary for a beekeeper with their hands full. Inspections are recorded by voice right at the hive — even with gloves on — and the application transcribes them into text.
- Role
- Author — design, development, operation
- Period
- 2026 – dnes
- Technologies
- PHP 8.4, Symfony 7.4, Doctrine ORM, MySQL, Twig, Hotwire (Turbo, Stimulus), Tailwind CSS, Symfony Messenger, faster-whisper, Leaflet, Deployer
- Languages
- SK · CZ · EN · DE · PL
- Status
- In production
What the application does
Voice notes
Record an inspection by voice, even with gloves on. Transcribed into text.
Apiaries, hives, colonies
Clear records with filters.
Apiary round
Go through a whole apiary hive by hive in a single round.
Action history
Inspections, honey harvests, feeding and treatments on a timeline.
Five languages
Slovak, Czech, English, German and Polish.
Technical solutions
Speech-to-text on my own server
Recordings are transcribed by a locally running faster-whisper, so the audio never leaves the server and no paid API key is needed. The model is helped by a glossary of beekeeping terms in each of the five languages, and the thread count is capped so that even a small VPS can handle it.
Transcription in the background
A recording is saved immediately and transcribed asynchronously through Symfony Messenger. The beekeeper doesn't wait for it to finish, and the worker runs as a separate service that is restarted on every deployment.
Mobile-first without a heavy frontend
Server-rendered Twig enhanced with Hotwire Turbo and Stimulus, with no bundler (AssetMapper) and styles in Tailwind CSS. Recording uses the MediaRecorder API, the apiary location is picked on a Leaflet map, and the app can be added to a phone's home screen as a PWA.
Five languages and time zones
The interface and the reference lists (hive and record types) are translated into SK, CZ, EN, DE and PL, and the codes in the database are language-neutral. All times are stored in UTC and displayed in the user's time zone.
Safe deployments
Deployed with Deployer using kept releases on a VPS (Apache, PHP-FPM) and a separate staging environment. Access to hives is guarded by a Symfony Voter.