Trade skills with TimeCredits โ 1 TC = 1 hour
A Reddit-native skill exchange platform built with Devvit Web Interactive Posts for the Community Games Challenge. Help your community, earn credits, and build reputationโall within Reddit.
๐ Tagged for: Best Kiro Developer Experience Award
- โ Time Credits Economy: Local currency where 1 TC = 1 hour of work
- โ Gig Marketplace: Post requests for help or offer your skills
- โ Dual Confirmation: Both parties must confirm before payment settles
- โ Transaction History: Complete audit trail of all credit transfers
- โ Reputation System: Build trust through completed gigs
- ๐ Weekly Skill Swap Sprints: Cooperative community goals with rewards
- ๐ Real-Time Leaderboards: Top Helpers, Fastest Responders, Most Versatile
- ๐ Community Analytics: Track gigs completed, active participants, avg time-to-match
- ๐ฌ Comment Prompts: Reddit-y engagement features
- โญ Seasonal Rankings: Quarterly resets for fresh competition
- ๐ก๏ธ Rate Limits: Configurable per trust level (New/Trusted/Veteran)
- โ๏ธ Dispute Workflow: 24-hour dispute window with escrow holds
- ๐ฎ Mod Panel: Freeze users, award credits, resolve disputes
- ๐ Audit Log: Immutable record of all moderator actions
- ๐ Minimum Reputation: Prevent spam from new accounts
- ๐จ Custom Splash Screen: Onboarding with 3 clear CTAs
- โก Optimistic UI: Instant feedback, smooth interactions
- ๐ Skeleton States: Loading placeholders for better perceived performance
- โฟ Accessibility: Keyboard navigation, ARIA labels, high contrast option
- ๐ฑ Responsive: Desktop-first (for judging) with mobile support
- ๐ 6 Domain Specs: Requirements-driven development in
.kiro/specs/ - ๐ง Code Generation: Auto-generate services, types, and tests
- ๐ฏ Steering Orchestration: Declarative workflow automation
- โฑ๏ธ ~1,050 lines saved: Quantified boilerplate reduction
- ๐ 5 Reusable Patterns: Documented for community adoption
# Install dependencies
npm install
# Run local playtest
npm run dev:run
# Upload to Reddit
npm run dev:upload
# Run tests
npm test
# Type check
npm run typecheck# Generate service scaffolds from specs
npm run kiro:generate-services
# Generate types from requirements
npm run kiro:generate-types
# Sync test scaffolds
npm run kiro:sync-tests
# Regenerate admin documentation
npm run kiro:regen-admin-docs# Award time credits to users
npm run admin:award-credit -- --username "alice" --amount 50 --reason "Great contribution"
# Ban/freeze abusive users
npm run admin:ban-user -- --username "spammer" --reason "Repeated spam"
# Reset economy (emergency only)
npm run admin:reset-economy# Create demo post with seed data
npm run demo:create-post
# Print submission assets for Devpost
npm run submit:assetsSkillTimeBank/
โโโ .kiro/ # Kiro specs, hooks & steering
โ โโโ specs/ # Domain requirements (6 specs)
โ โ โโโ gig-lifecycle/
โ โ โโโ timecredits-economy/
โ โ โโโ weekly-events/
โ โ โโโ leaderboards/
โ โ โโโ moderation-trust/
โ โ โโโ first-screen/
โ โโโ hooks/ # Code generation scripts
โ โ โโโ generate-services.kiro.ts
โ โ โโโ ...
โ โโโ steering/ # Workflow orchestration
โ โโโ gig-lifecycle-orchestration.md
โโโ src/
โ โโโ main.tsx # Devvit entry point
โ โโโ app/
โ โ โโโ App.tsx # Main app component
โ โโโ components/ # UI components
โ โ โโโ EnhancedSplashScreen.tsx
โ โ โโโ WeeklyEventCard.tsx
โ โ โโโ LeaderboardDisplay.tsx
โ โ โโโ ...
โ โโโ services/ # Business logic
โ โ โโโ gigService.ts
โ โ โโโ userService.ts
โ โ โโโ eventService.ts
โ โ โโโ leaderboardService.ts
โ โ โโโ moderationService.ts
โ โโโ state/ # State management
โ โ โโโ timebank.ts
โ โโโ types/ # TypeScript types
โ โ โโโ gig.ts
โ โ โโโ user.ts
โ โ โโโ event.ts
โ โ โโโ leaderboard.ts
โ โ โโโ moderation.ts
โ โโโ scripts/ # Admin utilities
โ โโโ award-credit.ts
โ โโโ ban-user.ts
โ โโโ reset-economy.ts
โโโ scripts/ # Build & demo scripts
โ โโโ create-demo-post.ts
โ โโโ submit-assets.ts
โโโ docs/
โ โโโ APP_LISTING.md # Full app documentation
โ โโโ KIRO_EXPERIENCE.md # Kiro metrics & patterns
โ โโโ ADMIN_TOOLKIT.md # Moderator guide
โโโ tests/ # Vitest test suite
โ โโโ timebank.test.ts
โ โโโ integration.test.ts
โ โโโ gig-edge-cases.test.ts
โโโ devvit.yaml # Devvit configuration
- ๐ App Listing - Complete feature documentation
- ๐ Kiro Experience - Developer experience metrics
- ๐ฎ Admin Toolkit - Moderation guide
- ๐น Demo Video - 3-minute walkthrough
- Devvit Web: Reddit's custom post framework
- TypeScript: Type-safe development
- Vitest: Fast unit testing
- Tailwind CSS: Utility-first styling (PostCSS)
- Kiro: Code generation & requirements-driven development
Every feature starts with a requirements document in .kiro/specs/. Example:
**User Story:** As a community member, I want to accept available gigs
**Acceptance Criteria:**
1. WHEN a user attempts to accept a gig, THE system SHALL verify user is not the poster
2. IF a user attempts to accept their own gig, THEN THE system SHALL prevent acceptanceRun npm run kiro:generate-services to scaffold services from specs:
// Auto-generated with error handling
export class GigService {
static acceptGig(
state: TimebankState,
gigId: string,
userId: string
): { success: boolean; newState?: TimebankState; error?: string } {
try {
// Implement from spec acceptance criteria
} catch (error) {
return { success: false, error: 'Failed to accept gig' };
}
}
}- ~1,050 lines of boilerplate avoided
- ~4 hours saved per feature iteration
- 5 reusable patterns documented for community
See KIRO_EXPERIENCE.md for full details.
This project is built for the Reddit Community Games Challenge with focus on:
โ
Devvit Web + Interactive Posts (desktop-first, fast, self-explanatory)
โ
Delightful UX (custom splash, onboarding, smooth performance)
โ
Community Play (weekly sprints, leaderboards, cooperative goals)
โ
Reddit-y Feel (comment prompts, native to Reddit)
โ
Moderation Tools (disputes, freezes, audit logs)
โ
Kiro Developer Experience (specs, generation, patterns)
| Criterion | Implementation |
|---|---|
| Delightful UX | Custom splash, skeleton states, optimistic UI |
| Community Play | Weekly sprints, leaderboards, analytics |
| Polish | Responsive, accessible, keyboard nav |
| Reddit-y | Comment integration, native feel |
| Desktop Performance | Lazy loading, caching, <2s load |
MIT License - Fully open source
๐ Awards Targeted:
- Best Kiro Developer Experience (primary)
- Community Games Challenge (general)
๐ Submission Assets:
- App Listing: docs/APP_LISTING.md
- Demo Post: [Create with
npm run demo:create-post] - Video: [3-minute desktop walkthrough]
- GitHub: [This repository]
- Kiro Docs: docs/KIRO_EXPERIENCE.md
Run npm run submit:assets for Devpost-ready links.
Contributions welcome! This project demonstrates patterns that can be reused:
.kiro/structure for your own projects- Service patterns for Devvit apps
- State management for complex Reddit apps
- Testing strategies for interactive posts
- Issues: GitHub Issues
- Feedback: Developer Survey
- Demo: r/SkillTimeBank
Built with โค๏ธ for the Reddit Community Games Challenge