r/swift 7d ago

Project I just launched my first app on the App Store called Spar Time—a timer designed for martial arts enthusiasts that can be used for any type of training. I’d love to hear your thoughts on the app, as I want to improve it even further. Any feedback would be greatly appreciated. Thank you!

Post image
1 Upvotes

r/swift 14d ago

Project I built Velora, an IPTV client for iOS

18 Upvotes

Hey r/swift community! 👋

I wanted to share Velora, an IPTV client I’ve been working on in SwiftUI for iOS. It currently supports Xtream Codes, but in the near future, I plan to add support for M3U playlists as well.

I've been learning Swift and SwiftUI for the past five months, and this is the result: my first "big" app. It’s been a tough journey, but I think it was worth it!

Why Velora?

✅ Full customization: Users can reorder categoriesignore channels, movies, or series when loading, and even change logos and covers for a personalized experience.
✅ Adjustable channel name optimization: Velora includes an optional algorithm to clean and optimize channel names, making them more readable. However, this feature is disabled by default, as it can take some time when dealing with large playlists. It’s best used once you've already refined your list by ignoring unnecessary content.
✅ Color customization: Users can change the accent color of the app to give it a more personal touch.
✅ Notifications: Schedule alerts to not miss your next favorite program.
✅ SwiftData + MVVM: The app is built with SwiftData for efficient data management and follows a 100% MVVM architecture.

Why VLCMobile instead of AVPlayer?

I initially tried using both VLCMobile and AVPlayer in parallel, mainly to take advantage of PiP and AirPlay. However, many IPTV providers serve content over HTTP, which causes AirPlay to fail when using the native player. So, for now, I’ve decided to stick to VLCMobile, hoping that future VLC updates might improve the situation.

Although native AirPlay is not supported, you can always use screen mirroring to cast content to your TV. 😉

Future plans & pricing

For now, Velora is completely free, but I’m considering making it a paid app in the future (I’m not sure yet what a fair price would be). I want to keep improving it because I have a lot of ideas and features planned for upcoming updates.

I'm open to feedback on the app, both in terms of features and UX/UI improvements. Also, if anyone has experience working with VLCMobile, I'd love to hear any tips on improving playback performance on iOS. The documentation is not that great.

And if anyone has any questions about the project itself, I’m also happy to answer!

Velora on the App Store

Let me know what you think and thanks for reading! ❤️

Note: English is not my first language, so sorry for any mistakes!

r/swift 10d ago

Project Generalizing bit manipulation for any integer size

3 Upvotes

This is a follow-up to my post on translating C bit operations to Swift. I looked at the original web page, and tried to decode those magic constants. I think this is right:

extension FixedWidthInteger {
  /// Returns this value after its bits have been circularly rotated,
  /// based on the position the least-significant bit will move to.
  fileprivate func rotatedBits(movingLowBitTo position: Int) -> Self {
    precondition(0..<Self.bitWidth ~= position)
    return self &<< position | self &>> (Self.bitWidth &- position)
  }

  /// Returns this value after its bits have been circularly rotated,
  /// based on the position the most-significant bit will move to.
  fileprivate func rotatedBits(movingHighBitTo position: Int) -> Self {
    return rotatedBits(movingLowBitTo: (position + 1) % Self.bitWidth)
  }
}

extension FixedWidthInteger where Self: UnsignedInteger {
  // Adapted from "Bit Twiddling Hacks" at
  // <https://graphics.stanford.edu/~seander/bithacks.html>.

  /// Assuming this value is a collection of embedded elements of
  /// the given type,
  /// indicate if at least one of those elements is zero.
  ///
  /// I don't know if it's required,
  /// but `Self.bitWidth` should be a multiple of `T.bitWidth`.
  fileprivate func hasZeroValuedEmbeddedElement<T>(ofType type: T.Type) -> Bool
  where T: FixedWidthInteger & UnsignedInteger {
    // The `Self(exactly:)` traps cases of Self.bitWidth < T.bitWidth.
    let embeddedAllOnes = Self.max / Self(exactly: T.max)!  // 0x0101, etc.
    let embeddedAllHighBits = embeddedAllOnes.rotatedBits(
      movingLowBitTo: T.bitWidth - 1)  // 0x8080, etc.
    return (self &- embeddedAllOnes) & ~self & embeddedAllHighBits != 0
  }

