About Skills Projects Resume Contact
← Back to Projects
01 — Data Warehousing & Business Intelligence

Palantir Technologies
Intelligence Database

SQL Server .NET / VB SSIS SSAS Power BI ETL Grade: A

A full-stack law enforcement intelligence platform modeled after Palantir Gotham — covering subject identity, social media threat monitoring, arrest records, and multi-agency employee management, with a .NET desktop application and complete ETL/BI pipeline.

Overview

INFO 3240 Enterprise Information Management, University of Denver — Spring 2021

The goal of this project was to simulate the kind of operational intelligence database that powers platforms like Palantir Gotham — tracking subjects, social media activity, arrest records, agency employees, and clearance levels across five law enforcement agencies. The database was peer-reviewed and earned an A grade.

The full stack included: a normalized SQL Server OLTP database loaded via SSIS, an SSAS multidimensional cube for pivot analysis, Power BI executive dashboards, and a .NET Windows Forms application for day-to-day operational use by both officers and agency administrators.

Database Schema

9-table relational model with enforced foreign keys and check constraints

The schema was designed from scratch with normalization, foreign key integrity, and real-world constraint enforcement — driver's license numbers must be exactly 10 digits, and social media security threat levels must fall between 1 and 5.

SubjectIdentity

  • SubjectID (PK)
  • Driver License #
  • DOB, Gender, Weight
  • Eye Color, Address
  • Full Name

SubjectArrestRecord

  • ArrestID (PK)
  • SubjectID (FK)
  • BadgeID (FK)
  • ArrestType (FK)
  • Date, Location

SubjectSocialMedia

  • PostID (PK)
  • SubjectID (FK)
  • MediaType (FK)
  • Content, Link
  • ThreatLevel (1–5)

Employee

  • BadgeID (PK)
  • AgencyID (FK)
  • JobTitleID (FK)
  • Name, Address

Agency

  • AgencyID (PK)
  • Name, Address
  • City, State, Zip

JobType

  • JobTitleID (PK)
  • JobTitle
  • ClearanceLevel

EmployeeHistory

  • HistoryID (PK)
  • BadgeID (FK)
  • Start/End Date
  • Hourly Rate

ArrestType

  • Felony
  • Misdemeanor
  • Infraction

MediaType

  • Twitter
  • Instagram
  • Facebook

SQL Highlights

Views and constraints powering the .NET application

Three views were created to power the search and reporting features. The SearchResults view joins four tables to support the agency Record Lookup form with dropdown filters:

CREATE VIEW dbo.SearchResults AS
SELECT Agency.AgencyName, Employee.BadgeID, JobType.JobTitle,
       JobType.ClearanceLevel, Employee.FirstName, Employee.LastName,
       Employee.Address, Employee.Zipcode,
       EmployeeHistory.StartDate, EmployeeHistory.HourlyRate
FROM Agency
  INNER JOIN Employee        ON Agency.AgencyID     = Employee.AgencyID
  INNER JOIN EmployeeHistory ON Employee.BadgeID    = EmployeeHistory.BadgeID
  INNER JOIN JobType         ON Employee.JobTitleID = JobType.JobTitleID

Data integrity was enforced directly in the schema — for example, driver's license numbers must be exactly 10 digits, and social media threat levels must be 1–5:

DriverLiscenseNumber NVARCHAR(10)
  CONSTRAINT ck_driver_liscense_number
  CHECK ((DriverLiscenseNumber >= '1000000000')
     AND (DriverLiscenseNumber <= '9999999999')),

SecurityThreatLevel NVARCHAR(2)
  CONSTRAINT ck_security_threat_level
  CHECK ((SecurityThreatLevel >= '1')
     AND (SecurityThreatLevel <= '5'))

.NET Windows Forms Application

Four operational forms for two user roles — officers and agency administrators

🔍

Record Lookup

Agency search form with dropdown filters for agency name and job title. Queries the SearchResults view to return matching officer records dynamically.

👮

Officer Enforcement Record

Detail form with embedded subform showing every arrest an officer has made — designed for internal accountability and community interaction review.

📱

Social Media Monitor

Tabular grid of all social media posts with subject names and threat levels. Built to be fed by a live data scraping pipeline for real-time monitoring.

Employee Entry Form

Detail-view form allowing any agency to remotely add new officers to the database, with help tooltips on each required field for validation guidance.

Technology Stack

Full pipeline from raw CSV to interactive dashboards

Data was bulk-inserted via SSIS from CSV source files into the OLTP database. An SSAS multidimensional cube was built for Excel pivot-table analysis, and Power BI dashboards delivered executive-level agency reporting. The .NET application was built in Visual Studio with VB.NET and Windows Forms.

SQL Server 2019 SSMS SSIS SSAS Power BI Visual Studio VB.NET Windows Forms T-SQL Bulk Insert Microsoft Visio

Peer Review Feedback

Reviewed by Lillian Tobias on 6/7/21: "Project has a combination of useful and well-designed forms (one each for detail, grid, and subform). Practical, functional and creative search form. Aggregations (sum, count, average) used in at least one form. Directory structure is clean, files organized and named accordingly."

Interested in this project or want to connect?

[email protected] LinkedIn ← All Projects