Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Emotial Docs

$100K MRR - Project Proposal

Team Name

$100K MRR

Team Members

  • Nathan Lodge
  • Slater Leonardo

Business Opportunity / Problem

Social Media Web Application

Users

Our users will be anyone who is interested in using a social media site to stay social. In reality, it will be mostly NEIT students.


User Requirements

Non-Logged-In Users

  • View Posts
  • View Timeline
  • Advanced Timeline Management
    • Sort Timeline
    • Filter Timeline
    • Search Posts
  • View Profiles
  • Sign up
  • Log in
  • Reset Password (maybe, if we choose to use Resend for sending emails)
  • Change Website Theme

Users

  • Post Management
    • React to Post
    • Create Post
    • Edit Post
    • Delete Post
    • Share Post
    • Reply to Post
    • Add an Image to a post (up to 4)
    • Add animated images (gifs)
    • Video uploading (max 1)
    • Rich Post Functionality
      • Mentioning
      • Hashtags
      • Reaction List
  • Other Users Management
    • Follow User
    • View Other User’s Followers
  • Profile Management
    • Add Profile Picture
    • Animated Profile Pictures (gifs)
    • Add Banner
    • Update Bio
    • Update Username / Display Name
    • Update Password
  • Notifications
    • Get notified when another user reacts to your post
    • Get notified when another user follows you
    • Get notified when another user replies to your post
  • Live Events
    • Real-time notifications via WebSockets
  • Developer Tools
    • Ability to create a bot
    • API access for programmatic interaction
  • Profile Badges
    • Admin Badge
    • Follower Badges: 10+, 25+, 100+

Admins

  • View All Profiles
  • View Reports
  • Delete Accounts
  • Delete Posts

Technology Stack

Frontend

  • Next.js / React
  • Tailwind CSS
  • TypeScript
  • Socket.io Client

Backend

  • Golang
  • Gin
  • Gorm
  • Socket.io

Infrastructure

  • PostgreSQL
  • Docker
  • Minio S3 (maybe, for image blob storage)

Services

  • GitHub
  • Cloudflare
  • Resend (maybe, for emails)
  • Google (maybe, for Google OAuth logins)

High Level Database Architecture

  • Users
  • Posts
  • Notifications
  • Relationships (Followers / Following)
  • Reactions (our version of Likes)
  • Shares
  • Reports

$100K MRR - Status Report: Week 2

Project Summary

Emotial is a social media platform with a unique emoji reaction system, videos, animated profile pictures, and more.

Team Members

MemberHours This Week
Nathan Lodge1
Slater Leonardo1

Completed Tasks

TaskOwner
Completed project proposalBoth

Time Tracking

PlannedActualRemaining Budget
Hours11

Planned Tasks for Next Week

TaskOwner
Start designing a mockup for the prototype due Week 4Both
Complete use cases diagramBoth

Project Risks

RiskSeverity (High / Medium / Low)
Time management with workMedium
Easter holidayMedium

Overdue Tasks

  • N/A

Issues

  • Running out of time to design prototype.

Follow-up Actions

ActionResponsible Person
Finalize what the social media platform is going to look likeBoth
If prototype isn’t done by Week 4, continue working on itBoth

$100K MRR - Status Report: Week 3

Project Summary

Emotial is a social media platform with a unique emoji reaction system, videos, animated profile pictures, and more.

Team Members

MemberHours This Week
Nathan Lodge5
Slater Leonardo5

Completed Tasks

TaskOwner
Use cases diagramBoth
Started wireframeNathan

Time Tracking

PlannedActualRemaining Budget
Use cases diagram1 hr1 hr
WireframeN/A4 hrs

Planned Tasks for Next Week

TaskOwner
Continue wireframeNathan

Project Risks

RiskSeverity (High / Medium / Low)
Gantt chartMedium
WireframeLow
Database designLow

Overdue Tasks

  • N/A

Issues

  • N/A

Follow-up Actions

ActionResponsible Person
Continue wireframeNathan
Start Gantt chartBoth

Use Cases

Overview

Post Management

Profile Management

Timeline

$100K MRR - Status Report: Week 4

Project Summary

Emotial is a social media platform with a unique emoji reaction system, videos, animated profile pictures, and more.

Team Members

MemberHours This Week
Nathan Lodge10
Slater Leonardo5

Completed Tasks

TaskOwner
Start wireframeNathan
Start 10-week Gantt chartNathan

Time Tracking

PlannedActualRemaining Budget
Hours1010

Planned Tasks for Next Week

TaskOwner
Complete midterm presentationNathan
Complete ERDSlater

Project Risks

RiskSeverity (High / Medium / Low)
Time management with workMedium
Slater’s sister’s birthdayLow

Overdue Tasks

  • N/A

Issues

  • N/A

Follow-up Actions

ActionResponsible Person
Continue wireframeNathan
Database design / ERDSlater

Prototype

Feed

Explore

Notifications

Profile

Settings

$100K MRR - Status Report: Week 5

Project Summary

Emotial is a social media platform with a unique emoji reaction system, videos, animated profile pictures, and more.

Team Members

MemberHours This Week
Nathan Lodge7
Slater Leonardo10

Completed Tasks

TaskOwner
Frontend wireframe and Gantt chartNathan Lodge
ERD and database designSlater Leonardo

Time Tracking

