Inspiration Teams that buy and sell data still rely on fragmented workflows: spreadsheets, email, ad hoc contracts, manual file exchanges, and unclear pricing. We wanted to build a cleaner B2B experience where datasets can be listed, improved, priced, purchased, and governed in one place.
We also wanted to make data quality more actionable. Instead of just showing a dataset, Kiva helps sellers understand and improve it before publishing.
What it does Kiva is a B2B data marketplace for buying and selling datasets with seller and buyer workflows in one platform.
Core capabilities include:
Dataset listing and publishing Marketplace browsing and search/filtering Buyer request/RFP browsing Seller console-style management UI Dataset quality assessment / improvement trigger Cleaning cost estimation and improvement projections Purchase access flow with row-based pricing options Billing, invoices, and org-level controls Role-based access control for org members
How we built it We built Kiva as a full-stack web app using:
Next.js (App Router) React TypeScript Prisma PostgreSQL Tailwind CSS Server-side API routes for protected actions Implementation highlights:
Seller actions are wired to protected backend routes Dataset improvement reuses the existing backend assessment/cleaning entrypoint RBAC checks are enforced server-side Marketplace and Requests pages were redesigned using a console-inspired UI language Seeded demo listings were upgraded to realistic interval-based dataset names (e.g. time series, solar telemetry, maritime sonar)
Challenges we ran into Wiring frontend actions to existing backend logic without breaking current flows Handling authorization cleanly (seller-only, admin-only actions) Making loading states feel intentional (confirmation, spinner, async delays) Keeping the UI consistent while adding new functionality Cleaning up demo/test records and improving realism in seeded marketplace data Preserving filter/sort behavior across marketplace interactions Accomplishments that we're proud of Added a production-style “Improve dataset” seller action with RBAC + file checks Reused the existing dataset assessment backend instead of duplicating logic Implemented approval prompts before cleaning/improvement with clear cost messaging Improved UX for long-running cleaning actions (spinner, delay, feedback, download) Added row-count-sensitive pricing in “Get Access” Upgraded seeded dataset listings to realistic industry/time-interval naming Refined multiple pages to feel more polished and console-like without a full redesign
What we learned Small UX details (confirmation prompts, button states, realistic loading feedback) matter a lot for trust Reusing existing backend services is faster and safer than rebuilding features in parallel Server-side authorization must remain the source of truth, even if the UI hides actions Better demo data dramatically improves perceived product quality Consistent component styling helps teams move fast without visual drift
What's next for Kiva Persist improvement/cleaning outputs (not just trigger + download placeholder behavior) Store and surface data quality history over time Add more granular pricing models by row count, columns, freshness, and license scope Improve billing/payment method management with real payment rails Add richer dataset previews (sampling, schema profiling, drift indicators) Expand governance/compliance workflows for enterprise buyers Add collaboration and messaging around dataset negotiations and requests
Built With
- css
- javascript
- prisma
- react
- sql
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.