open-spaced-repetition / swift-fsrs

Swift Package for FSRS
MIT License
27 stars 14 forks source link

Funding optimizer port / integration #8

Open aehlke opened 8 months ago

aehlke commented 8 months ago

Hi, I'm interested in getting the fsrs-rs optimizer integrated into this library however I'm unfamiliar with rust and the best approach for integrating rust into a Swift project.

If anyone is interested or has a lead on who I could talk to about it, I'd love to pay someone to do the work to integrate the rust optimizer into this Swift lib - the compute_weights method, progress indication, error handling, early interruption of the computation, and anything else I might be missing. I'd pay for the result to be open sourced within this lib (rather than owning the work myself).

Thanks

bensmiley commented 8 months ago

Hi @aehlke I've looked over the optimiser code and it's quite involved... I could probably port it to Swift but it would expensive (think at least a weeks work @ $120 per hour... ). Just the transcription of the code probably wouldn't be too hard but it's using a lot of libraries and replacements would need to be found (if they even exist). Personally, I would just setup a Python rest API and run the optimiser there. If you want help with that, let me know because it's something I will be implementing for my own project anyway - ben@sdk.chat.

aehlke commented 8 months ago

@bensmiley thanks for the response. I think the simplest solution would be to wrap the Rust library into an SPM package, rather than port the code to Swift.

Unfortunately an API doesn't work for me because I build offline-first / local-only apps with everything running client-side. Thanks though

bensmiley commented 8 months ago

@aehlke I think I don't have the time to help with this at the moment. But I have a friend who is a very good full-stack developer who has worked a lot developer tools for learning languages. He would be interested in helping with this - if you want you can contact him at: work@pepebecker.com.

aehlke commented 8 months ago

@bensmiley mind leaving this open in case other contributors are interested? (sorry I'm unclear if you're an admin on this project / why it doesn't let me reopen this)