After Shawna’s erratic performance at the duo’s first show, their rap career is at a crossroads. Shawna is somehow still standing ten toes down on her decision to clumsily transition into a self-righteous soliloquy during the performance and posts a video on her Story the next morning thanking everyone for coming to the show and claiming people have been hitting her up “like crazy.” Her egocentric behavior has officially crossed the line from finding her confidence to pure delusion. She’s aware that the freestyle was a flop, but she refuses to take accountability and instead moves forward as if nothing occurred. Her texts to Mia, which are not greeted with a reply, are absent of any apology or acknowledgment of a misstep. At work at the hotel, Shawna notices someone else filling in on Maurice’s usual shift. She asks a co-worker about the switch, but her curiosity and awkwardness around the situation are apparent, causing the co-worker to advise her not to get attached — advice uttered from personal experience. Bloop.
Not having heard from Maurice since before her show, and feeling the cold shoulder from Mia, Shawna is incapable of sitting alone with her consequences and decides to text Cliff, giving us yet another example of her impulsive decision-making. She’s finally able to get a hold of Maurice via FaceTime while on the bus on the way home from work, and he informs her that he was arrested and taken to jail. Naïvely, Shawna asks, “For what?!” Maurice (and myself) responds, “Really, nigga?” She proceeds to freak out and hangs up on him as the realization that she’s also implicated in Maurice’s crimes crystallizes in her mind. When she calls him back, he calmly instructs her to relax and take a hot bath, promising to visit her tomorrow, his cool demeanor contrasting with Shawna’s distress. Once back at her apartment, she immediately deletes all traces of the stolen credit-card numbers from her computer. She keeps spiraling, ripping up her notebook and looking in the mirror and then around her room, giving us the full spectrum of her multiple identities — from the posters of Black female artists on the walls to her Afro wig and mask, we can see that her adoption of various personalities has left her disconnected to her true self.
When we were first introduced to Rap Sh!t’s characters, Shawna’s personality came off as strong and set in stone, but as the season progresses we’re learning Shawna is anything but grounded. Although Shawna’s rap abilities and lyrical acumen served as the catalyst for the group, Mia’s charisma and aesthetic add true star power. And though Mia hasn’t been vocal about the magnitude of her contribution, the incident at James Harden’s party was a breaking point for her, leaving her distrustful of Shawna. She leans on her friends Nelly and Alessia for support; they tell her to sever ties with Shawna and offer to beat her ass (as good friends should) before taking Mia out to the Miami Beach strip club G5ive. Mia’s growing clout lets them bypass the line and enter the VIP area, bringing us along into the dizzying blue-lit club. Mia gets recognized by both the DJ, who plays “Seduce and Scheme” in her honor, and Cash, the rapper who spilled Hennessy on her at Harden’s party. Cash sends Mia and her friends a bottle and summons her to his section, but like the bad bitch she is, she rejects his offer and keeps the alcohol. They enjoy the evening, and Mia eventually posts a video of the trio, proclaiming, “I don’t roll with no bitches but these bitches right here.”
Focused on getting Mia’s attention, Cash approaches as she, Nelly, and Alessia leave the club. He’s persistent and invites them to go out to eat with his crew. Mia takes the reins and they all go to a local diner. His entourage keeps Nelly and Alessia company while Mia and Cash get to know each other. They find out they have similar pasts: Both went to the same high school, and Cash served time for shooting someone, just like Mia’s currently incarcerated father. He wants to continue the date into the following day, but Mia insists she has to work. To rectify the situation, he pulls out a few stacks of cash — more than enough to pay for a day off from work. Even though the budding romance between her and her baby daddy is cute, I will say this in the most eloquent way I can: Fuck Lamont. Mia needs to go where the money resides. It’s too little too late for Lamont, and it’s time for Mia’s life to level up. Mia has this same attitude, and after filming a video with her stacks, she breaks things off with Lamont.
Fans of Mia and Shawna take note of Shawna’s absence and the shady nature of Mia’s “I don’t roll with no bitches” post, creating rumors of a possible breakup. Shawna also sees the post and the comments and is hurt by the message that Mia has cut her off from her inner circle. She sees it while waiting for a meeting with none other than Francois Boom. Nearly groveling, Shawna asks to start over and admits he was right about her career over the years. He says she’s like his sister, so no matter what, they will be able to come back together. I’m hesitant to trust Francois; in creative industries, it’s common for people to play up their relationships with one another for the sake of collaboration or clout. Francois is in a sticky situation himself, so it’s hard not to second-guess his motives for welcoming Shawna back with open arms.
The episode began with a clip of Reina Reign posing for a photo shoot inside a luxury car with the suicide doors up when the anonymous person filming asks her to talk her shit. Here we witness in real time the switch-up unique to a specific demographic of vapid white women: She pouts her lips, adopts a stale blaccent, and begins parroting random phrases she heard on social media while bouncing her pale ass. The microaggressions shoot out of her with ease as she refers to her flat blonde hair as “Cinderella princess shit,” and she stumbles over the little AAVE knows until she abruptly breaks character and says in her normal voice, “How was that?” Naturally, the mess of a video goes viral with viewers calling out her blackfishing. Needless to say, Francois is in damage-control mode, making his meeting with Shawna fall serendipitously into his lap. He proposes that Shawna and Mia go on Reina’s latest tour.
As all of this is happening, Chastity is in her feelings about her failures at Harden’s party, both as a manager of sex workers and as the manager of the rap duo. Her uncle, unmoved by her pity party, gives her a reality check and tells her what I say to myself in the mirror every morning: “You better pull your motherfucking dick out and slap these bitches. Either that or go home.” She takes his advice and makes moves to assert her dominance. First, she gets her girls together and reminds her OG hoe that she’s the one in charge. Then she plans a meeting with Shawna and Mia at the park the next day. There, she maintains her belief that they have the potential to be successful but puts her foot down by saying all the momentum was built by her and can be taken away by her, so they should act accordingly. She leaves, telling them to call her when they’re ready to be serious. Alone together for the first time since the performance, Mia confronts Shawna about her ego and agrees to continue to work with her on the condition that they keep Chastity on the team since she’s the only person she can trust.
Mia, Shawna, Francois, and Reina meet at the Plymouth to announce their upcoming tour. They post a skillfully fake video (almost as fake as the braids on Reina’s head) to give the appearance of complete harmony, but they’re as discordant as ever. On the way to get Champagne glasses to celebrate, one of Shawna’s co-workers approaches to say Shawna’s being looked for. Confused, Shawna glances over her co-worker’s shoulder to see police who are ready to question her. All the work she and Mia have done over the course of the season is threatened once again by Shawna’s mistakes.
Bad Bitch Banter
• The supporting characters of Rap Sh!t have shined almost as bright as the stars in their limited screen time. From Shawna’s roommates to Mia’s friends and Chastity’s hoes, there’s a vibrant world of characters in the series that adds to its homey feel.
• Another thing adding to the authenticity of the series is the proud showcasing of Miami’s Little Haiti, the neighborhood where Shawna lives. Aida Osman, who plays Shawna, even moved to the area to prepare for the role. Miami-based writer and community archivist Nadege Green posted this great thread on Twitter further exploring Little Miami’s presence as a backdrop in Rap Sh!t.
• Insecure star Jay Ellis took a turn behind the camera directing this episode. I believe this is his second time directing, his first being an episode in the fourth season of Insecure. It’s always fun seeing actors try out different mediums so let’s hope we see more from him.
• Although I’m so sad that this is the end of the road for recapping the first season of this delightfully fun show, I cannot wait to annoy my friends with a quote from the infamous Reina Reign: “My pussy taste like beans and greens from your mama house … yum!”
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(3),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),(auth.isSubscriber()||auth.isMobileAppRequest())&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]