Inspiration
SkillKin began from a simple concern: practical knowledge can disappear even when it is deeply valuable. In Manipur and in communities everywhere, cooking techniques, craft methods, songs, performance traditions, garden knowledge, repair skills, and household practices are often passed from one person to another—not through a course, but through trust, demonstration, practice, and correction.
Video libraries preserve content, but they do not prove that a skill reached another pair of hands. We wanted to build for that missing moment.
What it does
SkillKin is a private apprenticeship app for passing one real-world skill from one Guide to one invited Learner.
- A Guide creates a handoff in Kitchen & Home, Craft & Making, Music & Performance, or Garden & Land.
- The Guide records up to three named demonstration steps and shares one secret invitation.
- The invited Learner watches, practices, and submits an attempt video with a note.
- The Guide gives private feedback and either requests another try or marks the skill Passed On.
- That verified handoff becomes the beginning of a skill lineage.
SkillKin is intentionally not a public feed, newsletter, follower network, or bulk course library. The unit of value is a completed human handoff.
How we built it
The Android app is built with Expo, React Native, TypeScript, and Expo Router. Supabase provides anonymous authentication, PostgreSQL, private object storage, signed media URLs, Row Level Security, and a JWT-protected account-deletion function. The database authorization model separates Guide, invited Learner, and outsider access.
RevenueCat powers SkillKin Plus. The project has a lowercase plus entitlement, a current Offering, a published paywall, localized pricing, Restore Purchases, and a verified annual Test Store purchase on a physical Android device. The entitlement survived process death and RevenueCat recorded the sandbox purchase and renewal history.
EAS Hosting serves the public privacy policy and external account-deletion resource. Google Play setup uses the confirmed package in.pinegrass.skillkin.
Privacy by design
Handoffs and their media are private by default. Invitations are secret, reads are restricted by membership, media uses short-lived signed URLs, and Settings provides permanent deletion of the current identity, handoffs, participation, attempts, reviews, and private media. SkillKin does not contain advertising.
Challenges
The hardest work was not drawing screens. It was enforcing the same one-Guide/one-Learner promise across navigation, database policies, storage access, invitation rotation, deletion, and subscription state. We also had to keep RevenueCat's Test Store configuration clearly separated from the future production Google Play billing configuration.
Anonymous pilot identities make onboarding gentle, but they are not recoverable after app-data loss. Recoverable accounts are therefore a deliberate public-release gate rather than something we will hide in fine print.
Accomplishments that we are proud of
- A working native Android development build on a physical Samsung device.
- A real RevenueCat Test Store purchase, Restore path, active entitlement, and restart persistence.
- A deployed Supabase backend in Mumbai with private storage and membership-based Row Level Security.
- Hosted authorization tests using separate Guide, Learner, and outsider identities.
- Device-verified Guide creation, private video upload, signed playback, and account/media deletion.
- A live Google Play app record and public privacy/deletion resources.
What we learned
The emotional centre of SkillKin is not pressing Play. It is the moment a Guide can truthfully say, “You can do this now.” Product validation should therefore measure completed handoffs, useful feedback, and lineages extended—not hours watched or follower counts.
What's next
Our immediate validation milestone is the complete native invitation → attempt → feedback → Passed On flow on a second physical device, followed by four real Guide/Learner pairs. We will then connect production Google Play products to RevenueCat, test purchase failure/cancellation/expiry/reinstall flows, finish the Store Listing and Data Safety review, provide free judge access, and publish the first public Android release during Shipaton.
Built With
- android
- eas
- expo.io
- postgresql
- react
- revenuecat
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.