We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Description
Shomp is a no-fee creator marketplace for digital and physical products, empowering creators to sell directly and keep more of what they earn. Shomp is built for creators who want a simple, fair way to sell their work online. Whether itβs digital downloads like music, art, or ebooks, or physical goods like books, clothing, and handmade merchandise, Shomp makes it easy to set up a storefront, manage orders, and connect with customers. With built-in payments powered by Stripe Connect, creators can get paid securely and directly. Unlike traditional platforms that take a cut from every sale, Shomp operates as a nonprofit marketplace. There are no platform fees, and optional donations from customers help support platform development and growth. With tools for analytics, customer communication, and audience-building, Shomp is designed to help creators grow their business while keeping the focus on their craft.
Type
App
Experience using Elixir
Using Elixir and LiveView has been a joy. This project is open-source and was co-created with AI assistance from the Cursor IDE. Given the indeterminate nature of a new project's scope, we found it very convenient that Elixir/Erlang allows for database migrations to modify the database structures. Keeping a total list of all migrations makes deploying the project in production very straightforward. We did run into issues with certain migrations having incorrect timestamps in the names, when we deployed they tried to run out-of-sequence and had to be reordered so the migrations made sense. It's like a dependency-tree of migrations and each one builds on the last. Ecto is a great database adapter/management tool. The ability to add websocket introspection to the database via Elixir LiveView and PubSub allows for realtime features on our website with minimal hassle. The router for Elixir is also very easy to understand and we did not run into any challenges making middleware which can be a common snag in other languages. We were able to get an application to a considerable level of maturity in just 6-7 weeks working with the Cursor IDE, but there were some pitfalls there as AI needs some handholding from time to time. For example, our marketplace uses UUIDs for most database items but that had to be specified by us manually, because the AI preference was to use sequence IDs (starting at 1 and incrementing) which were less desirable. We also had to specify that we wanted to use product slugs (abbreviations of names with hyphens) rather than database ids for looking up products. Overall the experience has been very positive and productive. Using version control and saving in working states, pretty much as frequently as a new feature is added, is a must. This saves lots of headache because the AI agent can really go off the rails sometimes, and sometimes edit files you don't want changed, and sometimes be very lazy in "making things work" (like omitting or commenting out functionality you do want but is currently busted). By having good discipline about committing to git you can save yourself a lot of backtracking by simply discarding undesirable changes and making a fresh attempt with a fresh prompt.
Tech Stack
Elixir with Phoenix LiveView, Postgres
Categories
E-commerce & Retail
Education & E-learning
More
-
Kuali
- Tagline
- Kuali is software for the Future of Higher Education
-
Give With Click
- Tagline
- Flat fee fundraising for schools and athletic teams.
-
FeedBun
- Tagline
- A browser extension that decodes food labels and recipes on any website for healthy eating, with science-backed research summaries and recommendations.
-
Flojo
- Tagline
- Find an expert coach to take your AI and no-code skills to the next level in as little as 30 minutes.