Skip to content

cmtt-ru/heyka

Repository files navigation

Heyka

A desktop app for video- and audio-conferencing

Main interface


What is Heyka?

Heyka is an audio- and video-conferencing app made with the b2b sector in mind: create a workspace for your company, invite colleagues, create thematic rooms for them which they can freely join and leave at any time. Closest famous comparison would be Discord, but just more business-oriented.

What technologies are used?

It is a cross-platform desktop app made with the help of Electron. Yes, it eats more RAM than desired, but the bundle size is reasonable, and CPU usage is low — lower than all other popular competitors.

  • Frontend: Electron, Vue+Vuex, Stylus
  • Backend: NodeJS, Hapi.js, Redis, Postgres
  • WebRTC: Janus

We also had separate mobile apps for iOS & Android, but they were still in early beta and will most likely not be part of this open source project.

Mobile screenshot iOS screenshot
 

Compatibility

Heyka is compatible with macOS, Windows and Linux. No guarrantees for special versions, but should work fine with Windows 10 and macOS Mojave/Catalina/Big Sur/Monterey.


Structure

There are 4 main repositories for Heyka:

  • heyka – main desktop app part
  • heyka-web – website frontend part (admin panel, landing, social login, downloads, etc.)
  • heyka-sdk – common pages and components for app and web part
  • heyka-backend – backend part

Functionality

Functionality

Probably the best way to explore the functionality of Heyka is to set up this project and see for yourself!.. Mainly because of its extensive size.

But we’ll write out a dozen of features:

1. Heyka is small! Small in visual size, small in CPU usage. Main interface  

2. You can create workspaces and invite people to them

3. Users can create private channels in workspaces, admins can also create public channels

4. Anyone with enough rights can connect to a channel any time, voice only or with camera Call window  

5. You can connect to a specific channel from a web browser as a guest, as long as you have an invitation link

6. In channels people can share their screen – and others can draw over it, with their cursors visible when moving. Really useful to point at some parts of the screen or explain something in a pinch.

Drawing animation

Screenshots drawing drawing
 

7. Temporary chat function during the call (works like chat in Zoom)

Chat popup  

8. Push messages with invitations to calls

Push notification  

9. Login with social networks or by login/pass

10. Call directly anyone from your team, creating a temporary private channel

11. Integrate with slack, inviting people to a workspace or to a call if they are already in a workspace

12. Change app theme (dark/light) and app language (ru/en) on the fly

13. Manage users and their roles in a web-hosted admin interface

Web interface for admin  

Project setup

 

Contribution

Heyka is in a limbo right now: we won't accept new requests right now, but we made sure it is possible for anyone to fork this project and use it for themselves. We hope that someday Heyka will gain its second life, and we would be happy to continue the development.

For the time being, the only contributors are the original developers of Heyka at cmtt.ru:

Ivan Bushmin Ivan Bushmin - frontend

Michael Nalbandyan Michael Nalbandyan - frontend

Evgenii Korolev Evgenii Korolev - backend

Ilya Chekalsky Ilya Chekalsky - infrastructure

Murod Khaydarov Murod Khaydarov - infrastructure

Peter Savchenko Kostya Zakharenko - design

   

License

License: MIT

Copyright Ⓒ 2020-present KMTT