Environmentor Progressive Web App
Connect with environmental experts
Organization
MIT India Initiative
Core Technologies
Next.js TailwindCSS Zod validation Prisma PostgreSQL Vercel Blob Storage
Domain
Full-stack Web Development
Date
June 2020
Technical highlight
The homepage of the app allows a user to look through paginated directory of experts from different fields, filter for specific attributes, and also add an expert to the directory. The homepage search and filter functionality works even without an active JS enabled to ensure access to experts' contact details even in low connectivity areas.
Technical highlight
Accomplished a seamless filtering experience for users, as measured by the ability to filter environmental experts based on field, search query, and other criteria, even with JavaScript disabled, by implementing a server-side filtering solution.
This approach utilized progressive enhancement techniques, where server-side rendering was employed to ensure core functionality remained accessible in low-bandwidth or script-disabled environments.
The applied filters dynamically update both the page title and metadata, ensuring the search results are accurately reflected and enhancing discoverability for users.
Technical highlight
I developed functionality to add ecological experts to a database, focusing on robust form validation with React Hook Form and Zod. Using useFormState and useFormStatus, I dynamically managed form states and error handling. I built reusable components with Tailwind CSS and integrated React-markdown to create a rich text editor for expert descriptions.
On the backend, I integrated Vercel Postgres with Prisma ORM to support efficient data management and full-text search, and implemented file uploads to Vercel Blob for seamless asset handling.
Technical highlight
I developed a secure admin dashboard with Clerk authentication, leveraging middleware to ensure access is restricted to authorized users. The dashboard enables administrators to efficiently approve or delete requests from experts seeking to be featured on the platform.
I implemented APIs that interact with a Postgres database, allowing for real-time updates to the approval status of experts. This streamlined process ensures that only qualified experts are featured, maintaining the platform’s integrity.
Takeaways