Skip to content
All work

Tech Signal

Developer intelligence feed · SwiftUI

Aggregates 30+ developer sources with cache-first loading, personalized ranking, trend detection, and on-device summarization, with zero third-party runtime dependencies.

Sources
30+
Summaries
On-device
Third-party deps
0

Overview

A unified feed for developers built on first-party networking only. Apple’s Natural Language framework summarizes articles on device, and native Apple integrations handle discovery and tips without ad networks or analytics SDKs.

What I built.

  • 0130+ sources including Hacker News, Reddit, GitHub, and RSS with cache-first loading
  • 02Personalized ranking with dwell-time signals, trend detection, and mute and boost controls
  • 03On-device article summaries with Apple’s Natural Language framework
  • 04GitHub release tracking with SwiftData persistence and an on-device weekly digest
  • 05Morning briefing widget, Spotlight and Siri support, deep links, and a StoreKit 2 tip jar

Project details

In depth.

Startup & developer news in one place. Aggregated feed from Hacker News, Reddit, GitHub, and AI & ML sources — with bookmarks, explore, and built-in safety controls.

What is it?

A native iOS app that brings together the best of tech and AI news:

  • Unified feed — One timeline with filter pills: All, HN, Reddit, GitHub, AI & ML
  • Hacker News — Top, New, Ask HN, Show HN with comments
  • Reddit — Hot posts from tech subreddits (and AI communities in the AI tab)
  • GitHub — Trending repositories with language filter
  • AI & ML — Google News RSS (AI, ML, LLM queries), direct RSS feeds (OpenAI, Google AI, Hugging Face, MIT, IEEE, ZDNet, The Decoder), plus Reddit r/artificial, r/machinelearning, r/LocalLLaMA
  • Bookmarks — Save posts from any source; search and sort (latest, oldest, top score)
  • Explore — Curated entry points: HN categories, Reddit tech, GitHub trending, AI & ML feed
  • Safety tools — Report and hide individual posts, mute authors, and filter sensitive Reddit content
  • Settings — Default feed filter, appearance (light/dark/system), subreddit picker, safety controls, clear cache

All with no third‑party SDKs: URLSession, SwiftData, and system frameworks only.

Features in detail

AreaWhat it does
FeedSingle scrollable list; filter by source (All / HN / Reddit / GitHub / AI & ML); sort by Newest, Top Score, Most Discussed; pull to refresh; card layout with source badge, score, comments, bookmark, open in Safari
AI & MLCombines Google News RSS (4 query sets), 7 direct RSS feeds, and 3 Reddit AI subreddits; merged and sorted by date; 15‑min cache; rich article body in detail (HTML/images/video)
HNTop / New / Ask / Show; story detail with optional comments; no API key
RedditHot posts; optional OAuth for higher limits; subreddit picker in settings; comments in detail
GitHubTrending repos; language filter; README preview in detail
BookmarksSwiftData-backed; search by title/author; sort; open, share, delete from list or context menu
ExploreBrowsable sections and “Curated paths” linking into HN, Reddit, GitHub, AI feed
SafetyLocal moderation controls: report & hide a post, mute authors, and hide Reddit posts flagged NSFW/spoiler

Tech stack

LayerChoice
PlatformiOS 17.0+
LanguageSwift 5.9+
UISwiftUI only
ArchitectureMVVM (Views, ViewModels, Models, Services)
DataSwiftData (bookmarks, preferences); CacheManager (memory + disk) for API/RSS
NetworkingURLSession + async/await; no Alamofire/Moya
DependenciesNone (no SPM/CocoaPods for the main app)

Data sources and cost

SourceAuthCost
Hacker NewsNoneFree
Google News RSS (AI/ML)NoneFree
Direct AI RSS feedsNoneFree
Reddit (public)NoneFree
Reddit (OAuth)Client ID + secretFree
GitHub (unauthenticated)NoneFree (lower rate limit)
GitHub (token)PATFree (higher limit)

No paid APIs or keys are required to run the app.

Caching

  • Feed (HN + Reddit + GitHub): 10 minutes (memory + disk).
  • RSS / AI feed: 15 minutes.
  • Detail pages: 30 minutes; GitHub: 60 minutes.
  • Cache can be cleared from Settings → Clear API Cache.

Testing

  • Unit tests cover deployment-critical preference and moderation behavior.
  • Fixtures with mock JSON are available for expanding network/service coverage.

Tech specs

Under the hood.

  • SwiftUI
  • SwiftData
  • NaturalLanguage
  • WidgetKit
  • App Intents
  • StoreKit 2

Zero third-party runtime dependencies: networking, intelligence, and monetization are all first-party.