https://github.com/daniel15/voicemail
Basic voicemail system, powered by AI because it's the cool thing to do these days.
https://github.com/daniel15/voicemail
Last synced: 9 months ago
JSON representation
Basic voicemail system, powered by AI because it's the cool thing to do these days.
- Host: GitHub
- URL: https://github.com/daniel15/voicemail
- Owner: Daniel15
- License: mit
- Created: 2025-01-09T05:01:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-12T01:12:47.000Z (about 1 year ago)
- Last Synced: 2025-05-12T02:25:02.332Z (about 1 year ago)
- Language: C#
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Voicemail
Basic voicemail system, *powered by AI* because it's the cool thing to do these days. It is **currently under construction** and isn't ready for usage yet.
This project uses the following third-party providers:
|Provider|Use|Approx. cost (as of December 2024)|
|--|--|--|
|Twilio|Incoming phone calls|\$1.15/month plus \$0.0085/min|
|AssemblyAI|AI analysis of voicemail messages - Transcription, summarization, entity extraction|\$0.008/minute / \$0.48/hour (\$0.37 for speech-to-text, \$0.08 for entity detection, \$0.03 for summarization). Free \$50 credit will last a long time.|
|TresleIQ|Caller ID ("Smart CNAM API"). I tried several caller ID APIs and this was the most accurate one that offers as-you-go pricing.|$0.015/query
# Features
TBD
# Installation
## Docker
TBD
## Manually
A binary of the latest build can be downloaded from [TBD]
## From source
See "Development" section below.
# Configuration
Copy `appsettings.Production.json.example` and change settings to suit your environment.
# Development
1. Install [.NET 9.0](https://learn.microsoft.com/en-us/dotnet/core/install/linux)
2. Clone the repo
3. Set access tokens/keys in .NET Secrets, to avoid accidentally commiting them to the repo:
```
# Twilio
dotnet user-secrets set 'Twilio:AuthToken' '.....'
dotnet user-secrets set 'Twilio:Client:AccountSid' '.....'
dotnet user-secrets set 'Twilio:Client:ApiKeySid' '.....'
dotnet user-secrets set 'Twilio:Client:ApiKeySecret' '.....'
# AssemblyAI
dotnet user-secrets set 'AssemblyAI:ApiKey' '....'
# Trestle
dotnet user-secrets set 'Trestle:ApiKey' '....'
```
4. Run it using `dotnet run` or with your favourite editor (e.g. Rider or VS Code).
To build the release version:
```shell
dotnet publish -c Release -r linux-x64
```
(`linux-x64` can be replaced with [any architecture supported by .NET](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=windows%2Cnet9plus#platformarchitecture-restrictions)), such as `linux-arm64`, `windows-x64`, etc)
It will build into the `src/Voicemail/bin/Release/net9.0/linux-x64/publish` folder. The release version is built as a self-contained executable and does not require .NET to be installed.