Independent product design
Establishing the page hierarchy, visual language and Persian RTL experience without a supplied design.
An independently designed immigration information platform connecting countries, migration pathways and CMS-powered publishing — from concept to frontend and content infrastructure.

A self-designed immigration information platform built end to end: country discovery, interactive mapping, five migration-method templates, editorial publishing and a custom Sanity CMS. The foundation is reusable for client projects; demo articles and guides contain sample content.
Owned the entire personal project, from concept, information architecture and UI design to frontend implementation. Built country discovery, all five migration-method route groups, editorial templates and responsive React screens. Configured the Sanity CMS content models, GROQ data access and country/mapping integrations.
Project context. Independently built as a portfolio product, not commissioned by a client. Country records used real data; example articles and migration guides in the demo are placeholders. The reusable site and CMS infrastructure is implemented, while client-specific, verified advisory content remains a publishing requirement.
Establishing the page hierarchy, visual language and Persian RTL experience without a supplied design.
Bringing country discovery, interactive mapping and complementary country information together.
Modeling countries, articles and five migration pathways as reusable Sanity content types.
Reusing templates across country details, migration-method listings and editorial content.
A categorized, period-accurate stack. Where useful, the implementation map connects the frontend with the project’s actual platform and data sources.
Technologies actually used in the archived project, grouped by responsibility. Only relevant categories appear.
The foundation the frontend runs on.
Hover, focus, or tap a technology to see how it was used.
Libraries and assets shaping what people see and feel.
Hover, focus, or tap a technology to see how it was used.
Integrations and tools used in the development workflow.
Hover, focus, or tap a technology to see how it was used.
Sanity Studio v2
Countries, posts, migration types and author/content schemas queried with GROQ.
External data services
REST Countries, FlagCDN and university listings used for supplementary country information.
Next.js 12 · Pages Router
Server-rendered GROQ content, dynamic [slug] routes and client-side requests for selected country details.
Data sources feed distinct modules. The source confirms the content architecture, but the demo migration and blog copy is example content. Production content review and search metadata remain a client-launch task.
The product connects a world-map landing view to a country directory and country-specific detail pages. Each surface reuses structured data instead of becoming an isolated static page.
Mapbox provides the visual entry point for exploring places.
The directory reads country records from Sanity and shows recognizable flag imagery.
Dynamic country pages combine CMS fields, live country-data requests and relevant migration-pathway links.
Investment, study, work, marriage and birth each have a dedicated Sanity document schema and Next.js listing/detail route. That provides a reusable service-content foundation for a future client deployment without hardcoding every guide.
The same route patterns support category listings and slug-based detail pages.
Content editors can author rich text, images and metadata fields in Sanity rather than changing JSX.
The demo entries are examples: replacing them with professionally reviewed, location-specific content is part of client onboarding.
The screenshot gallery shows historical demonstration content; it is not verified legal or immigration advice.
I configured the Sanity Studio as the content backend, modeled countries, migration types, posts and supporting entities, and connected the Pages Router frontend through GROQ and Portable Text.
Independent Sanity Studio v2 with country, post, migration-method, author, category and rich-content schemas.
GROQ-powered server-rendered listing and detail pages; reusable blog, tag and category layouts.
Existing SEO foundations include SSR, meaningful headings, breadcrumbs and fa-IR/RTL HTML configuration. A full per-page metadata, canonical, structured-data and sitemap pass would be part of production hardening.
This was a self-directed portfolio product, but its page templates, CMS models and integrations form a working starting point for a client-specific immigration information website. That is not the same as claiming the demo is a vetted or production-certified advice service.
Implemented foundation
Before a client launch