Skip to content
View malcommac's full-sized avatar
👋
Nice to meet u
👋
Nice to meet u

Block or report malcommac

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
malcommac/README.md

Hey 👋

Swift since day one, Obj-C before that. These days I run the mobile platform at Immobiliare.it: iOS, Android and the backend services they talk to.

Rewrote our main app from Obj-C to Swift, module by module, while it kept shipping. Built the CI/CD the team runs on. Now I spend more time on architecture, tooling and review than in Xcode, which is roughly the deal you sign when you take the job.

Everything here started as a problem in production. I fix it properly once, then pull it out into a library so I do not fix it again.

Lately I write a fair amount of Rust, mostly for tooling: it is the language that taught me the most about API design since Swift.

What does not fit in a commit message ends up on danielemargutti.com: engineering, teams, Swift and whatever else has my attention.

LinkedIn · X · daniele.margutti@gmail.com


Open source

Maintained in my own time, or by the iOS team at Immobiliare. If any of it saves you an afternoon, sponsoring keeps it alive.

Project What it does
SwiftDate Parsing, math, time zones and formatting for dates on every Apple platform. Past four million downloads.
RealHTTP Async/await HTTP client with retries, validation and a stubber for tests. Serves our apps every day.
RealFlags Type-safe feature flags over multiple providers, with a UI to browse and change values at runtime.
SwiftLocation Core Location through async/await: one-shot fixes, continuous updates, geocoding, regions and beacons.
SwiftRichString Named text styles you compose instead of copy, including HTML and markdown-like input.
ScrollStackController Long scrollable screens built from view controllers, without bending a table view into the job.
GitLabSwift Typed async client for the GitLab API, born out of our release tooling.
Hydra Promises and async operators, written before structured concurrency made them unnecessary.

In numbers

Profile summary GitHub stats

📮 Open to a conversation about leadership roles, platform work or advisory: daniele.margutti@gmail.com

Pinned Loading

  1. SwiftDate SwiftDate Public

    🐔 Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift.

    Swift 7.7k 774

  2. Hydra Hydra Public

    ⚡️ Lightweight full-featured Promises, Async & Await Library in Swift

    Swift 2k 115

  3. SwiftLocation SwiftLocation Public

    ⚓️ Async/Await CLLocationManager Wrapper for Apple Platforms

    Swift 3.4k 429

  4. SwiftRichString SwiftRichString Public

    👩‍🎨 Elegant Attributed String composition in Swift sauce

    Swift 3.1k 211

  5. SwiftScanner SwiftScanner Public archive

    String Scanner in pure Swift (supports unicode)

    Swift 168 14

  6. ScrollStackController ScrollStackController Public

    🧩 Easy scrollable layouts in UIKit - an UIStackView which scroll and uses root views of child view controllers.

    Swift 444 37