Thanks for your interest in contributing to DailyVox! This guide will help you get started.
- Fork & clone
git clone https://github.com/<your-username>/dailyvox.git cd dailyvox
- Open in Xcode —
ios/solyn.xcodeproj(shared scheme is included, no setup needed) - Build & run — select any iOS 17+ Simulator and hit
Cmd+R - Run tests —
Cmd+Uto run the unit test suite - Pick an issue — look for
good first issueorhelp wantedlabels
That's it — no API keys, no server setup, no dependencies to install. Everything runs on-device.
Not sure what to work on? Here are some ways to jump in:
- Report a bug — open a bug report
- Suggest a feature — open a feature request
- Improve docs — Fix typos, clarify instructions, add examples
- Test on your device — Try the app and report anything unexpected
- Fix UI issues (alignment, colors, spacing)
- Add unit tests for existing modules (see
solynTests/) - Improve accessibility labels on views
- Add new themes to
ThemeManager.swift
- Add new insight types in
InsightsEngine.swift - Extend the knowledge graph in
DigitalTwinEngine.swift - Improve Twin chat responses in
TwinChatView.swift - Add new export formats in
BackupService.swift
Advanced tasks (check the Roadmap)
- v1.4: Body Twin — HealthKit integration + Apple Watch companion app
- v1.5: Semantic search with NLEmbedding (cosine similarity, K-means clustering, anomaly detection)
- v1.6: Apple Foundation Models integration (on-device 3B LLM Twin chat)
- v1.7: multi-language String Catalogs (shipped in v1.10)
These are historical suggestions and several have since shipped or been dropped — check ROADMAP.md for what is actually open before starting work.
For the iOS app:
- Xcode 15+ (latest stable recommended)
- iOS 17+ SDK
- A Mac with macOS Sonoma or later
(An Android app is in development. When it lands it will carry its own prerequisites, and neither app will require the other's toolchain.)
- No third-party tools required — zero external dependencies
- Check existing issues — look for an issue to work on, or open one to discuss your idea first
- Create a branch from
main:git checkout -b feature/your-feature-name
- Make your changes — keep commits focused and atomic
- Test thoroughly — ensure the app builds and runs correctly on the Simulator (
Cmd+Ufor tests) - Open a Pull Request against
mainwith a clear description of your changes
CI will automatically build and run tests on your PR.
All app code lives in ios/solyn/. Read ARCHITECTURE.md for the full module map, but here's the quick version:
Microphone → AudioRecorder → SpeechTranscriber → LocalAIEngine → DigitalTwinEngine → Core Data
↓
InsightsEngine → UI Views
Key files to know:
| File | What it does |
|---|---|
ContentView.swift |
Main tab navigation |
TodayView.swift |
Daily journaling & recording |
DigitalTwinEngine.swift |
Core Twin personality model |
LocalAIEngine.swift |
NLP analysis (sentiment, entities) |
Persistence.swift |
Core Data layer |
TwinChatView.swift |
"Ask Your Twin" chat interface |
- Follow existing Swift conventions in the codebase
- Use meaningful variable and function names
- Keep views and logic separated where possible
- SwiftLint is configured (
.swiftlint.yml) — run it locally if you have it installed
DailyVox is a privacy-focused app. All processing happens on-device. When contributing, please ensure:
- No network calls for user data — everything stays on-device
- No third-party analytics or tracking SDKs
- No cloud dependencies for core functionality
- No new framework dependencies without discussion first
Any PR that introduces external data transmission for user content will be declined.
By participating in this project, you agree to abide by our Code of Conduct.
Open a discussion or file an issue. We're happy to help!