Twenty years ago, Eminem's 8 Mile gave the world a cinematic look into Detroit's hip-hop culture.
Despite its global release, 8 Mile is very much a local movie, featuring places and landmarks that, at the time, were mostly known only to Detroiters. It made references to Motor City culture and featured more than a few familiar faces; it's the film that everyone in the metro area knows someone who was in it or worked on it. It also arned Eminem his Oscar for Best Original Song and the film, and told everyone that Cranbrook was a private school.
On the 20th anniversary of film's release, here is a look at some of the people and places of 8 Mile, then and now.
Tags:
- Warren,
- Oakland County,
- Wayne County,
- Downtown Detroit,
- Concert,
- Chin Tiki,
- Big Proof,
- WJLB,
- St. Andrew's Hall
Scroll down to view images
Page 1 of 2
Screenshot via YouTube
In the film: The Shelter
431 E. Congress St., Detroit
This one is tricky — technically, the Shelter is a very real music venue where Slim Shady actually did get his start rapping early in his career. However, all the scenes for the movie were actually shot in a set built at the Rivertown Warehouse District.
1 of 21
Google Maps
In real life: The Shelter
431 E. Congress St., Detroit
The real-life Shelter is still rocking in the basem*nt of the popular Saint Andrew’s Hall venue in Detroit. Both venues made the news earlier this year when the floor of Saint Andrew’s Hall started bending under the weight of fans during a Baby Keem concert, causing the show to be cut short and the city to order the venues to close for months for renovations. They are now back in action.
2 of 21
Screenshot via YouTube
In the film: 8 Mile Mobile Court
20785 Schultes Ave., Warren
The trailer park Rabbit’s mom lived in was probably the most important location outside of the Shelter in this movie. It’s where Rabbit got into a heated argument with his mom’s boyfriend Greg, and where he was jumped by rival rap group Free World.
3 of 21
Google Maps
In real life: A&L Mobile Home Park
20785 Schultes Ave., Warren
Today, the mobile home community is still open on Eight Mile and Ryan. Fun fact: If you look it up on Google Maps, it’s also tagged as “Eminem's Trailer Park.”
4 of 21
Screenshot via YouTube
In the film: Lil’ Tic
One of the film’s plotlines is Rabbit’s road to redemption after choking in the opening battle scene at the Shelter. Rabbit loses to L.T., who in real life was one of Eminem’s close friends, Proof (who the character Future, played by Mekhi Phifer, was based on).
5 of 21
Timothy M. Moore / Wikimedia Commons
In real life: Proof
Besides being one of Slim Shady’s good friends and hype man, he was also a member of the group D12. In 2006, Proof was gunned down after an altercation over a game of pool. Fun fact: In his battle, Lil’ Tic says “L.T., that’s right, co*ck the heat and shoot ya, I’ll punish Rabbit or obsolete Future.” If you look at the first letter of each word in the last bar, it spells “Proof.”
6 of 21
Screenshot via YouTube
In the film: New Detroit Stamping
950 E. Milwaukee Ave., Detroit
In the movie Rabbit gets a job at fictional New Detroit Stamping. While that company might’ve been created for the movie, it was filmed at the very real New Center Stamping.
7 of 21
Google Maps
In real life: New Center Stamping
950 E. Milwaukee Ave., Detroit
New Center Stamping is still open and operating today. No word on whether they still do rap battles during the lunch breaks, though.
8 of 21
Screenshot via YouTube
In the film: Chin Tiki
2121 Cass Ave., Detroit
Did you even watch 8 Mile if you never yelled out “Ten freaky girls inside the Chin Tiki?” The former tiki bar and Polynesian-themed restaurant opened in 1966 and closed its doors in 1980, remaining abandoned until the 8 Mile filming began. In the film, it’s a favorite hangout of Eminem’s character Rabbit, likely inspired by Detroit’s former Stanley’s Mannia Café Chinese restaurant, which hosted rap battles in the ’90s.
9 of 21
Google Maps
In real life: Chin Tiki
2121 Cass Ave., Detroit
Due to interest in the film, previous owner Marvin Chin considered reopening the spot, but Olympia Development bought the building and demolished it in 2009 to make space for Little Caesars Arena. (It is now a parking lot.) Meanwhile, there are plans to revive the former Stanley’s Mannia Café as a new music venue.
10 of 21
Screenshot via YouTube
In the film: Vanessa, from the lunch truck
No, she’s no longer rapping about working with steel and complaining about her short lunch break. In real life, Vanessa is played by the real rapper Miz Korona, one of Detroit’s most respected emcees.
11 of 21
Miz Korona / Instagram
In real life: Miz Korona
Since 8 Mile, Miz Korona continued to build her rap career. She released her latest EP, The Healer and the Heartbreaker, earlier this year.
12 of 21
Screenshot via YouTube
In the movie: Parking Lot Rap Battle
220 Bagley St., Detroit
Still embarrassed about choking during his battle at the Shelter, Rabbit and the Three One Third crew go to a more low-key battle in a parking lot. Rabbit redeems himself and performs a freestyle minutes before Free World shows up and a fight ensues.
13 of 21
Google Maps
In real life: Michigan Building
220 Bagley St., Detroit
Recognized in 2019 as one of the most beautiful parking structures in America, the former Michigan Theatre continues to find new life. In 2021, The Detroit Opera (formerly The Michigan Opera Theatre) staged a 12-hour show inside the decrepit theater.
14 of 21
Google Maps
In the film: A paintball target
13037 Mack Ave., Detroit
Early in the movie, we see Rabbit and his friends joyriding around the city of Detroit with a joint and paintball gun in tow. One of their targets was a large cow head on top of a restaurant.
15 of 21
Google Maps
In real life: Ira Wilson and Sons Dairy
13037 Mack Ave., Detroit
Well, that cow head is still on Detroit’s Eastside — sans paintball marks. The property is the former Ira Wilson & Sons Dairy shop. The store, which used the giant cow head as a marketing gimmick, was only open for less than a decade and closed in 1960 before becoming Dairy Ann, C&P Ice Cream, and, its final incarnation, a barbecue joint.
16 of 21
Screenshot via YouTube
In the film: Battle Rapper in Parking Lot
Obie Trice, real name, no gimmick, was one of the rappers featured in the parking lot scene at Michigan Theatre.
17 of 21
Obie Trice / Instagram
In real life: Obie Trice
After 8 Mile, Obie Trice continued his rap career, even making two Nick Cannon diss records in 2019 after the Wild N’ Out host dissed Eminem. In 2022, Obie Trice was jailed in Oakland County for harassing someone via telephone.
18 of 21
Screenshot via YouTube
In the film: WJLB Disc Jockey
Rabbit heads to the Penobscot Building to meet Wink, who promised he’d connect him with a manager at the radio station WJLB. IN the scene, we see the rapper Big O (aka King Gordy in real life) being interviewed by WJLB DJ Bushman.
19 of 21
Bushman / Instagram
In real life: Bushman
Twenty years later you can still hear Bushman on air on Mix 92.3
20 of 21
Page 1 of 2
Next Page
`this.removeSpinner = () => {jQuery(slideshowInstance.itemContainerSelector + ' div[uk-spinner]').remove()};this.prevPageLinkHTML = `Previous Page `this.nextPageLinkHTML = `Next Page `Object.defineProperties(this, {'items': { get: function() { return jQuery(this.itemContainerSelector).find(this.itemSelector)}},'currentItem': {get: function() {var foundItem = nullvar foundItemInView = nullthis.items.each(function () {var currentInView = elementInView(jQuery(this), scrollTopOffset, 0)if (currentInView) {// An in view item is already located extra logicif (foundItemInView && foundItemInView.inView) {// The entire previously found item is visible - it winsif (foundItemInView.topInView && foundItemInView.bottomInView) return// The previously found item covers the visible area - it winsif (foundItemInView.middleCoversView) return// The previously found item has more surface area - it winsif (foundItemInView.percentVisable > currentInView.percentOfViewHeight) return}foundItem = jQuery(this)foundItemInView = currentInView}})return foundItem}},'currentItemIndex': {get: function() {var currentElement = this.currentItem.closest('[slide-index]')if(currentElement) {return parseInt(currentElement.attr('slide-index'))}return null}},'currentItemId': {get: function() {var currentElement = this.currentItem.closest('[slide-id]')if(currentElement) {return currentElement.attr('slide-id')}return null}}})var slideshowInstance = this// xxx for debuggering - igwindow.slideshowInstance = slideshowInstance;var scrollTopOffset = window.innerHeight > this.smallMenuBreakPoint ? 110 : 140var originUrl = window.location.hrefthis.scrollToIndex = function (index) {var slideItem = this.items.filter('[slide-index="' + index + '"]')if (slideItem.length) { var topOffset = slideItem.offset().top - scrollTopOffset// window.scrollTo({ top: topOffset, behavior: 'smooth' })window.scrollTo({ top: topOffset, behavior: 'auto' })}else {this.fetchMore(index, function () {slideshowInstance.scrollToIndex(index)})}}this.fetchMore = function (startIndex, callback) {var currentItemOnFetch = this.currentItemvar url = '/detroit/see-8-mile-people-and-places-20-years-later-photos/Slideshow/31547901'var params = {ajaxComponent: componentId,action: 'grabMore',startIndex: startIndex,oid: slideshowOid,cb: '1668625701',}if (paginate) {params.paginate = paginate;}var keywords = currentItemOnFetch.attr('slide-keywords')if (keywords) {params.keywords = keywords}if (editorView === true) {params.editor = true}// jQuery.ajax({url: url,type: 'GET',data: params,dataType: 'json',// beforeSend: function () { console.log('Fetching results') },success: function (data) {console.log('success', data.results, data.results.length, data.error, data)if (data) {if (data.error) {console.log(data.error)}else if (data.results) {console.log('slideshowInstance.items', slideshowInstance.items)for (var i = 0; i < data.results.length; i++) {var resultItem = jQuery(data.results[i])// // var resultItem = jQuery.parseHTML(data.results[i], document, true);var resultItemIndex = parseInt(resultItem.attr('slide-index'))var resultAlreadyInserted = slideshowInstance.items.filter('[slide-index="' + resultItemIndex + '"]').length > 0console.log('result', resultItemIndex)var previousItem = nullvar previousItemIndex = 0if (!resultAlreadyInserted) {slideshowInstance.items.each(function () {if (resultAlreadyInserted) returnvar currentItem = jQuery(this)var currentItemIndex = parseInt(currentItem.attr('slide-index'))if (resultItemIndex === currentItemIndex ) {resultAlreadyInserted = truereturn}else if (resultItemIndex > previousItemIndex && resultItemIndex < currentItemIndex) {var topOffsetBeforeInsert = currentItemOnFetch.get(0).getBoundingClientRect().topresultItem.insertBefore(currentItem)resultAlreadyInserted = truevar adjustedTopPosition = currentItemOnFetch.offset().top - topOffsetBeforeInsertwindow.scrollTo({ top: adjustedTopPosition, behavior: 'auto' })}previousItem = currentItempreviousItemIndex = currentItemIndex})if (!resultAlreadyInserted) {var topOffsetBeforeInsert = currentItemOnFetch.get(0).getBoundingClientRect().topresultItem.insertAfter(slideshowInstance.items.last())resultAlreadyInserted = truevar adjustedTopPosition = currentItemOnFetch.offset().top - topOffsetBeforeInsertwindow.scrollTo({ top: adjustedTopPosition, behavior: 'auto' })if (typeof instgrm === 'object' && instgrm.Embeds && typeof instgrm.Embeds.process === 'function') {setTimeout(instgrm.Embeds.process, 200);}}}}}else { console.log('How did we get here?') }}else { console.log('No result or error returned from content request.') }},complete: function () { slideshowInstance.items = jQuery(slideshowInstance.itemSelector) // Update items resultslideshowInstance.removeSpinner();if (typeof callback === 'function') { callback() }},error: function (jqXHR, textStatus, errorThrown) {console.log(jqXHR, textStatus, errorThrown);if (textStatus === 'timeout') {slideshowInstance.removeSpinner();if (paginate === true) return;paginate = true;if (slideshowInstance.items.length < totalSlides) {var firstLoadedIndex = parseInt(slideshowInstance.items.first().attr('slide-index')) || 1;var lastLoadedIndex = parseInt(slideshowInstance.items.last().attr('slide-index')) || totalSlides;if(firstLoadedIndex > 1) {var prevLink = jQuery(slideshowInstance.prevPageLinkHTML);var prevLinkUrl = new URL(url, `https://www.metrotimes.com`);prevLinkUrl.searchParams.append('startIndex', firstLoadedIndex - 1);prevLinkUrl.searchParams.append('paginate', 'true');prevLink.attr('href', prevLinkUrl.href);jQuery(slideshowInstance.itemContainerSelector).prepend(prevLink);}if(lastLoadedIndex < totalSlides) {var nextLink = jQuery(slideshowInstance.nextPageLinkHTML);var nextLinkUrl = new URL(url, `https://www.metrotimes.com`);nextLinkUrl.searchParams.append('startIndex', lastLoadedIndex + 1);nextLinkUrl.searchParams.append('paginate', 'true');nextLink.attr('href', nextLinkUrl.href);jQuery(slideshowInstance.itemContainerSelector).append(nextLink);}}}}})}// var lazyLoadSurroundingItemsInterval = null;var lazyLoadTimeout = null;var lazyLoadSurroundingItems = function (index) {if (paginate) return;if (slideshowInstance.items.length >= totalSlides) {clearInterval(lazyLoadSurroundingItemsInterval);}if (slideshowInstance.lazyLoadMoreResults) {// Rate limit lazyloading more slidesclearTimeout(lazyLoadTimeout);lazyLoadTimeout = setTimeout(function () {var prevIndex = Math.max(index - 1, 1)var prevPrevIndex = Math.max(index - 2, 1)var nextIndex = index + 1var nextNextIndex = index + 2var prevIndexLoaded = slideshowInstance.items.filter('[slide-index="' + prevIndex + '"]').length > 0var prevPrevIndexLoaded = slideshowInstance.items.filter('[slide-index="' + prevPrevIndex + '"]').length > 0var nextIndexLoaded = slideshowInstance.items.filter('[slide-index="' + nextIndex + '"]').length > 0var nextNextIndexLoaded = slideshowInstance.items.filter('[slide-index="' + nextNextIndex + '"]').length > 0if(!prevIndexLoaded) {slideshowInstance.removeSpinner();// jQuery(slideshowInstance.itemContainerSelector).prepend(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(Math.max(prevIndex - (fetchMoreMaxCount - 1), 1))}else if(!prevPrevIndexLoaded) {slideshowInstance.removeSpinner();// jQuery(slideshowInstance.itemContainerSelector).prepend(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(Math.max(prevPrevIndex - (fetchMoreMaxCount - 1), 1))}if(!nextIndexLoaded) {slideshowInstance.removeSpinner();jQuery(slideshowInstance.itemContainerSelector).append(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(nextIndex)}else if(!nextNextIndexLoaded) {slideshowInstance.removeSpinner();jQuery(slideshowInstance.itemContainerSelector).append(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(nextNextIndex)}}, 200)}}// var lazyLoadLastCheckedIndex = slideshowInstance.currentItemIndexlazyLoadSurroundingItemsInterval = setInterval(function () {var currentIndex = slideshowInstance.currentItemIndexconsole.log(`lazyLoadSurroundingItemsInterval - currentIndex: ${currentIndex}; lazyLoadLastCheckedIndex: ${lazyLoadLastCheckedIndex}`);if(currentIndex !== lazyLoadLastCheckedIndex) {lazyLoadLastCheckedIndex = currentIndex;lazyLoadSurroundingItems(currentIndex);}}, 1000);var onScrollLastCheckedIndex = slideshowInstance.currentItemIndexjQuery(window).on('scroll resize', function () {var currentIndex = slideshowInstance.currentItemIndexif(currentIndex !== onScrollLastCheckedIndex) {onScrollLastCheckedIndex = currentIndex// console.log(`Slide Item index: ${currentIndex}`)fireEvent('foundation:slideshow:slidechange')}});// var onScrollTimeout = null;// jQuery(window).on('scroll resize', function () {// // Rate limit lazyloading more slides// clearTimeout(onScrollTimeout);// onScrollTimeout = setTimeout(function () {// var currentIndex = slideshowInstance.currentItemIndex// if(currentIndex !== onScrollLastCheckedIndex) {// onScrollLastCheckedIndex = currentIndex// console.log(`Slide Item index: ${currentIndex}`)// fireEvent('foundation:slideshow:slidechange')// }// }, 100);// });this.initialized = falsethis.init = function () {if (this.initialized === true) return// Prevent the browser from trying to scroll to the last scroll position before reloadif (history.scrollRestoration) {history.scrollRestoration = 'manual'}var startIndex = this.items.first().attr('slide-index')var oid = window.location.pathname.match(/\d+$/)if (oid) {var grabIndex = parseInt(this.items.closest('[slide-id="' + oid[0] + '"]').attr('slide-index'))if (!isNaN(grabIndex)) {var startIndex = grabIndex}}// if (startIndex > 1) {// this.scrollToIndex(startIndex)// }// if(jQuery(this.itemContainerSelector + '[single-listing]').length === 0) {// this.lazyLoadMoreResults = true// }this.lazyLoadMoreResults = truethis.initialized = truelazyLoadSurroundingItems(startIndex)}return this}var SlideshowItems = new SlideshowItemsObj()// Ad refresh on slide change handlingvar adSlideChangeRefreshThreshold = 10;var adSlideChangeRefreshTimeout = null;// adSlideChangeRefreshTimeout = setTimeout(function () {adSlideChangeRefreshTimeout = null; // Set timer to null}, adSlideChangeRefreshThreshold)// Timeout to prevent fast jogging from item to itemvar itemChangeTimeout = nulljQuery(document).on('foundation:slideshow:slidechange', function () {if (editorView !== true) {updateMetaDataFromElement(SlideshowItems.currentItem)}// Google Anayltics track pageviewif (typeof ga === 'function') {console.log("foundation:slideshow:slidechange event", "sending pageview navigation to:", window.location.href);ga('set', 'location', window.location.href)for (let i = 1; i <= 3; i++) {let currentDimension = jQuery(SlideshowItems.currentItem).attr('ga-dimension'+i)if (typeof currentDimension === 'string') {ga('set', 'dimension' + i, currentDimension)}else {ga('set', 'dimension' + i, '') }}ga('send', 'pageview')}// if (adSlideChangeRefreshTimeout === null) {// adSlideChangeRefreshTimeout = setTimeout(function () {adSlideChangeRefreshTimeout = null; // Set timer to null}, adSlideChangeRefreshThreshold)// if (Foundation.Ad && Foundation.Ad.slots) {if (typeof (Foundation.Ad.slots['DET_Footer-1']) === 'object') {Foundation.Ad.showFooter('DET_Footer-1');}}// if (Foundation.Gpt && Foundation.Gpt.getInPageSlotDataById) {var gptSlots = window.googletag.pubads().getSlots();var gptSlotFixedFooter = gptSlots.filter((slot) => slot.getSlotElementId() === `FixedFooter`)if (gptSlotFixedFooter.length) {Foundation.Gpt.ShowAd.refreshFixedFooter(gptSlotFixedFooter[0]);}}}});// Try to init immediatelySlideshowItems.init()// On document loadedjQuery(function () {SlideshowItems.init()})// })();