Index: src/main/java/apps/spring/reportium/entity/dto/InstitutionTotalReportsDTO.java
===================================================================
--- src/main/java/apps/spring/reportium/entity/dto/InstitutionTotalReportsDTO.java	(revision a87f4bda288f79986d1b7212a42e3846723d9d25)
+++ src/main/java/apps/spring/reportium/entity/dto/InstitutionTotalReportsDTO.java	(revision a87f4bda288f79986d1b7212a42e3846723d9d25)
@@ -0,0 +1,15 @@
+package apps.spring.reportium.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class InstitutionTotalReportsDTO {
+    private String institutionName;
+    private Long numberOfReports;
+
+    public InstitutionTotalReportsDTO(){};
+    public InstitutionTotalReportsDTO(String institutionName, Long numberOfReports) {
+        this.institutionName = institutionName;
+        this.numberOfReports = numberOfReports;
+    }
+}
Index: src/main/java/apps/spring/reportium/repository/InstitutionRepository.java
===================================================================
--- src/main/java/apps/spring/reportium/repository/InstitutionRepository.java	(revision 70207fa53282caa128ef9b08ca647420e0a9e85d)
+++ src/main/java/apps/spring/reportium/repository/InstitutionRepository.java	(revision a87f4bda288f79986d1b7212a42e3846723d9d25)
@@ -2,8 +2,28 @@
 
 import apps.spring.reportium.entity.Institution;
+import apps.spring.reportium.entity.dto.InstitutionTotalReportsDTO;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Repository
 public interface InstitutionRepository extends JpaRepository<Institution, Long> {
+    @Query(value = """
+                WITH top_3_institutions AS (
+                  SELECT ar.institution_id, COUNT(*) AS total_reports
+                  FROM report r
+                  JOIN academicreport ar ON ar.report_id = r.report_id
+                  WHERE r.created_at >= date_trunc('year', now()) - interval '1 year'
+                  GROUP BY ar.institution_id
+                  ORDER BY COUNT(*) DESC
+                  LIMIT 3
+                )
+                SELECT i.name, a.total_reports
+                FROM top_3_institutions a
+                JOIN institution i ON i.institution_id = a.institution_id
+                ORDER BY a.total_reports DESC;
+            """, nativeQuery = true)
+    List<InstitutionTotalReportsDTO> findTop3Institutions();
 }
Index: src/main/java/apps/spring/reportium/web/HomeController.java
===================================================================
--- src/main/java/apps/spring/reportium/web/HomeController.java	(revision 70207fa53282caa128ef9b08ca647420e0a9e85d)
+++ src/main/java/apps/spring/reportium/web/HomeController.java	(revision a87f4bda288f79986d1b7212a42e3846723d9d25)
@@ -4,4 +4,5 @@
 import apps.spring.reportium.entity.dto.*;
 import apps.spring.reportium.entity.exceptions.PersonNotFoundException;
+import apps.spring.reportium.repository.InstitutionRepository;
 import apps.spring.reportium.repository.ReportRepository;
 import apps.spring.reportium.service.PersonService;
@@ -18,8 +19,10 @@
     private final PersonService personService;
     private final ReportRepository reportRepository;
+    private final InstitutionRepository institutionRepository;
 
-    public HomeController(PersonService personService, ReportRepository reportRepository) {
+    public HomeController(PersonService personService, ReportRepository reportRepository, InstitutionRepository institutionRepository) {
         this.personService = personService;
         this.reportRepository = reportRepository;
+        this.institutionRepository = institutionRepository;
     }
 
@@ -50,4 +53,5 @@
         ReportStatisticsPerPersonDTO statistics_per_person = reportRepository.getStatisticsForPerson(personId);
         List<DiagnosisSimilarityPerPersonDTO> diagnosis_similarity = reportRepository.getSimilarDiagnosesForPerson(personId);
+        List<InstitutionTotalReportsDTO> top3_institutions = institutionRepository.findTop3Institutions();
         model.addAttribute("medical_reports", person_mr);
         model.addAttribute("criminal_reports", person_cr);
@@ -57,4 +61,5 @@
         model.addAttribute("diagnosis_similarities", diagnosis_similarity);
         model.addAttribute("person", person);
+        model.addAttribute("institutions",top3_institutions);
         return "person_reports";
     }
Index: src/main/resources/templates/home.html
===================================================================
--- src/main/resources/templates/home.html	(revision 70207fa53282caa128ef9b08ca647420e0a9e85d)
+++ src/main/resources/templates/home.html	(revision a87f4bda288f79986d1b7212a42e3846723d9d25)
@@ -104,5 +104,5 @@
         <tr>
             <th>#</th>
