I was wrongfully convicted. The Supreme Court has a chance to save hundreds like me.

Trees on each side form the foreground of this image of the Supreme Court building with its grand columns.
The Supreme Court on Oct. 22 in Washington.
Samuel Corum/Getty Images

In 1898, delegates in Louisiana convened at a state Constitutional Convention with the stated purpose of “establishing the supremacy of the white race.” One of the tools deployed to this end was to allow nonunanimous jury convictions against Black defendants in criminal cases, which would, as the Supreme Court wrote earlier this year, “ensure that African-American juror service would be meaningless.”

But this rule was about more than eliminating the voices and votes of Black jurors. It was a means to an even more nefarious end. Endorsing the rule change, local papers in Louisiana at the time wrote that nonunanimous juries removed the need for “popular justice”—lynching. It allowed white juries to “ ‘render a verdict of guilty as charged,’ because the accused had black skin,” as one publication wrote about the common practice among parish juries in the 1890s.

Earlier this year, the Supreme Court ruled in Ramos v. Louisiana that such convictions by nonunanimous juries are unconstitutional. Justice Neil Gorsuch’s opinion discussed at length the racist history of the law and how it was a byproduct of Jim Crow–era efforts to suppress the voices of Black jurors. Last week, in Edwards v. Vannoy, the Supreme Court heard arguments addressing the retroactive application of Ramos. The Edwards case will affect the fate of thousands previously convicted under this unconscionable law—the majority of whom are Black. Edwards is an opportunity for the court to reverse this embodiment of systemic racism in the criminal justice system.

It is an injustice that I know all too well. At 17 years old, I was wrongfully convicted of murder by a nonunanimous jury and sentenced to life imprisonment at Angola State Prison in Louisiana—a former slave plantation.

In 1993, a fight broke out at a high school birthday party, with two guests injured and one killed during the shooting. That night, I helped save the life of Rogers Mitchell, one of the gunshot victims, but found myself pulled into a legal system in Louisiana that presumes the guilt of and seeks to lock away Black children. Despite multiple eyewitness testimonies to my innocence, the jury voted 10–2 to convict me of second-degree murder after just a one-day trial. The two who voted to acquit were the only Black individuals on the jury. Like many of those convicted by nonunanimous juries, I was an innocent casualty of a law that was designed and operated to criminalize Blackness.

In 2014, after serving 20 years for a crime I did not commit, my conviction was overturned after new evidence that the prosecution failed to disclose came to light and proved my innocence. Since my release, I have worked as an advocate for ending racist systems that intentionally target Black communities. Policies like nonunanimous juries are not accidental. They exist to continue the oppression of Black voices and make it easier to convict Black defendants.

Human Rights for Kids and the Louisiana Center for Children’s Rights filed an amicus brief in Edwards on behalf of myself and other children convicted by nonunanimous juries. We highlighted how the unconstitutional, nonunanimous jury rule has continued to disproportionately convict Black Americans, particularly Black children. More than 1,500 individuals convicted by nonunanimous juries in Louisiana are still incarcerated today. As the Promise of Justice Initiative reported last month, 80 percent of them are Black. Approximately 101 of these individuals were children when they were convicted and 90 percent of that group are Black.

Our brief in Edwards argues that the nonunanimous jury rule was not adopted as a legitimate mechanism for determining guilt or innocence, but rather as an intentional end run around the constitutional requirement of equal protection under the law. Masquerading as a “facially neutral” rule, its demonstrated intent was to criminalize Black men, women, and children for simply existing. At oral argument, Justice Brett Kavanaugh labelled the racial animus evident in Edwardstroubling.” He expressly challenged Louisiana’s counsel to explain why, in a trial of a Black defendant where the prosecutor’s use of peremptory challenges left only one Black member on the jury and that juror’s voice for acquittal was rendered meaningless, the situation was not a classic combination of prohibited racial discrimination.

In viewing the rule as procedural, however, some members of the court expressed difficulty in finding it of sufficient gravity to merit retroactive application. But to view the practice through this myopic lens obscures the substantive evil our Constitution condemns. Just as the requirement that all felony defendants must be provided with legal counsel, jury unanimity is the prerequisite for a fundamentally fair and accurate trial. It, combined with the presumption of innocence and the “proof beyond a reasonable doubt” standard, forms the pillars of our criminal justice system, the absence of any one of which renders the process fundamentally unfair.

There are many individuals, like myself, who are victims of this racist law and who have been wrongfully convicted. The cost of these convictions on families, communities, and individuals cannot be overstated. We have to be better than this as a nation. The Supreme Court now has the opportunity to undo this grievous wrong for the thousands who have been unconstitutionally convicted, and who remain incarcerated. For the sake of our children and the soul of our nation, I pray they make this right.

