Sam published a new MVP Traders Marketplace — Directory & Listings Platform
15 days ago
A production-oriented directory and listings marketplace built with Next.js 16, React 19, TypeScript, Tailwind CSS, Prisma, and PostgreSQL. It ships complete buyer, seller, and administrator journeys: category-led discovery, text and map search, listing detail pages, seller profiles, favourites, saved searches, enquiries, messaging, review moderation, listing management, onboarding, reporting, account privacy controls, audit logs, and installable PWA support. Authentication uses secure cookie sessions with refresh rotation, same-origin mutation protection, rate limiting, email verification, password recovery, and role-aware authorization. The database includes migrations and realistic seed data; Vitest and Playwright cover the core API and browser journeys. Docker targets separate migrations, workers, build, and runtime services, while the CI workflows run type, unit, browser, dependency, and security checks. Stripe billing, S3-compatible media storage, Mapbox maps, email delivery, and web push are integrated but require the buyer's own production credentials. Ideal for agencies, local-business networks, trade directories, service marketplaces, and founders launching a niche classifieds or discovery platform.
Sam published a new MVP MVP ForSale Promo Storefront
18 days agoMVP ForSale (mvp.forsale) is a server-rendered promotional listing storefront for an MVP Hub-style marketplace, built on Next.js 16 (App Router) and React 19 with plain JavaScript and zero UI-framework dependencies. It is a read-only catalog frontend: every page fetches the marketplace catalog server-side from MVP Hub's public API, so crawlers and link previews receive full HTML, and every buy action deep-links back to the marketplace with UTM attribution. SEO is the core feature set — per-listing metadata and Open Graph tags, schema.org Product JSON-LD with offer price and aggregate rating, canonical URLs, a live sitemap.xml generated from the catalog, robots.txt, and noindexed search results. The catalog UX covers category landing pages with data-derived subcategory chips, faceted search (category, tech stack, capability, price slider), client-side sort, listing detail pages with gallery, seller-provided markdown body (rendered with raw HTML stripped), readiness badges, verified-review counts, and multi-variant "from" price ranges. Data-integrity guards are built in: reviews are never fabricated, unpriced listings never show $0, demo buttons only render for real demo links, and sold-out or coming-soon sale statuses are respected. The visual theme is a distinctive hand-drawn wireframe aesthetic (Kalam handwriting font, sketch-style browser chrome) that is deliberately easy to re-skin: one CSS file, design tokens at the top. Easy to set up — clone, set three env vars (API origin, public marketplace origin, canonical site origin), pnpm install, pnpm dev; ships with a BuildKit-secret Dockerfile producing a Next.js standalone image with a liveness health route for blue/green deploys. Pluggable against any backend exposing the /api/mvps list + detail contract. Ideal for marketplace operators who want a second themed storefront or SEO promo surface for the same catalog, agencies white-labelling listing sites, and developers who want a clean reference for server-rendered catalog SEO on the App Router.
Clara upvoted SM-Post Social Media Scheduler
25 days agoSM-Post Social Media Scheduler Completed the publishing-safety pass
26 days agoTomas commented on SM-Post Social Media Scheduler
27 days agoNine real providers plus a MockProvider whose content markers drive success, failure, retry, refresh and ambiguous paths — the whole publish state machine is testable without touching a real account.
Clara reviewed SM-Post Social Media Scheduler
28 days agoApprovals are bound to a content hash that the worker rechecks right before fan-out, so an edited post cannot ride a stale approval. Rare to see that done correctly.
Ravi reviewed SM-Post Social Media Scheduler
29 days agoFlushed Redis on purpose and ran the repair command — every scheduled post came back. Postgres as the source of truth for publishing is the right call.
Sam published a new MVP SM-Post Social Media Scheduler
30 days agoSM-Post is a multi-tenant social-media posting and scheduling platform — the self-hostable core of a Buffer/Hootsuite-style product, delivered as a pnpm + Turborepo monorepo. Four apps: a Next.js 15 (App Router) + React 19 web client, a Fastify 5 API, a BullMQ worker, and a Playwright E2E suite; seven packages including a Prisma 6 data layer (33 models, 14 hand-authored migrations), a provider SDK, and an AES-256-GCM token vault. It runs on Postgres 17, Redis 7 and S3/MinIO. Nine real providers ship in the box — Bluesky, Mastodon and Telegram work out of the box, while LinkedIn, Facebook, Instagram, X, Pinterest and TikTok activate as soon as you supply your own platform-app credentials — plus a MockProvider whose content markers drive every branch of the publish state machine in tests and demos. The publishing engine is the differentiator: Postgres is the source of truth and BullMQ jobs are disposable, deterministically-named triggers, so you can flush Redis entirely and rebuild all queue state with one command. BullMQ is pinned to a single attempt and the application owns retry policy in the database (attemptCount / maxAttempts / nextRetryAt), because letting the queue retry would double-post; a maybe-sent outcome is never auto-retried and instead lands in an operator needs-review inbox, and a recorded success is never re-posted. Multi-tenancy is workspaces and projects with OWNER/ADMIN/MEMBER roles, hash-only email invitations, and an append-only audit stream. Per-project approvals bind an approval to a sha256 snapshot of the post content, media, per-provider overrides and targets — and the worker recomputes that hash immediately before fan-out, so an edited post can never ride an old approval. Stripe Checkout, the Billing Portal and a signed raw-body webhook back FREE/PRO/TEAM tiers with channel, post, member and project limits; omit the Stripe key and it drops into self-host mode with everything unlimited. Media uploads are presigned straight to S3/MinIO so bytes never transit the API, then content-sniffed with sharp on completion. Auth is passwordless magic-link (better-auth) with optional Google OIDC. Provider tokens live in an append-only encrypted vault — rows are inserted on refresh, never updated, and never stored on the channel row. Operationally it ships liveness and readiness probes, pino structured logs with secret redaction and request IDs, opt-in Sentry, Redis-backed rate limiting, Zod env schemas that fail fast at boot, and a production guard that refuses to start with dev secrets. Tests: 65 unit files, 19 integration suites against real Postgres/Redis/MinIO/Mailpit, and 5 Playwright journeys covering auth + tenancy, connect + publish, approvals, failure review, and billing limits. Ideal for founders launching a niche or vertical scheduling tool, agencies running client social calendars under one roof, teams that want first-party control of their social tokens instead of renting a SaaS seat, and developers who want a genuinely production-shaped queue, tenancy and OAuth codebase to learn from.
Jordan upvoted Hireloop Self-Hosted Job Board
2 months agoHireloop Self-Hosted Job Board Completed pre-launch hardening
2 months agoDevon commented on Hireloop Self-Hosted Job Board
3 months agoThe slug-based public URLs plus per-listing schema.org JobPosting JSON-LD make Google-for-Jobs indexing trivial to enable.
Mei reviewed Hireloop Self-Hosted Job Board
3 months agoOperational baseline is the differentiator: /api/health, /api/ready, structured logs, request IDs, bundle budget in CI, and Mailpit-backed email round-trip tests.
Jordan reviewed Hireloop Self-Hosted Job Board
3 months agoAuth handling and account deletion are noticeably more careful than most starter repos. Opaque sessions hashed at rest is the right call.
Sam published a new MVP Hireloop Self-Hosted Job Board
3 months agoHireloop is a self-hostable, production-grade job board built on Next.js 15 (App Router), Postgres 16, and Drizzle ORM. Candidates browse, filter, and bookmark roles; employers create a free account, post a job, and manage their listings from any device; admins moderate the board. The auth layer uses bcryptjs work-factor-12 password hashes and opaque session tokens (raw bytes in an HttpOnly cookie, only sha256(token) stored server-side) with a 30-day sliding expiry. Email verification and password reset use atomic UPDATE ... RETURNING tokens so replay is impossible, with Resend in production and Mailpit/SMTP in dev/CI. Self-serve account deletion soft-deletes the user, scrubs PII, and closes every owned posting (GDPR-aligned). Every /api/auth/* and /api/me/* endpoint sits behind in-memory rate limits and is wrapped in a top-level handler that emits structured JSON logs (request id, route, method, ip, status, ms) and returns a sanitised 500 so Drizzle internals never leak through. Security headers (HSTS, CSP, X-Frame-Options: DENY, X-Content-Type-Options, Referrer-Policy, Permissions-Policy) are set in next.config.ts and apply to every route. /api/health and /api/ready expose liveness + readiness probes for any load balancer or orchestrator. Sentry integration is one env var (SENTRY_DSN) away; the SDK is dynamically imported so a deploy without it pays zero cost. Tests: 80 unit (Vitest), integration suite against an ephemeral Postgres (testcontainers), and Playwright E2E that round-trips the verify-email and password-reset flows through Mailpit in CI. SEO: per-listing schema.org JobPosting JSON-LD (Google for Jobs ready), canonical URLs, OG image, sitemap, robots disallow on every gated route, and a bundle-size budget enforced in CI. Ideal for indie founders launching a niche job board, agencies building white-label boards for clients, internal hiring portals at companies that want first-party data, and developers learning a modern Next.js + Postgres + auth-from-scratch stack.
Alice upvoted Offer App NZ Offers & Cashback Platform
4 months agoOffer App NZ Offers & Cashback Platform Completed multi-app platform baseline
4 months agoMia commented on Offer App NZ Offers & Cashback Platform
4 months agoThe Expo app plus shared API client package is a strong touch. It keeps the product surface broad without fragmenting the implementation story.
Ben reviewed Offer App NZ Offers & Cashback Platform
4 months agoTracked redirects, cashback activation, wallet flows, and sponsored listings show strong marketplace thinking rather than just coupon UI polish.
Alice reviewed Offer App NZ Offers & Cashback Platform
4 months agoThe split between consumer web, merchant tools, admin workflows, and mobile makes this much easier to evaluate as a real platform.
Sam published a new MVP Offer App NZ Offers & Cashback Platform
4 months agoA full multi-application platform for New Zealand offers, coupons, cashback, merchant management, admin operations, and mobile discovery. The repo ships as a pnpm + Turborepo monorepo with a NestJS API backed by Prisma, PostgreSQL, and Redis; a consumer-facing Next.js web app; dedicated admin and merchant portals; an Expo React Native mobile app; and shared packages for typed API access and DTOs. It includes tracked redirects, coupon copy tracking, cashback activation, wallet and referral foundations, notifications, wishlist flows, sponsored listings, premium subscription surfaces, and merchant tooling. The mobile app uses Expo Router and TanStack Query, while the web experience uses Next.js 16 and shared typed API client packages. The platform is especially useful for founders building a regional rewards marketplace, affiliate coupon platform, or cashback network with separate consumer, merchant, and admin surfaces in one codebase.