Finding short-term housing as a student intern can mean scrolling through Facebook groups, scattered spreadsheets, and public marketplaces with uncertain listings. Subtle is a student-focused relocation platform for college students moving for internships, co-ops, or summer programs.
The platform brings together a housing marketplace, apartment intelligence, and intern connections to help students find a place to live and meet people nearby. The roadmap below outlines the planned features and development milestones.
- User authentication with .edu verification
- Housing marketplace
- Create, browse, and search sublease listings
- Filter listings by location, price, and duration
- Apartment intelligence system
- Generate a Subtle score using a weighted scoring function
- Evaluate cost, commute time, public transit availability, and safety indicators
- Intern social graph
- Discover interns by location, company, university, and shared interests
- Receive ML-powered intern connection recommendations
- Send and manage connection requests
- Real-time messaging between users
- Apartment review system
- Carpool matching for interns commuting to similar locations
- Relocation cost simulator
| Week | Frontend Tasks | Backend Tasks |
|---|---|---|
| Week 1 | Discuss roles and tech stack Set up communication, environments, and WhenToMeet Review Git Start low-to-high fidelity UI designs Research Next.js and Tailwind CSS Design the overall user flow |
Discuss roles and tech stack Set up PostgreSQL locally or through Supabase Plan the database schema Explore APIs using Postman |
| Week 2 | Review UI design basics Design login, dashboard, housing marketplace, and user profile pages Finish Figma designs by the end of the week |
Plan users, listings, messages, connections, and activities tables Set up Auth0 authentication and .edu verification Establish a working database connection |
| Week 3β4 | Build listing creation, marketplace, and listing detail pages Add search and filtering UI |
Implement listing CRUD routes for price, location, lease duration, and internship company tags Add image uploads and search functionality |
| Week 5 | Build messaging and conversation pages Add connection request UI |
Implement real-time messaging with Supabase Realtime Add conversation management and connection request functionality |
| Week 6β7 | Build the apartment intelligence dashboard Visualize the Subtle score |
Integrate Google Maps routes and places data Collect commute times, nearby grocery stores, and transportation options Explore public transportation APIs Build a weighted scoring function for the Subtle score |
| Week 8 | Build the Nearby Interns page and user profile cards Integrate connection requests and recommendations Work on stretch goals if time permits |
Implement ML-powered intern recommendations Generate connection recommendations Work on stretch goals if time permits |
| Week 9β10 | Prepare the demo and slides Brainstorm skit or video ideas Practice for Presentation Night π |
Finalize the demo Help prepare slides and presentation materials Practice for Presentation Night π |
Frontend
- Figma
- Next.js + Tailwind CSS
Backend
- Frameworks
- PostgreSQL + Supabase
- Authentication
- Auth0 Docs β planned authentication and .edu verification
- Messaging
- APIs
- Google Maps Platform β Routes, Compute Route Matrix, Places, and Geocoding
- Crime Data API
- Public transportation APIs
- Scoring + Recommendations
- Weighted scoring for apartment intelligence
- cosine similarity
- pgvector
- PostGIS
Full Stack
Developer Tools
- Apartment scoring weights may need refinement
- Start with initial weights for cost, commute, transit, and safety, then refine them using user feedback
- The housing marketplace needs sufficient listing data
- Populate the database with realistic sample listings for development and demos
- Recommendations may become too complex
- Start with a simple recommendation approach and expand as needed
- Team members may fall behind
- Pair frontend and backend members during integration weeks
- Facebook Housing Groups: Subtle adds .edu verification, searchable listings, and apartment scores to make finding student housing easier.
- Ohana: Subtle goes beyond finding housing by helping interns meet potential roommates and build connections nearby.
- Urbanbound: Subtle puts student needs first, bringing short-term housing, commute insights, and intern connections into one place.
| Command | What it does |
|---|---|
git init |
Initialize a Git repository |
git clone <repo-url> |
Clone a repository from a URL |
git status |
Show the current working tree status |
git add <file> |
Stage a file; use git add . to stage all changes in the current directory |
git commit -m "Descriptive message" |
Commit staged changes with a message |
git push |
Push local commits to the remote branch |
git log |
View commit history |
git branch |
List local branches |
git branch <branch-name> |
Create a branch |
git checkout <branch-name> |
Switch branches |
git checkout -b <branch-name> |
Create and switch to a branch |
git merge <branch-name> |
Merge a branch into the current branch |
git branch -d <branch-name> |
Delete a merged local branch |
git push -u origin <branch-name> |
Push a branch and set its upstream |
git pull origin <branch-name> |
Fetch and integrate a remote branch into the current branch |
git pull |
Fetch and integrate changes from the upstream branch |
git fetch |
Fetch remote changes without merging |
git reset --hard HEAD |
Discard uncommitted changes to tracked files |
git revert <commit> |
Create a new commit that reverses a commit's changes |
Use type: short description for commit messages. Add an optional scope to show which part of the project changed: type(scope): short description.
| Type | When to use it | Example |
|---|---|---|
feat |
Add a feature | feat(listings): add price filters |
fix |
Fix a bug | fix(auth): handle expired sessions |
docs |
Update documentation | docs: update setup instructions |
refactor |
Restructure code without changing behavior | refactor: simplify scoring function |
test |
Add or update tests | test: cover listing search |
chore |
Maintain tooling or dependencies | chore: update dependencies |
For a breaking change, add ! before the colon, such as feat(api)!: change listing response format.
- Sunay Shehaan - Project Manager
- Lerich Osay - Industry Mentor
