Public search
Search, filters, sorting, pagination, listing details, featured homes, communities, open houses, and public-safe previews.
Web Developer
Full-Stack Application
A deployed real estate application that combines a public property-search experience, customer accounts, and a role-protected brokerage administration system.
Angular / TypeScript / FastAPI / PostgreSQL / Cloud Storage
Project Overview
I built Juniper & Lane to show a complete application lifecycle: public browsing, account workflows, internal administration, durable media storage, automated testing, security controls, and production deployment.
The Challenge
The application needed to serve anonymous visitors, registered customers, and brokerage staff without mixing their responsibilities or weakening the backend authorization boundary.
The public experience includes search, filtering, listing details, community content, open houses, and agent information. Customer accounts add saved homes, recently viewed listings, saved searches, alerts, and inquiry workflows.
A separate protected administration area manages listings, photos, documents, agents, offices, leads, testimonials, users, analytics, and site settings. FastAPI remains the authoritative layer for validation, authentication, authorization, and business rules.
Key Implementation
Angular owns presentation and browser interaction. FastAPI handles the API and business rules, PostgreSQL stores relational data, and S3-compatible object storage keeps listing media outside the web server filesystem.
Search, filters, sorting, pagination, listing details, featured homes, communities, open houses, and public-safe previews.
Registration, email verification, login, password recovery, favorites, recently viewed listings, saved searches, and alerts.
Role-protected listing management, media workflows, open houses, documents, leads, users, content, analytics, and CSV exports.
Render hosts the application and PostgreSQL while S3-compatible storage handles media. Alembic migrations manage schema changes.
Quality + Security
The project includes automated checks and operational safeguards so the deployed application demonstrates more than feature development.
The Result
Juniper & Lane now gives recruiters a live application they can browse while the repository shows the architecture, tests, deployment configuration, documentation, and incremental project history behind it.
Angular and TypeScript, Python and FastAPI, SQLAlchemy, PostgreSQL, API design, authentication and authorization, file storage, migrations, testing, CI, accessibility, and deployment.
I wanted one project that exposed the decisions between layers: how browser state maps to an API, how the API protects data, how relational records connect to media, and how those pieces are tested and deployed together.
Next case study
Spreadsheet Checkup