nnx3c!-- Rubicon Project Ad Tag --x3en


nn")),c=d(m[i.size_id].split("x").map(function(e)return Number(e)),2),s.width=c[0],s.height=c[1]),s.rubiconTargeting=(Array.isArray(i.targeting)?i.targeting:[]).reduce(function(e,t)return e[t.key]=t.values[0],e,rpfl_elemid:f.adUnitCode),t.push(s)):n.logError("Rubicon: bidRequest undefined at index position:".concat(o),r,e),t,[]).sort(function(e,t))},getUserSyncs:function(e,t,r,n)if(!x&&e.iframeEnabled)var i="";return r&&"string"==typeof r.consentString&&("boolean"==typeof r.gdprApplies?i+="?gdpr=".concat(Number(r.gdprApplies),"&gdpr_consent=").concat(r.consentString):i+="?gdpr_consent=".concat(r.consentString)),n&&(i+="".concat(i?"&":"?"https://slate.com/news-and-politics/2020/12/,"us_privacy=").concat(encodeURIComponent(n))),x=!0,,transformBidParams:function(e)return n.convertTypes(accountId:"number",siteId:"number",zoneId:"number",e)};function v(e,t)function y(e,t)var r=e.params;if("video"===t)var i=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?i=[r.video.playerWidth,r.video.playerHeight]:Array.isArray(n.deepAccess(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?i=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&0‘;var i,o,h=function(e)var t=0=e&&t.innerWidth‘+v.vast_url+”“:v.vast_string&&(y=v.vast_string),g.pre_market_bids.push(id:v.deal_id,seatbid:[bid:[impid:Date.now(),dealid:v.deal_id,price:v.price,adm:y]],cur:v.currency,ext:event_log:[])}var h=n.getBidIdParameter(“mimes”,e.params)||[“application/javascript”https://slate.com/news-and-politics/2020/12/,”video/mp4″https://slate.com/news-and-politics/2020/12/,”video/webm”],_=id:e.bidId,secure:l,video:w:p,h:f,ext:g,mimes:h;””!=n.getBidIdParameter(“price_floor”,e.params)&&(_.bidfloor=n.getBidIdParameter(“price_floor”,e.params)),””!=n.getBidIdParameter(“start_delay”,e.params)&&(_.video.startdelay=0+Boolean(n.getBidIdParameter(“start_delay”,e.params))),””!=n.getBidIdParameter(“min_duration”,e.params)&&(_.video.minduration=n.getBidIdParameter(“min_duration”,e.params)),””!=n.getBidIdParameter(“max_duration”,e.params)&&(_.video.maxduration=n.getBidIdParameter(“max_duration”,e.params)),””!=n.getBidIdParameter(“placement_type”,e.params)&&(_.video.ext.placement=n.getBidIdParameter(“placement_type”,e.params)),””!=n.getBidIdParameter(“position”,e.params)&&(_.video.ext.pos=n.getBidIdParameter(“position”,e.params)),e.crumbs&&e.crumbs.pubcid&&(c=e.crumbs.pubcid);var S=navigator.language?”language”:”userLanguage”,I=id:s,imp:_,site:id:””,page:a,content:”content”,device:h:screen.height,w:screen.width,dnt:n.getDNT()?1:0,language:navigator[S].split(“-“)[0],make:navigator.vendor?navigator.vendor:””,ua:navigator.userAgent,ext:wrap_response:1;n.getBidIdParameter(“number_of_ads”,e.params)&&(I.ext.number_of_ads=n.getBidIdParameter(“number_of_ads”,e.params));var A=;return 1==n.getBidIdParameter(“spotx_all_google_consent”,e.params)&&(A.consented_providers_settings=u),t&&t.gdprConsent&&(A.consent=t.gdprConsent.consentString,void 0!==t.gdprConsent.gdprApplies&&n.deepSetValue(I,”regs.ext.gdpr”,t.gdprConsent.gdprApplies?1:0)),t&&t.uspConsent&&n.deepSetValue(I,”regs.ext.us_privacy”,t.uspConsent),n.deepAccess(e,”userId.id5id.uid”)&&(A.eids=A.eids||[],A.eids.push(source:”id5-sync.com”,uids:[id:e.userId.id5id.uid],ext:e.userId.id5id.ext)),c&&(A.fpc=c),e&&e.schain&&(I.source=ext:schain:e.schain),e&&e.userId&&e.userId.tdid&&(A.eids=A.eids||[],A.eids.push(source:”adserver.org”,uids:[id:e.userId.tdid,ext:rtiPartner:”TDID”])),n.isEmpty(A)||(I.user=ext:A),method:”POST”,url:”https://search.spotxchange.com/openrtb/2.3/dados/”+s,data:I,bidRequest:t})},interpretResponse:function(e,t){var r=[],i=e.body;return i&&n.isArray(i.seatbid)&&n._each(i.seatbid,function(e){n._each(e.bid,function(e){var a=;for(var c in t.bidRequest.bids)e.impid==t.bidRequest.bids[c].bidId&&(a=t.bidRequest.bids[c]);n._each(a.params.pre_market_bids,function(t)t.deal_id==e.id&&(e.price=t.price,i.cur=t.currency));var d=;d.meta=d.meta||,e&&e.adomain&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);rt?e:tfunction d(e,t,n)!e.preload&&e.preloadThreshhold&&function(e,t,n,i)return t.top<=i+n&&u(e)(t.target,t.rect,e.preloadThreshhold,n)&&(e.preload=!0,setTimeout(function()e.trigger("preload",new r("preload",t)),15))function c(n)o),l=target:n.el,rect:i,visiblePx:h,visiblePercent:s;!function(e,t)var n=t.visiblePx,i=t.visiblePercent;n&&i>=e.shownThreshold&&!e.seen?(e.seen=!0,setTimeout(function()e.trigger(“shown”,new r(“shown”,t)),15)):(!n(n,l),d(n,l,o)function u(e)return e&&null!==e.offsetParent&&!e.getAttribute(“hidden”)&&”none”!==getComputedStyle(e).display&&”hidden”!==getComputedStyle(e).visibilityfunction f(e,t)return s(t,l(e.bottom,0))-s(l(e.top,0),t)(o=function(e,t)0,this.shownThreshold=t&&t.shownThreshold).prototype=destroy:function()h.splice(h.indexOf(this),1),i.enable(o.prototype),r=function(e,t)var n=this;this.type=e,Object.keys(t).forEach(function(e)n[e]=t[e]),e.addEventListener(“scroll”,n(function()h.forEach(c),200)),this.getPageOffset=function(e)for(var t=e.offsetLeft,n=e.offsetTop;e=e.offsetParent;)t+=e.offsetLeft,n+=e.offsetTop;returnleft:t,top:n,this.getLinearSpacialHash=function e(t,n,i,o)var r=t%n,h=Math.floor(t/(n,this.getVerticallyVisiblePixels=f,this.getViewportHeight=function(),this.getViewportWidth=function()return t.innerWidth,this.isElementNotHidden=u,this.isElementInViewport=function(n)e.documentElement.clientWidth),this.Visible=o]);
}, ];
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”,fvar 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].exportsvar i=typeof require==”function”&&require;for(var o=0;o= o.length) return done: true ; return done: false, value: o[i++] ; , e: function e(_e) throw _e; , f: F ; throw new TypeError(“Invalid attempt to iterate non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”); } var normalCompletion = true, didErr = false, err; return s: function s() it = o[Symbol.iterator](); , n: function n() var step = it.next(); normalCompletion = step.done; return step; , e: function e(_e2) didErr = true; err = _e2; , f: function f() try if (!normalCompletion && it.return != null) it.return(); finally if (didErr) throw err; ; }
function _unsupportedIterableToArray(o, minLen)
function _arrayLikeToArray(arr, len) len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; function mountLegacyServices() Object.keys(window.modules).filter(function (key) return typeof key === 'string' && key.match(/.legacy$/); ).forEach(function (key) return window.require(key); ); function tryToMount(fn, el, name) try fn(el); // init the controller catch (e) var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML)); console.error("Error initializing controller for "".concat(name, "" on "").concat(elementTag, """), e); /** * mount client.js component controllers */ function mountComponentModules() { Object.keys(window.modules).filter(function (key) return typeof key === 'string' && key.match(/.client$/); ).forEach(function (key) var controllerFn = window.require(key); if (typeof controllerFn === 'function') var name = key.replace('.client"https://slate.com/news-and-politics/2020/12/,"'), instancesSelector = "[data-uri*="_components/".concat(name, "/"]"), defaultSelector = "[data-uri$="_components".concat(name, ""]"), instances = document.querySelectorAll(instancesSelector), defaults = document.querySelectorAll(defaultSelector); var _iterator = _createForOfIteratorHelper(instances), _step; try for (_iterator.s(); !(_step = _iterator.n()).done;) var el = _step.value; tryToMount(controllerFn, el, name); catch (err) _iterator.e(err); finally _iterator.f(); var _iterator2 = _createForOfIteratorHelper(defaults), _step2; try for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) var _el = _step2.value; tryToMount(controllerFn, _el, name); catch (err) _iterator2.e(err); finally _iterator2.f(); ); } // 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(); // ]]