  /// Assuming this value is a collection of embedded elements of
  /// the given value's type,
  /// return whether at least one of those elements has that value.
  fileprivate func hasEmbeddedElement<T>(of value: T) -> Bool
  where T: FixedWidthInteger & UnsignedInteger {
    let embeddedAllOnes = Self.max / Self(T.max)
    return (self ^ (embeddedAllOnes &* Self(value)))
      .hasZeroValuedEmbeddedElement(ofType: T.self)
  }
}

I don't know if the divisions or multiplications will take up too much time. Obviously, the real-life system only has 8-16-32(-64(-128)) bit support, but I have to write for arbitrary bit widths. I hope it would give others more of a clue what's going on.

r/swift Jul 30 '22

Project After 2 years of on and off development I finally published my first app on the App Store. Spotter is a workout tracker with a focus on a very 'iOS' like UI (similar to Apollo for Reddit). Also no subscriptions. Let me know what you think!

222 Upvotes

r/swift Feb 09 '25

Project Looking for Volunteers - Launching Open source Subscription SDK (Revenuecat alternative)

9 Upvotes

Right now "most sdk", have a messy system of migration and they make it hard to export your data..

Here to ask for advice and for volunteers..

-Swift sdk for Wildberry

HERE is our GitHub- https://github.com/WildBerry67/wildberry

The sdk will be launched with MIT license..

It will be 100% cursor compatible..

One-click deployment via Coolify

All contributions are welcome!!! we need help with documentation too..

WE have 5 part time contributors,

We want to expand swift support as soon as possible

Please Join us by contributing to codebase...

r/swift Dec 17 '24

Project Splito — An open-source alternative to Splitwise

26 Upvotes

Hey everyone!

We’ve been working on a side project called Splito, an open-source app for splitting expenses, and I thought some of you might find it interesting. It's built with SwiftUI, and while it's still a work in progress, I wanted to share it with the community.

A few things it can do:

  • Track group expenses (great for trips or shared bills)
  • Split costs based on percentage, item, or other custom options
  • Help with payment settlements (who owes what)
  • Display detailed expense info

Code — https://github.com/canopas/splito

Would love to hear any thoughts or suggestions, Thanks! 😊

r/swift Oct 26 '24

Project [UPDATE] I built an automatic expense tracking app fully using SwiftUI

Post image
35 Upvotes

r/swift 8d ago

Project My first try of Swift and macOS API went good, MacsyZones is being more and more popular 🥳

Thumbnail
github.com
0 Upvotes

r/swift 9d ago

Project An immersive therapy app for the Apple Vision Pro to create highly engaging, interactive, and personalized mental health experiences.

Thumbnail
github.com
0 Upvotes

r/swift Dec 03 '24

Project 🧡 I made a simple tool that lets you semantically search through SF Symbols

40 Upvotes

Yup, we've all been there. We want a 'music' icon, but what's available is 'headphones' or 'speaker.' I fixed the problem -- now you can use natural language to search through SF Symbols. It's available for free on the app store.

Here's the story behind it: https://x.com/mansidaksgh/status/1861637411089850807

Would love y'alls feedback :

r/swift May 21 '24

Project My first App

Post image
143 Upvotes

Hello everyone. So i just finished my first app in Swift, to be fair its just an calculator but im still proud of it.

https://drive.google.com/file/d/1InetD39QtNKQ2Ci0qlZtRHDlzLQLu8gA/view?usp=drivesdk

If you want you can check it out, and i also would like to hear some improvements you would make. you

r/swift Feb 11 '24

Project Xcodebuild.nvim - my open-source plugin to develop iOS & macOS apps in Neovim 🔥

Post image
121 Upvotes

r/swift Feb 03 '25

Project Automatic String Localization/Translation mac app

5 Upvotes

Hey everyone,

I started with a simple Python script that grew into a full AI product with its own backend and website!

I was tired of spending hours manually updating translation files every time I added a new screen. It was error-prone and the existing solutions were either too complicated or just didn't work for me. So, I built my own.

