Skip to content
All projects
application

Margin - Native iOS Notes

A minimal native iOS notes app built with SwiftUI. Write, search, and preview Markdown notes with debounced autosave, plus full-text search that highlights matches as you type. Firestore-backed, with Google Sign-In.

Screenshot of Margin - Native iOS Notes

Tech Stack

Swift, SwiftUI, Firebase (Firestore + Auth), Google Sign-In

Features

  • Markdown Preview
  • Highlighted Full-text Search
  • Debounced Autosave
  • Google Sign-In

What I Built

  • Wrote the SwiftUI app end to end - notes list, editor, search - against Firestore, with Google Sign-In.

  • Wrote the search that highlights every match as you type, walking range(of:) over the lowercased text and rebuilding an AttributedString with the hits coloured in.

  • Wrote a 0.6-second debouncer so autosave doesn't fire on every keystroke.

  • Kept it dependency-light: no third-party UI library, and the search runs entirely on-device with no round trip.

  • Rendered the Markdown preview through Swift's own AttributedString(markdown:) instead of pulling in a Markdown library, and scoped every note under a per-user Firestore subcollection so the rules can enforce ownership by path.