Timber.bid โ Project Story
๐ Inspiration
Timber.bid was inspired by the inefficiencies and fragmentation in the reclaimed wood and specialty lumber marketplace. We noticed a gap: independent sellers and buyers lacked a modern, trusted platform to exchange reclaimed or specialty timber with transparency, trust, and ease. Our team set out to solve this by creating a real-time, cross-platform marketplace that feels intuitive and secure.
๐ What it does
Timber.bid is a full-stack marketplace app for discovering, listing, and buying/selling specialty lumber and reclaimed wood products. Key functionalities include:
- User Authentication
- Listing Creation & Management
- Real-time Messaging
- Secure Orders & Payments
- Admin Dashboard with Role-Based Access
- Cross-platform support for Web, iOS, and Android
๐ ๏ธ How we built it
Foundation with Expo and Expo Router
- Expo SDK 52.0.30 and Expo Router 4.0.17 enabled rapid development across iOS, Android, and Web.
- File-based routing with Expo Router made navigation intuitive and scalable.
Navigation Architecture
- Tabs + Stack Navigation:
- Defined in
app/(tabs)/_layout.tsxfor Discover, Listings, Messages, Profile, Transactions. - Stack flows for nested screens like listing detail or profile editing.
- Defined in
Backend & Database with Supabase
- PostgreSQL-powered backend with:
- Tables for
profiles,listings,orders,reviews,addresses,conversations,messages. - Row-Level Security (RLS) on all tables with granular access policies.
- Tables for
- Supabase Storage handles listing images and avatars with strict upload permissions.
- Functions & Triggers:
update_user_ratings,update_last_active,validate_message_sender,update_conversation_timestamp,get_or_create_conversation- Email triggers for new messages and order updates.
Key Feature Implementations
- Auth & Global Session Management: Via Supabase Auth and custom
useAuthhook. - Listing Workflow:
- Location detection (
LocationPicker.tsx) - Media upload (
ImageUploader.tsx) - Draft and publish toggles
- Location detection (
- Real-time Messaging:
- Powered by Supabase real-time.
- Chat UI via
react-native-gifted-chat.
- Orders & Transactions: Full tracking via
orderstable. - Stripe Integration for secure payments.
- User Preferences & Profiles: With privacy and notification controls.
- Admin Dashboard: Tools for moderation and analytics.
UI/UX & Styling
- Consistent styling using
StyleSheet.create. - Responsive layouts using
Dimensions,Platform.OS. - Fonts via
@expo-google-fonts. - Icons via
@expo/vector-icons(MaterialCommunityIcons, Ionicons).
Development Practices
- Web-first approach with platform-specific conditionals via
Platform.select(). - Secure environment variable handling using Expo.
- User-friendly error messages inline in the UI.
- Preserved
useFrameworkReadyfor initialization control.
โ ๏ธ Challenges we ran into
- Real-time messaging required careful coordination between database schema, Supabase subscriptions, and UI refresh logic.
- Payment integration and Stripe test flows were sensitive to platform differences and webhook delays.
- Cross-platform quirks (especially for Android location APIs and iOS camera permissions) required detailed testing.
- Ensuring data security with RLS while maintaining performance was a delicate balance.
๐ Accomplishments we're proud of
- A working end-to-end marketplace MVP with secure payments and real-time messaging.
- Single codebase for iOS, Android, and Web.
- Admin dashboard with full moderation and analytics capabilities.
- Robust backend logic and fine-tuned permissions across the stack.
๐ What we learned
- Supabase is incredibly powerful for startups needing fast, scalable backends with strong security.
- Expo Router accelerates multi-platform development, especially for teams prioritizing Web.
- Investing early in trigger functions and clean schema design saves countless debugging hours later.
- UI/UX details (fonts, icons, responsive behavior) significantly affect user trust in a marketplace platform.
๐ฎ What's next for Timber.bid
- Subscription model for premium listings via RevenueCat.
- In-app notifications and push messaging.
- Geo-targeted discovery to support local pickups and regional sales.
- Advanced search filters for wood type, dimensions, and treatment.
- NFT-style provenance (long-term) for high-end reclaimed wood with blockchain attestations.
Built With
- bolt.new
- expo.io
- netlify
- resend
- supabase



Log in or sign up for Devpost to join the conversation.