PlannedActualRemaining Budget
Hours20173

Planned Tasks for Next Week

TaskOwner
Activity diagramBoth

Project Risks

RiskSeverity (High / Medium / Low)
Time managementLow

Overdue Tasks

  • N/A

Issues

  • N/A

Follow-up Actions

ActionResponsible Person
Continue work on wikiBoth

Entity Relationship Diagram

697

Gantt Chart

$100K MRR - Status Report: Week 6

Project Summary

Emotial is a social media platform with a unique emoji reaction system, videos, animated profile pictures, and more.

Team Members

MemberHours This Week
Nathan Lodge2
Slater Leonardo5

Completed Tasks

TaskOwner
Activity diagramSlater
Continue designNathan

Time Tracking

PlannedActualRemaining Budget
Hours

Planned Tasks for Next Week

TaskOwner
Class diagramsBoth

Project Risks

RiskSeverity (High / Medium / Low)
Family health issuesMedium
Nathan’s work scheduleMedium

Overdue Tasks

  • N/A

Issues

  • N/A

Follow-up Actions

ActionResponsible Person
N/A

Activity Diagrams

Account Access

Create Post

Timeline & Post Interaction

Follow / Unfollow User

$100K MRR - Status Report: Week 7

Project Summary

Emotial is a social media platform with a unique emoji reaction system, videos, animated profile pictures, and more.

Team Members

MemberHours This Week
Nathan Lodge3
Slater Leonardo3

Completed Tasks

TaskOwner
Class diagramBoth
Keep experimenting with wikiBoth

Time Tracking

PlannedActualRemaining Budget
Hours

Planned Tasks for Next Week

TaskOwner
Heuristic evaluationBoth
Improve designBoth

Project Risks

RiskSeverity (High / Medium / Low)
Family health issuesMedium
Time managementMedium

Overdue Tasks

  • N/A

Issues

  • N/A

Follow-up Actions

ActionResponsible Person
N/A

Class Diagram

697

$100K MRR - Status Report: Week 8

Project Summary

Emotial is a social media platform with a unique emoji reaction system, videos, animated profile pictures, and more.

Team Members

MemberHours This Week
Nathan Lodge3
Slater Leonardo2

Completed Tasks

TaskOwner
Heuristic evaluationNathan Lodge
Heuristic evaluationSlater Leonardo

Time Tracking

PlannedActualRemaining Budget
Hours1053

Planned Tasks for Next Week

TaskOwner
Activity diagramBoth

Project Risks

RiskSeverity (High / Medium / Low)
Time managementLow

Overdue Tasks

  • N/A

Issues

  • N/A

Follow-up Actions

ActionResponsible Person
N/A

Heuristic Evaluation

1. Visibility of system status

The sidebar will have the current page you’re on highlighted and when actions are performing liked creating a post or editing your account settings, navigation and text displayed will allow users to understand where they are and that their actions went through.

2. Match between system and the real world

The site already looks like common social media sites and has common symbols users like recognize like a magnifying glass for searching, house for home page, etc. Additionally, one of the core features of emotial are the emoji reactions which are meant to mirror real reactions people have.

3. User control and freedom

Users will be able to sign out, delete their accounts, edit their posts, unreact to posts, unfollow a profile, etc. All of these are examples of a user being able to reverse their actions.

4. Consistency and standards

Many pages will reuse the same shared layout (navigation on the left, content in the middle, friends/trending content on the right) which is coherent. Also, typography and common cards will be built so that the app has a uniform look.

5. Error prevention

On forms like login and signup there will be danger borders and labels showing validation errors, there will able be zero states for example on search showing that their search returned no results so that users are always in the loop.

6. Recognition rather than recall

There are explicit buttons/labels for actions that may not be obvious and common elements have common interactions across pages. This will make it easy for users to recognize how to interact with elements.

7. Flexibility and efficiency of use

The timeline and profiles will work well for both writing posts and browsing/reading posts. There will also be power user options like sorting by reaction and options like that. This adds flexibility to what users can do while meeting everyones needs.

8. Aesthetic and minimalist design

Emotial has a simple but consistent and explicit user interface. There are buttons for common operations and dropdown menus for more complex operations. The typography is consistent across components and is easy on the eyes.

9. Help users recognize, diagnose, and recover from errors

There was be clear danger borders and labels showing when an error has occurred. for example, invalid password or post text is too long. One really important one is file size too big for images/videos. If they silently fail to upload with no visual indicator that is bad.

10. Help and documentation

There’s no documentation or help section yet, but we plan on having a sort of onboarding modal appear when you login for the first time that shows the common actions users can perform. Maybe we will add a support button / help section at some point too.

$100K MRR - Status Report: Week 9

Project Summary

Emotial is a social media platform with a unique emoji reaction system, videos, animated profile pictures, and more.

Team Members

MemberHours This Week
Nathan Lodge5
Slater Leonardo5

Completed Tasks

TaskOwner
Final wikiBoth
Final Gantt chartBoth

Time Tracking

PlannedActualRemaining Budget
Hours10

Planned Tasks for Next Week

TaskOwner
Final PresentationBoth

Project Risks

RiskSeverity (High / Medium / Low)
Time management with other finalsMedium

Overdue Tasks

  • N/A

Issues

  • N/A

Follow-up Actions

ActionResponsible Person

Gantt Chart