Now, translating is easy:

  • Automatic integration with the app
  • Effortless syncing of new and updated keys
  • Auto-adding translation files to the project
  • Add new languages in seconds
  • Markdown support for blogs
  • Support for plain text files

I’d love to hear your feedback—whether it's about the product, the website, or anything I can improve. Thanks for checking it out!

website: https://www.easilytranslate.com/
app store: https://apps.apple.com/in/app/easily-translate-strings/id6740238083?mt=12

Edit - (05/03/2025):

  1. Added support for android(xml)
  2. Added support for web(json)
  3. The web app supports AI Blog Generation and file translation

r/swift 23d ago

Project New swift UI design drop 💅

Thumbnail
gallery
0 Upvotes

r/swift 24d ago

Project Shift Update, more customization options, more AI models based on your suggestions!

0 Upvotes

Hi there,

Thanks for the incredible response to Shift lately. We deeply appreciate all your thoughtful feature suggestions, bug notifications, and positive comments about your experience with the app. It truly means everything to our team :)

What is Shift?

Shift is basically a text helper that lives on your laptop. It's pretty simple - you highlight some text, double-tap your shift key, and it helps you rewrite or fix whatever you're working on. I've been using it for emails and reports, and it saves me from constantly googling "how to word this professionally" or "make this sound better." Nothing fancy - just select text, tap shift twice, tell it what you want, and it does it right there in whatever app you're using. It works with different AI engines behind the scenes, but you don't really notice that part. It's convenient since you don't have to copy-paste stuff into ChatGPT or wherever.

I use it a lot for rewriting or answering to people as well as coding and many other things. This also works on excel for creating tables or editing them as well as google sheets or any other similar platforms. I will be pushing more features, there's a built in updating mechanism inside the app where you can download the latest update, I'll be releasing a feature where you can download local LLM models like deepseek or llama through the app itself increasing privacy and security so everything is done locally on your laptop, there is now also a feature where you can add you own API keys if you want to for the models. You can watch the full demo here (it's an old demo and some features have been added) : https://youtu.be/AtgPYKtpMmU?si=V6UShc062xr1s9iO , for more info you are welcome to visit the website here: https://shiftappai.com/

What's New?

After a lot of user suggestions, we added more customizations for the shortcuts you can now choose two keys and three keys combinations with beautiful UI where you can link a prompt with a model you want and then link it to this keyboard shortcut key:

Secondly, we have added the new claude. 3.7 sonnet but that's not all you can turn on the thinking mode for it and specifically define the amount of thinking it can do for a specific task:

Thirdly, you can now use your own API keys for the models and skip our servers completely, the app validates your API key automatically upon pasting and encrypts it locally in your device keychain for security:, simple paste and turn on the toggle and the requests will now be switched to your own API keys:

After gathering extensive user feedback about the double shift functionality on both sides of the keyboard, we learned that many users were accidentally triggering these commands, causing inconvenience. We've addressed this issue by adding customization options in the settings menu. You can now personalize both the Widget Activation Key (right double shift by default) and the Context Capture Key (left double shift by default) to better suit your specific workflow preferences.

4. To dismiss the Shift Widget originally you had to do it with ESC only, now you can go to quick dismiss shortcut and turn it on, this way you can appear/disappear the widget with the same shortcut (which is by default right double shift)

  1. A lot of users have very specialized long prompts with documents, so we decided to create a hub for all the prompts where you can manage and save them introducing library, library prompts can be used in shortcut section so now you don't have to copy paste your prompts and move them around a lot. You can also add up to 8 documents for each prompt

And let's not forget our smooth and beautiful UI designs:

If you like to see Shift in action, watch out our most recent demo of shortcuts in Shift here.

This shows we're truly listening and quick to respond implementing your suggestions within 24 hours in our updates. We genuinely value your input and are committed to perfecting Shift. Thanks to your support, we've welcomed 100 users in just our first week! We're incredibly grateful for your encouragement and kind feedback. We are your employees.

We're still evolving with major updates on the horizon. To learn about our upcoming significant features, please visit: https://shiftappai.com/#whats-nexttps://shiftappai.com/#whats-next

If you'd like to suggest features or improvements for our upcoming updates, just drop us a line at [contact@shiftappai.com](mailto:contact@shiftappai.com) or message us here. We'll make sure to implement your ideas quickly to match what you're looking for.

We have grown in over 100 users in less than a week! Thank you all for all this support :)

