🛠️ What it does

Votice is a native app for iOS, iPadOS, and macOS where I can manage all the feedback my users send: suggestions, issues, votes, and comments.

It works alongside the open-source Votice SDK, which can be easily integrated into any Apple app.

Users interact directly inside the app, and I get everything organized in one place — without leaving my device.

🧱 How I built it

The management app is built in Swift and SwiftUI, and connects to a custom backend written in Node.js, deployed with Firebase Cloud Functions.

Authentication is handled with Firebase Auth, and data is stored in Firestore, enabling real-time updates.

The SDK is written in Swift and SwiftUI as well, installable via Swift Package Manager, and communicates with the same backend via HMAC-signed HTTP requests.

It’s highly configurable, lightweight, and extremely easy to integrate — requiring no external dependencies.

🧩 Challenges I ran into

  • Making the backend API both secure and flexible, with JWT authentication for the dashboard and HMAC verification for the SDK.

  • Ensuring the SDK works seamlessly across iOS, iPadOS, and macOS — while I'm still working on tvOS and visionOS support, which present different UI and input challenges.

  • Designing a UI that scales — from one app to many, with hundreds of suggestions and comments — while keeping everything fast and intuitive.

🏆 Accomplishments I’m proud of

  • I shipped a full product — native app, SDK, backend, and docs — solo.

  • The SDK integrates in minutes and works without Firebase.

  • I built push notifications into the feedback flow, so I know instantly when users send ideas.

  • The whole system feels fast, native, and fully under control.

📚 What I learned

  • That great developer tools should be fast, private, and easy to integrate.

  • That doing everything solo means making hundreds of tiny decisions — and learning from each one.

  • That feedback is most valuable when it’s simple to collect and manage.

🚀 What’s next for Votice: Feedback Manager

  • Allowing users to report issues (not just suggestions), including screenshots, so developers can get actionable feedback.

  • Exploring SDK ports to Android.

  • Continuing to improve the product — since the management app itself uses the Votice SDK, I’m actively collecting suggestions from my own users too.

Built With

Share this project:

Updates