-            <td>PersonID</td>
+            <th>PersonID</th>
             <th>Full Name</th>
             <th>Address</th>
Index: src/main/resources/templates/person_reports.html
===================================================================
--- src/main/resources/templates/person_reports.html	(revision 70207fa53282caa128ef9b08ca647420e0a9e85d)
+++ src/main/resources/templates/person_reports.html	(revision a87f4bda288f79986d1b7212a42e3846723d9d25)
@@ -319,32 +319,239 @@
         }
 
-        @media (max-width: 768px) {
-            .container {
-                padding: 20px;
-                margin-top: 80px;
-            }
-
-            .page-title {
-                font-size: 2rem;
-            }
-
-            .section-title {
-                font-size: 1.5rem;
-            }
-
-            .stats-grid {
-                grid-template-columns: 1fr;
-            }
-
-            .section-header {
-                flex-direction: column;
-                text-align: center;
-            }
-
-            .section-icon {
-                margin-right: 0;
-                margin-bottom: 1rem;
-            }
-        }
+        .container {
+            padding: 20px;
+            margin-top: 80px;
+        }
+
+        .page-title {
+            font-size: 2rem;
+        }
+
+        .section-title {
+            font-size: 1.5rem;
+        }
+
+        .stats-grid {
+            grid-template-columns: 1fr;
+        }
+
+        .section-header {
+            flex-direction: column;
+            text-align: center;
+        }
+
+        .section-icon {
+            margin-right: 0;
+            margin-bottom: 1rem;
+        }
+
+        .general-statistics {
+            background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
+            border-radius: 20px;
+            padding: 3rem 2rem;
+            margin: 2rem 0;
+            border: 1px solid rgba(148, 163, 184, 0.2);
+        }
+
+        .general-statistics h4 {
+            font-size: 2rem;
+            font-weight: 700;
+            text-align: center;
+            margin-bottom: 3rem;
+            color: #1e293b;
+            position: relative;
+        }
+
+        .general-statistics h4::after {
+            content: '';
+            position: absolute;
+            bottom: -10px;
+            left: 50%;
+            transform: translateX(-50%);
+            width: 80px;
+            height: 4px;
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            border-radius: 2px;
+        }
+
+        .institutions-podium {
+            display: flex;
+            justify-content: center;
+            align-items: flex-end;
+            gap: 1rem;
+            margin: 3rem 0;
+            perspective: 1000px;
+        }
+
+        .institution-rank {
+            position: relative;
+            padding: 2rem 1.5rem;
+            border-radius: 16px;
+            text-align: center;
+            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
+            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+            backdrop-filter: blur(10px);
+            border: 1px solid rgba(255, 255, 255, 0.2);
+            max-width: 280px;
+            min-height: 200px;
+            display: flex;
+            flex-direction: column;
+            justify-content: space-between;
+        }
+
+        .institution-gold {
+            background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #fbbf24 100%);
+            border: 3px solid #d97706;
+            transform: scale(1.1);
+            z-index: 3;
+        }
+
+        .institution-gold::before {
+            position: absolute;
+            top: -20px;
+            left: 50%;
+            transform: translateX(-50%);
+            font-size: 3rem;
+            background: white;
+            border-radius: 50%;
+            padding: 10px;
+            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
+        }
+
+        .institution-gold .rank-number {
+            color: #92400e;
+            font-size: 3rem;
+            font-weight: 900;
+            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
+        }
+
+        .institution-gold .rank-title {
+            color: #92400e;
+            font-weight: 700;
+            text-transform: uppercase;
+            letter-spacing: 1px;
+        }
+
+        .institution-silver {
+            background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 50%, #9ca3af 100%);
+            border: 3px solid #6b7280;
+            z-index: 2;
+        }
+
+        .institution-silver::before {
+            position: absolute;
+            top: -20px;
+            left: 50%;
+            transform: translateX(-50%);
+            font-size: 2.5rem;
+            background: white;
+            border-radius: 50%;
+            padding: 8px;
+            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
+        }
+
+        .institution-silver .rank-number {
+            color: #374151;
+            font-size: 2.5rem;
+            font-weight: 800;
+            text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
+        }
+
+        .institution-silver .rank-title {
+            color: #374151;
+            font-weight: 600;
+            text-transform: uppercase;
+            letter-spacing: 0.5px;
+        }
+
+        .institution-bronze {
+            background: linear-gradient(135deg, #cd7f32 0%, #b45309 50%, #92400e 100%);
+            border: 3px solid #78350f;
+            z-index: 1;
+        }
+
+        .institution-bronze::before {
+            position: absolute;
+            top: -20px;
+            left: 50%;
+            transform: translateX(-50%);
+            font-size: 2rem;
+            background: white;
+            border-radius: 50%;
+            padding: 6px;
+            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
+        }
+
+        .institution-bronze .rank-number {
+            color: #fbbf24;
+            font-size: 2rem;
+            font-weight: 700;
+            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
+        }
+
+        .institution-bronze .rank-title {
+            color: #fbbf24;
+            font-weight: 600;
+            text-transform: uppercase;
+        }
+
+        .rank-number {
+            display: block;
+            margin-bottom: 1rem;
+        }
+
+        .rank-title {
+            font-size: 1.1rem;
+            margin-bottom: 1rem;
+        }
+
+        .institution-name {
+            font-size: 1.2rem;
+            font-weight: 700;
+            margin-bottom: 0.5rem;
+            color: #1e293b;
+            line-height: 1.3;
+        }
+
+        .report-count {
+            font-size: 2rem;
+            font-weight: 900;
+            color: #667eea;
+            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
+        }
+
+        .report-label {
+            font-size: 0.9rem;
+            color: #64748b;
+            font-weight: 500;
+            margin-top: 0.25rem;
+        }
+
+        .no-institution-data {
+            text-align: center;
+            padding: 4rem 2rem;
+            background: linear-gradient(135deg, rgba(156, 163, 175, 0.1) 0%, rgba(156, 163, 175, 0.05) 100%);
+            border-radius: 16px;
+            border: 2px dashed #d1d5db;
+        }
+
+        .no-institution-data i {
+            font-size: 4rem;
+            color: #9ca3af;
+            margin-bottom: 1.5rem;
+        }
+
+        .no-institution-data h5 {
+            color: #6b7280;
+            font-size: 1.3rem;
+            margin-bottom: 1rem;
+        }
+
+        .no-institution-data p {
+            color: #9ca3af;
+            font-style: italic;
+            font-size: 1rem;
+        }
+
     </style>
 </head>
@@ -802,5 +1009,4 @@
                     </div>
 
-                    <!-- Summary footer -->
                     <div class="text-center mt-3 pt-3" style="border-top: 1px solid #f1f3f4;">
                         <small class="text-muted">
@@ -835,9 +1041,53 @@
                     </div>
                 </div>
+                <div class="general-statistics">
+                    <h4>
+                        <i class="fas fa-trophy me-3"></i>
+                        Top Performing Institutions (Last Year)
+                    </h4>
+
+
+                    <div class="institutions-podium" th:if="${!institutions.isEmpty()}">
+                        <div class="institution-rank institution-gold" th:if="${institutions.size() > 0}">
+                            <span class="rank-number">1st</span>
+                            <div class="rank-title">Champion</div>
+                            <div class="institution-name" th:text="${institutions.get(0).institutionName}">Institution
+                                Name
+                            </div>
+                            <div class="report-count" th:text="${institutions.get(0).numberOfReports}">0</div>
+                            <div class="report-label">Reports</div>
+                        </div>
+
+                        <div class="institution-rank institution-silver" th:if="${institutions.size() > 1}">
+                            <span class="rank-number">2nd</span>
+                            <div class="rank-title">Runner-up</div>
+                            <div class="institution-name" th:text="${institutions.get(1).institutionName}">Institution
+                                Name
+                            </div>
+                            <div class="report-count" th:text="${institutions.get(1).numberOfReports}">0</div>
+                            <div class="report-label">Reports</div>
+                        </div>
+
+                        <div class="institution-rank institution-bronze" th:if="${institutions.size() > 2}">
+                            <span class="rank-number">3rd</span>
+                            <div class="rank-title">Third Place</div>
+                            <div class="institution-name" th:text="${institutions.get(2).institutionName}">Institution
+                                Name
+                            </div>
+                            <div class="report-count" th:text="${institutions.get(2).numberOfReports}">0</div>
+                            <div class="report-label">Reports</div>
+                        </div>
+                    </div>
+
+                    <div class="no-institution-data" th:if="${institutions.isEmpty()}">
+                        <i class="fas fa-building"></i>
+                        <h5>No Institution Data Available</h5>
+                        <p>No reports have been filed with any institutions in the past year.</p>
+                    </div>
+                </div>
             </div>
         </div>
     </div>
 
-    <!-- Back Button -->
     <div class="text-center mt-4">
         <a th:href="@{/}" class="back-button">
@@ -847,6 +1097,4 @@
     </div>
 </div>
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.bundle.min.js"></script>
 </body>
 </html>