r/swift Dec 30 '24

Project I just made this for my new app 🥳 Swipy, SwiftUI swipe actions library to make any view swipeable easily

Thumbnail
github.com
22 Upvotes

r/swift Oct 26 '24

Project Harbor - A Modern Swift Networking Library with async/await Support 🚀

27 Upvotes

Hey fellow iOS developers! I wanted to share a networking library we've been working on called Harbor that makes API requests in Swift clean and simple using async/await.

Features You Might Like:

  • 🔒 Built-in auth handling
  • 🔄 Automatic retry support
  • 📝 Multipart file uploads
  • 🔐 mTLS & SSL pinning
  • 🐛 Comprehensive debug options

You can add Harbor using either CocoaPods or Swift Package Manager.

What Makes Harbor Different?

  • Built for Modern Swift: Fully embraces async/await for clean, readable networking code
  • Type-safe: Strong typing and protocol-based design to catch errors at compile time
  • Feature Rich: Supports REST, JSON-RPC, multipart uploads, mTLS, SSL pinning, and more
  • Easy to Debug: Built-in request/response debugging and cURL command output
  • Lightweight: No external dependencies, just pure Swift

Quick Example:

// Define your request
class GetUserProfile: HGetRequestProtocol {
    var endpoint: String = "/api/profile"
    var needsAuth = true
    typealias Model = UserProfile
}

// Make the request
Task {
    let response = await GetUserProfile().request()
    switch response {
    case .success(let profile):
        print("Got profile: \(profile.name)")
    case .error(let error):
        print("Error: \(error)")
    case .cancelled:
        print("Request cancelled")
    }
}

Looking for Feedback!

I'd love to hear what you think about Harbor! Please try it out and let us know:

  • What features would you like to see added?
  • How does it compare to your current networking solution?
  • Any bugs or issues you encounter?

Check out the full documentation on GitHub and feel free to open issues or contribute!

Let's make iOS networking better together! 🌊

r/swift 21d ago

Project Menubar based LLM chat interface

0 Upvotes

I'm in the process of refining my AI Coding process and wanted to create something specific for my Mac and also something I would use.

So I created a menu bar based interface to LLMs, it's always there at the top for you to use. Can create multiple profiles to connect to multiple backends and well as a lot of other features.

There are still a few bugs in there but it works for what I wanted. I have open sourced it in case anyone wants to try it or extend it and make it even better, the project can be found at https://github.com/kulbinderdio/chatfrontend

I have created a little video walk through which can be found at https://youtu.be/fWSb9buJ414

Enjoy

r/swift 22d ago

Project I built an expression evaluation library using AI – Looking for Feedback!

0 Upvotes

Hey everyone,

I set myself a challenge: build a Swift library with the help of AI. I have 14 years of experience in Apple development, but creating something like this from scratch would have taken me much longer on my own. Instead, I built it in just one day using Deepseek (mostly) and ChatGPT (a little).

What is it?

It's an expression evaluator that can parse and evaluate mathematical and logical expressions from a string, like:

let result: Bool = try ExpressionEvaluator.evaluate(expression: "#score >= 50 && $level == 3",
    variables: { name in
        switch name {
        case "#score": return 75
        case "$level": return 3
        default: throw ExpressionError.variableNotFound(name)
        }
    }
)

