We're hiring · Islamabad or remote
Senior Full-Stack Engineer
Pakistan's event and wedding vendor marketplace is looking for the engineer who owns the web platform end to end — schema to deploy, no handoffs.
- Location
- Remote, or Pakistan-based if you prefer
- Overlap
- Some hours with Islamabad time (PKT)
- Commitment
- Full-time, part-time or contract
- Compensation
- Competitive — by experience and location
About Jashn
Jashn connects couples with the best event and wedding vendors across Pakistan. It is a two-sided platform: vendors onboard their services, and customers discover, compare and book them.
We launched the public marketplace in 2024 and have since shipped vendor dashboards, customer profiles, an invitation card studio and a large set of SEO landing pages. We're scaling.
The stack
- Next.js 16.2
- React 19
- TypeScript
- Supabase / PostgreSQL
- Tailwind CSS v4
- Resend
- Vercel
- vitest + Playwright
The role
You are the engineer for Jashn's web platform — frontend, backend, deployment, all of it. You ship features independently, make the architectural calls, hold the quality line and keep everyone in the loop on progress. This is a generalist role: the reason it works is that one person can move across the whole stack without waiting on anyone.
- Frontend
- React components, user experience, responsive layouts across desktop and mobile, performance.
- Backend
- Node APIs, database schema design, Supabase migrations, Row Level Security policies, auth flows.
- Database
- PostgreSQL schema, migrations, query optimisation, data integrity.
- Deployment
- Vercel deploys, environment variables, production debugging, rollback procedures.
- Velocity
- Taking features from design to production, and unblocking yourself along the way.
What you'll do
- Build and ship features end to end — customer dashboards, vendor tools, marketplace improvements, admin features.
- Design and maintain the PostgreSQL schema; write and apply migrations safely.
- Optimise for performance, security and scale.
- Write clear, maintainable TypeScript that the next person can build on.
- Review your own work critically before merging — tests, edge cases, security.
- Debug production issues and communicate status clearly.
- Read and respect the project's constraints: append-only IDs, immutable media, an RLS-first security model.
What we're looking for
Required
- Full-stack web development — or equivalent demonstrated expertise.
- React 19 + Next.js 16 — App Router, not Pages Router. This version has breaking changes, and you'll need to be willing to read the docs shipped inside node_modules rather than assume.
- TypeScript — used to prevent bugs, not just for IDE hints.
- PostgreSQL and SQL — schema design, migrations, query optimisation, indexes and their cost.
- Supabase — RLS, auth patterns and migrations, or the ability to pick them up quickly.
- Node and API design — middleware, error handling, bearer-token and role-based access.
- Tailwind CSS v4 — responsive design, CSS variables for theming.
- Git and GitHub — commits, PRs, merge discipline, reading a diff in context.
- A production mindset — env vars, secrets, error handling, logging, and how you'd debug a live issue at 11pm.
Nice to have
- Marketplace or two-sided platform experience — vendor and customer flows.
- Vercel deployments, edge functions, preview deploys.
- Email infrastructure (Resend or similar).
- SEO — metadata, JSON-LD, sitemap generation, crawlability.
- SVG or vector rendering — we have a card-design tool that lays out its own text.
- Modern testing with vitest and Playwright.
Month one
A concrete picture of what a good first month looks like:
- You've read the project docs, and you understand the philosophy and the recent decisions.
- Local dev runs, and you've shipped at least one small feature or bugfix.
- You know the data model — customer, vendor, category, invitation card specs.
- You've applied a Supabase migration by hand and understand the process.
- You've read through a past PR and know where the quality bar sits.
- You're shipping independently, with minimal back-and-forth.
What we're working on
The backlog moves, but recently shipped work gives you the shape of it:
- Customer dashboards — saved vendors, enquiry history, notifications.
- The invitation card studio — 500+ curated wedding card designs.
- Lifecycle emails — onboarding, retention, re-engagement.
- SEO landing pages — data-driven category and event hubs, metadata, JSON-LD.
- The admin console — moderation, vendor approvals, enquiry management.
Ahead of us: scaling the vendor tools, improving discovery, and expanding into more cities.
Gotchas and non-negotiables
Every codebase has rules that look arbitrary until you know why. Here are ours up front, so nothing is a surprise in week two.
- Append-only IDs
- Category, card-spec and layout IDs are frozen. Renaming one breaks saved rows and indexed URLs — there's a test that enforces it.
- No dark mode
- The site is light-only by design. It isn't on the roadmap; please don't add it.
- Signed-in surfaces get reviewed
- Vendor dashboards and admin tools reach production without a second pair of eyes on them. That's a real risk, and one you'll manage together.
- Migrations are manual
- SQL is checked in and you apply it by hand. There is no migration runner. This is deliberate — plan for it.
- No hydration surprises
- React hydration mismatches have cost us real debugging time. Be deliberate about server versus client state.
- Parallel edits collide
- More than one session can be working the same tree. Pull first; merge discipline matters.
How to apply
Send us
- Your CV, with full-stack projects, database work and production experience called out.
- A short note on why Jashn interests you.
- A GitHub profile or portfolio — full-stack examples preferred.
- Any questions you have about the role.
In the first conversation
- Walk us through a full-stack feature you shipped end to end.
- Talk about your experience with databases and migrations.
- Ask about the roadmap and what success in this role means.
Prefer your own email?
Something unclear, or want to know more before applying? Just ask — we'd rather answer than lose the right person to a guess.