Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JRNL app icon

JRNL

JRNL is a UIKit-based iOS journaling app focused on capturing daily moments with context. The app lets users create entries, attach a photo, rate the day, optionally save their location, browse entries on a map, and use on-device Apple Intelligence features to help draft content.

Overview

JRNL combines a classic journaling flow with modern iOS capabilities:

  • Create new entries with a title, body text, rating, optional photo, and optional location.
  • Browse saved entries in a searchable collection view.
  • Review entry details with formatted text, rating, attached image, and a map snapshot.
  • Explore location-based entries on a dedicated map screen.
  • Generate journal draft text with Foundation Models and create an image from the entry prompt with Image Playground when the device supports those features.
  • Persist data locally using JSON storage in the app's Documents directory.

Tech Stack

  • Swift 6
  • UIKit + Storyboards
  • MapKit
  • CoreLocation
  • FoundationModels
  • ImagePlayground
  • Local JSON persistence

Requirements

  • Xcode with the iOS 26 SDK
  • iOS 26.2 or later
  • A compatible Apple Intelligence device for the assistive writing experience
  • Camera, Photos, and Location permissions enabled when testing those features

Running The Project

  1. Open JRNL.xcodeproj in Xcode.
  2. Select your signing team in the target settings if needed.
  3. Choose an iPhone simulator or physical device.
  4. Build and run the app.

Notes:

  • On the simulator, photo capture falls back to the photo library.
  • Apple Intelligence and Image Playground features depend on device support and system availability.

Project Structure

  • JRNL/AppDelegate.swift, JRNL/SceneDelegate.swift: app lifecycle and scene setup.
  • JRNL/Model: journal entry model and shared persistence layer.
  • JRNL/Journal List Screen: searchable list of saved entries.
  • JRNL/Add New Journal Entry Screen: entry creation flow with photo, rating, and location capture.
  • JRNL/Journal Entry Detail Screen: detailed entry view with map snapshot.
  • JRNL/Map Screen: MapKit-based overview of geotagged entries.
  • JRNL/Assist Screen: on-device writing assistance powered by Foundation Models.
  • JRNL/Assets.xcassets: app assets, accent color, and app icon resources.

Screenshots

JRNL journal list screen
Journal List
JRNL new entry screen
New Entry
JRNL entry detail screen
Entry Detail
JRNL map view screen
Map View
JRNL assist screen
Assist Screen

Book Reference

https://learning.oreilly.com/library/view/ios-26-programming/9781806023936/

About

iOS journaling app built with UIKit, featuring photos, maps, ratings, and on-device Apple Intelligence assistance.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages