Show HN: Peek – Open social media links without distraction

otato_potato1 pts0 comments

GitHub - RtiM0/peek: Open social media links without distraction · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

RtiM0

peek

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

master

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>1 Commit<br>1 Commit

.agents/skills

.agents/skills

app

app

assets

assets

gradle

gradle

.gitignore

.gitignore

README.md

README.md

build.gradle.kts

build.gradle.kts

gradle.properties

gradle.properties

gradlew

gradlew

gradlew.bat

gradlew.bat

settings.gradle.kts

settings.gradle.kts

View all files

Repository files navigation

Peek for Android

A calm, native space for the links people share.

Kotlin · Jetpack Compose · Android

Paste a link, then read, watch, and browse the content without the noise of the source app.

Screens

Current features

Paste links from the clipboard or open Instagram links directly.

Resolve public Instagram posts, reels, and carousels with photos and videos.

Read comments, load more replies, refresh content, and revisit recent links.

Open media in an edge-to-edge viewer with video playback and carousel navigation.

Cache resolved content locally for a quicker return experience.

Availability

Link type<br>Availability<br>Resolver

Public Instagram posts (/p/)<br>Available<br>Direct logged-out GraphQL resolver

Public Instagram reels (/reel/, /reels/)<br>Available<br>Direct GraphQL resolver, then hidden WebView fallback

Public Instagram carousels<br>Available<br>Instagram resolver chain above

Private posts, login-required content, challenges, consent flows<br>Unsupported<br>No resolver currently available

Resolvers are selected through a shared prioritized resolver chain, so adding a new source does not require changing the viewer UI.

Roadmap

Add more link sources, including Reddit, X/Twitter, TikTok, and YouTube.

Add more Instagram features, including Stories.

Improve sharing, link history, and source-specific viewing experiences.

Principle and architecture

Peek separates link resolution from presentation. Source-specific resolvers normalize content into shared domain models; repositories handle caching and pagination; ViewModels expose screen state; stateless Jetpack Compose UI renders it.

B[Resolver chain]<br>B --> C[Normalized domain model]<br>C --> D[Repository + cache]<br>D --> E[ViewModel state]<br>E --> F[Jetpack Compose UI]<br>" dir="auto">

flowchart LR<br>A[Shared link] --> B[Resolver chain]<br>B --> C[Normalized domain model]<br>C --> D[Repository + cache]<br>D --> E[ViewModel state]<br>E --> F[Jetpack Compose UI]

Loading

The app is a single-activity Kotlin/Jetpack Compose project. domain contains models, repository contracts, and use cases; data contains Instagram resolution, persistence, caching, and fixtures; ui contains navigation, ViewModels, mappers, and rendering.

Contributing

Peek is early and intentionally small. Ideas, source integrations, design improvements, bug reports, and pull requests are all welcome—please include a short description and relevant tests when you can.

Build and verify

Requires JDK 17 and Android SDK 36.

./gradlew :app:assembleDebug<br>./gradlew :app:testDebugUnitTest :app:lintDebug<br>./gradlew :app:validateDebugScreenshotTest<br>./gradlew :app:connectedDebugAndroidTest

Acknowledgements

Peek’s Instagram fetching logic is based on Kittygram.

About<br>Open social media links without distraction<br>Topics<br>instagramsocial-media<br>Resources<br>Readme<br>Activity<br>Stars<br>6 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository

Releases

Contributors

Languages

You can’t perform that action at this time.

instagram gradle gradlew resolver peek links

Related Articles