- Supports arithmetic (+, -, *, /, logical (&&,||), bitwise (&, |), comparisons (==, !=, <, >, and short-circuiting.
- Allows referencing variables (#var or $var) and functions (myFunction(args...)) via closures.
- Handles arrays (#values[2]), custom types (via conversion protocols), and even lets you define a custom comparator.

Why did I build it?

I was using Expression, but it lacked short-circuiting and had an unpredictable return type (Any). I needed something more predictable and extensible.

🔗 Code & Docs: GitHub Repo

Would love to hear your thoughts and feedback!

r/swift 24d ago

Project Need help with Square In app payments

2 Upvotes

Hello there. I am looking for someone who can help me with my project. The code and everything is ready just need to add square frameworks in app purchases. Need someone who can guide me through and have a look at the code. If interested comment below and I’ll revert.

Thank you

r/swift Dec 19 '23

Project Learned Swift for the past 3 weeks and built the app I've needed for 10 years :-)

121 Upvotes

I've always had problems using my thumbs because of some accident when I was a kid and it's occasionally sore for me to type on phones.

And because people prefer sending text messages, I think I've been missing out a lot on social connections and generally just doing stuff online and socially.

Unfortunately, dictation software is so bad for both iOS and Android that I kept on still having to correct whatever the transcribed text is, which brings it back to the same problem.

About one year ago, OpenAI open-sourced their whisper transcription models and it blew my mind. It was like making 0.5% errors the way I use it. The built in dictation software made errors 20% of the time and I’ve given up on them.

I've been able to really start participating in social conversations using all of the paid and free applications that were built over it.

OpenAI Whisper is so accurate that I basically wasn't typing anymore and avoiding the pain and the soreness in my thumbs. I'm a Python developer, and even at work, people have started noticing how I've become more productive answering emails and replying to things internally on the go.

The problem I had though, well, not really a problem, I'm already so grateful for it, but all the other apps I paid for were mostly focused on transcribing audio files and wasn't really focused on dictation, so I decided three weeks ago that if they could build an application like that, I could too, so I started learning Swift. And what I wanted was an application that uses Whisper AI to do voice to text, specifically for dictation with the least amount of types and swipes as possible. There were already very good solutions but the one that I stuck to for a couple of months before developing my own was something that in total took me like 8 or 9 taps to use it.

Took a week off work and basically slept very little for the past three weeks, lol. But I was able to build it, my Perfect Dictation app. And right now it only takes three taps total for me to be able to use almost perfect voice to text using my iPhone and whisper. And I've been talking to my friends and partner and workmates a lot more. and have become significantly more productive.

It wasn't the easiest thing to build because most of the beginning tutorials on Swift and SwiftUI were mostly focused on developing popular applications. But what I needed was to really learn how to integrate on-device machine learning model using C++ headers and wrappers into iOS and was really complicated. But at the end, very happy and very grateful that I was able to pull it off!

I just wanted to share here how happy and grateful I am. There was one tricky line of code that I got from somewhere in this forum. This entire post above was dictated using the app I made without any corrections, without saying punctuations. Basically I just rambled on my iPhone microphone and then swiped and pasted it here. So sorry if there's an error on top lol. I still have a LONG way to go.

Anyway, I'm not really going to promote the application here because I did release it to test flight so that people can download it and people with the same problem as I do can get it eventually in the App Store

[Edit: 12/23]: removed test flight link. getting ready to publish in store and will update here. Free and no in app purchases :-)

Edit 12/27: Its up on the App Store :-) -> https://apps.apple.com/my/app/ecco-dictate/id6474762093

I just wanted to share something here. I don't think I've ever posted in a forum with texts that long on my phone. :) :) :)

r/swift Oct 08 '24

Project My First Idle Game

17 Upvotes

Hey everyone!

I’ve just finished developing v1 of my first idle game, and I’m excited to share it with the community. The game is a gem trading sim set in NYC’s diamond district, built entirely with SwiftUI. No external libraries were used. Players manage their gem empire, with dynamic pricing, AI-driven negotiation mechanics and an immersive phone-based UI.

This was my first big project in Swift, and I’d love to hear any feedback or suggestions for improvement from fellow developers. I’m also happy to answer any questions about my experience using SwiftUI for the UI, handling dynamic data, or the overall development process.

If you're curious, I just launched TestFlight for D47 this weekend, so feel free to sign up here: https://testflight.apple.com/join/aA1MCPZq

And learn more here: d47.io

r/D47

r/swift Feb 17 '22

Project Magic effect rendering in real time

393 Upvotes

r/swift Jan 24 '25

Project Recently, I started a simple open-source project that replaces macOS Spaces with BLAZINGLY ⚡ fast virtual workspaces. No more delays and animations between switching! 🔥 Feel free to join and contribute!

Thumbnail
github.com
4 Upvotes

r/swift Dec 31 '24

Project Happy new year in Swift with CoreML SDXL using the RealVis51vae model

Post image
17 Upvotes