Tag Archives: Indian

Movie Review: Ikkis (2026)

4 Stars (out of 4)

Watch Ikkis on Amazon Prime

Ikkis (“Twenty-one“) is the best demonstration of filmmaker Sriram Raghavan’s skills yet, despite it being quite different from the other movies in his oeuvre. Though it lacks the physical danger of his earlier thrillers like Johnny Gaddaar, Badlapur, and Andhadhun, Ikkis is still built around a main character’s central tension: am I going to break his heart?

The title refers to the age at which Indian Army 2nd Lieutenant Arun Khetarpal (Agastya Nanda) died in the waning days of the 1971 India-Pakistan War. Thirty years later, Arun’s framed photo hangs on the wall of a house in Lahore, Pakistan belonging to Brigadier Jaan Mohammad Nisar (Jaideep Ahlawat). The photo’s curious existence is made even more intriguing when Nisar hides it before his houseguest arrives.

That guest is Brigadier Madan Lal Khetarpal (Dharmendra), Arun’s father. The elder Khetarpal grew up and studied in Pakistan before Partition drove his family to move to India. He returns for a class reunion and a visit to his hometown, staying with Nisar, his wife Maryam (Ekavali Khanna), and their adult daughter Saba (Avani Rai).

The rapport between the family and their guest is immediate, and Khetarpal is glad to have their company at the reunion. He also speaks freely about his own family, including Arun. Through Khetarpal’s reminiscences, we get to know about his first-born son, and we see Arun’s life in flashbacks.

Though Ikkis is based on a true story, this isn’t a hagiography. During his officer training days, Arun is a capable leader, but he is just as bad at anticipating consequences as most 21-year-olds are. He struggles to balance his military duties with his new romantic relationship with medical student Kiran (Simar Bhatia). He follows rules to a fault.

That’s why Arun’s death in combat has always been a mystery to his father. The official report states that Arun — who was assigned to be a tank commander when sent to the front in 1971 — turned off his radio and disobeyed orders in his final moments. That doesn’t sound like the Arun his father knew.

Questions linger over Ikkis: Why does Nisar have a photo of Arun? Why is he hiding it from Khetarpal? What really happened to Arun on the battlefield? The answers are decades old and pose no immediate danger, but they create a tension that propels the story forward, building as Nisar’s fondness for the elderly Khetarpal grows.

That affection is what makes the film so special. This is Dharmendra’s last movie, and his tremendous talent shines through as a father searching for something to finally help him make sense of his son’s death. Ahlawat deftly portrays the internal conflict between Nisar’s respect for Khetarwal and his guilt at keeping secrets from him. The warmth between the two actors is a joy to watch.

After a forgettable debut in The Archies, Nanda shows much more promise playing Arun. He’s a competent guide through history, showing us a war that looks much like any other war. Young men raised on heroic stories are eager to make a name for themselves, even though many of them won’t survive to tell their own tales. One of Arun’s senior officers Risaldar Sagat Singh (Sikander Kher) warns Arun not to “go looking for death,” but Singh later repairs a tank tread with a fresh bullet wound to the shoulder. He makes heroism look easy, so of course it would appeal to Arun and his classmates.

That’s the trick with anti-war movies: they always end up showing the cool parts of war. Tanks are cool. Getting shot and acting like it’s no big deal is cool. Raghavan does his best not to glamorize war, but it’s ultimately up to the older characters like Khetarpal and Nisar to explain that war is bad for everyone.

Hindi films about cross-border relationships used to be far more common, which makes Ikkis not just unique but important. There’s truth in the film’s central idea that India and Pakistan are more alike than they are different. The first thing Arun and his tank crew remake upon when they roll across the border is that it looks the same as the land on the other side. Frequent reminders about our shared humanity are vital.

Links

[Disclaimer: my Amazon links include an affiliate tag, and I may earn a commission on purchases made via those links. Thanks for helping to support this website!]

Movie Review: Jab Khuli Kitaab (2024)

1.5 Stars (out of 4)

Watch Jab Khuli Kitaab on ZEE5

There’s something off about the structure of Jab Khuli Kitaab (“When the Book Opened‘). Actor and filmmaker Saurabh Shukla directs this movie version of his own play of the same name, but it doesn’t translate from stage to screen.

Gopal Nautiyal (Pankaj Kapur) has spent the last two years caring for his comatose wife Anusuya (Dimple Kapadia) in their house in picturesque Raniket, Uttarakhand. (Gorgeous scenery is the film’s best attribute). Their daughter and oldest son have returned home with their own families to say final goodbyes to Anusuya, who looks to be in her last days.

When the couple’s youngest son Dholu (Abuli Mamaji) — who has Down syndrome and lives with them — touches his mother’s face, she suddenly wakes. The family’s celebration is short-lived. Anusuya privately confesses to Gopal that their eldest son Param (Samir Soni) is the product of an affair. Gopal keeps the secret, but his bad mood rubs off on everyone.

Secretly, Gopal drives into town to find a lawyer. He’s waylaid by eager attorney RK Negi (Aparshakti Khurana), who is flummoxed by his new client. He can’t believe that Gopal wants to divorce his recently comatose wife for an affair she had fifty years ago.

I normally dislike when movies begin with a flashforward, but Gopal’s meeting with the lawyer is where Jab Khuli Kitaab should have started. The divorce is the film’s hook, so it makes sense to lead with it. Plus, Negi’s presence in the story would be more impactful as a framing device rather than just a guy who starts hanging around the family. His subplot about being in love with an unhappily married judge goes nowhere.

That’s the main issue with Jab Khuli Kitaab: it doesn’t have a destination in mind. Plotlines are unresolved, relationships are in flux, and the characters don’t seem to change or grow much through the course of the story.

It’s not to say that everything needs to be tidily wrapped up by the end, but the story just kind of floats there, directionless. The mix of tension and levity between and even within scenes is unbalanced. The film’s ending is abrupt and unsatisfying.

Given their experience and talent, Kapur and Kapadia create some compelling scenes together. Khurana’s comic relief character feels out of place, but that has more to do with story organization than his performance.

If the moral of the story is supposed to be “People are complicated,” well, yeah. That doesn’t make them interesting.

Links

Movie Review: Made in Korea (2026)

1 Star (out of 4)

Watch Made in Korea on Netflix

The Netflix Original Tamil movie Made in Korea is data-driven filmmaking at its worst. This fish-out-of-water story is an assemblage of scenes lacking a soul.

Shenba (Priyanka Mohan) lives in a small village in Tamil Nadu so remote that she has to stand on the back of an elephant to get a cell signal. She grew up fascinated with tales of an Indian woman who traveled to South Korea and became a queen (based on the legend of Heo Hwang-ok). Despite her love for all things Korean, visiting the country of her dreams seems impossible.

Other people have their own dreams for Shenba. Her father wants her to take over the small family restaurant. Her secret boyfriend Mani (Rishikanth) wants to marry her, but only after he sorts out his financial problems. When Shenba’s family finds a groom for her, she and Mani flee to the city.

Miraculously, Mani secures a job for Shenba at a hotel in Seoul, promising to find work there himself. When Mani fails to board the plane to Korea with her, Shenba learns a horrible truth: Mani bought Shenba’s plane ticket with money her father dropped off for her, and he headed to Mumbai alone with the rest of the cash.

Freshly heartbroken in a city where she knows no one, Shenba discovers her hotel job was a scam. A handsome stranger named Heo Jun-jae (Si-hun Baek) takes pity on her and finds her a job as a caretaker for a sick, elderly woman, Yeon-ok (Park Hye-jin).

Up to this point, sophomore writer-director Ra Karthik is pretty thorough about establishing Shenba’s relationships with the people in her life — particularly those back home, and even her connection with Jun-jae makes sense. But from this point forward, every relationship is speed-run in order to check scenes off a Korean travelogue shot list (perhaps mandated by Netflix itself). Why things happen the way they do with the people they do makes no sense.

Shenba quickly discovers that Yeon-ok is faking her illness as a way to punish her son and daughter-in-law, with whom she lives. Yeon-ok threatens to accuse Shenba of stealing if she reveals her secret, but then immediately decides the young woman is her best friend. She drags Shenba to touristy spots around the city with Jun-jae in tow to document everything. ‘Cause, sure.

Then the woman open a restaurant together, and Shenba organizes a “K-pop” band out of the only other people she’s spoken to in Korea. I’ve never seen an idol group with a violinist, but okay.

There are all kinds of tropey K-drama moments, like the women hiring a part-timer to help with the restaurant, or the band shooting a K-pop-style music video. All we’re missing is a kimchi slap.

The whole thing feels hollow. Made in Korea was clearly designed by Netflix to fulfill two missions: capitalize on the popularity of Korean content in India and fill out the streamer’s thin South Indian Originals catalogue. The movie does so, but in a perfunctory way.

This movie isn’t born out of an Indian filmmaker’s own love for Korean pop culture. Ra Karthik said, “Personally, I had never watched a K-drama or listened to K-pop until I began working on Made In Korea.” It shows. If you’re familiar with K-dramas, there are a ton of ways to tell a fish-out-of-water story that leans into Korean TV-narrative styles, while showing character growth and exploring shared cultural traditions.

Made in Korea doesn’t do that. It hits a couple of K-culture tropes, shows some Instagram-worthy tourist spots, and calls it a day. Characters become friends, fight, and make up because the plot demands it, not because they have any reason to do so. It just feels empty.

Links

Best Bollywood Movies of 2025

Time to take a final look back at last year with my Best Bollywood Movies of 2025 list. The Hindi film industry has gotten bashed recently for a lack of quality titles, but last year produced a bunch of terrific movies.

As a side note, I’ve decided not to do a Worst Bollywood Movies of 2025 list. There are just too many common things that are wrong year after year — sexism, jingoism, unfunny romantic comedies that don’t recognize their own toxicity — to warrant a brand new list. I will say that my three least favorite films of 2025 can all be found on my list of Bollywood movies on Hulu.

Back to the good stuff. Here are my Top 10 Bollywood Movies of 2025, counting down from number 10.

The year’s biggest overachiever is the crime drama Bhagwat Chapter One: Raakshas. Arshad Warsi portrays the rare Hindi-cinema cop who is flawed but working on improving himself, making his own personal journey as compelling as the mystery he’s trying to solve. Running his story parallel to a romantic subplot is clever and keeps the audience guessing as to how it ties in to the main story. This was way better than I expected it to be.

Saiyaara didn’t wind up the year’s surprise box office hit for nothing. Overwrought, youthful romances used to be much more commonplace, and this engrossing drama reminds everyone why that was the case. What a treat to be introduced to two talented young lead actors — Aneet Padda and Ahaan Panday — who will undoubtedly be the stars of the future.

Most Hindi films set in Kashmir are war stories, but director Danish Renzu’s Songs of Paradise offers a refreshing change of pace. This gentle movie about a trailblazing woman in Kashmiri music history is a delight to watch.

Though it premiered at festivals in 2024, Humans in the Loop first got a wide release on Netflix in 2025, so I’m counting it here. Like Songs of Paradise, Humans in the Loop takes a quiet, focused approach to telling the stories of the Indian women who make AI possible.

In contrast, Dhoom Dhaam is a raucous adventure about an interrupted honeymoon. Yami Gautam Dhar and Pratik Gandhi are a ton of fun as a newly married couple who have a lot to learn about one another.

I adored the 2008 documentary Supermen of Malegaon, and director Reema Kagti’s fictional version of that film — Superboys of Malegaon — is a fitting tribute. It’s a perfect movie for anyone who loves movies.

Probably the biggest surprise of the year was Stolen, a film that excels as both a taut action thriller and an astute commentary on wealth inequality and institutional shortcomings. Director Keran Tejpal’s kidnapping drama is the best rural thriller since NH10, which is saying a lot.

Like Humans in the Loop, Mrs. is another film that finally got its wide release in 2025 after playing at festivals. The wait was worth it. Sanya Malhotra shines in this story of a new wife slowly crushed under the impossible expectations of her husband and father-in-law. It’s a poignant depiction of how abusers disguise their actions while still exercising control — and the resilience it takes to escape such an oppressive situation.

It made perfect sense when Homebound was selected as India’s official submission to the Oscars for Best International Feature Film. It’s a moving portrayal of two friends trying to escape poverty, only to run up against prolonged COVID business closures right as they start to make real money. Homebound captures an important moment in history while giving us characters we come to truly care about.

My favorite Hindi film of the year might also be the strangest (well, that honor might go to Crazxy). Another tale of an unhappy newlywed bride, this one takes a bizarre and hilarious turn that succeeds entirely thanks to a career-best performance from Radhika Apte. The Best Bollywood Movie of 2025 is Sister Midnight. Thank goodness this actually got a wide release and didn’t disappear after its festival run in 2024. I love this bonkers film.

Kathy’s Best Bollywood Movies of 2025

  1. Sister Midnight – stream on Hulu; buy/rent on Amazon
  2. Homebound – stream on Netflix
  3. Mrs. – stream on ZEE5
  4. Stolen – stream on Amazon Prime
  5. Superboys of Malegaon – stream on Amazon Prime
  6. Dhoom Dhaam – stream on Netflix
  7. Humans in the Loop – stream on Netflix
  8. Songs of Paradise – stream on Amazon Prime
  9. Saiyaara – stream on Netflix
  10. Bhagwat Chapter One: Raakshas – stream on ZEE5

Previous Best Movies Lists

[Disclaimer: my Amazon links include an affiliate tag, and I may earn a commission on purchases made via those links. Thanks for helping to support this website!]

Movie Review: Subedaar (2026)

3 Stars (out of 4)

Watch Subedaar on Amazon Prime

Filmmaker Suresh Triveni’s latest movie Subedaar is so tense it’s almost unbearable at times. In terms of achieving the intended tone, it’s an undeniable success. However, that single tone makes it hard to maintain the story momentum.

The first few moments of Subedaar are light-hearted misdirection. Elementary school boys Bablu and Mannu ponder how people in airplanes go to the bathroom and come up with a funny answer. But as the cheerful boys start to run between the heavy machinery dredging sand from the local river, the music becomes ominous. The boys jump in the water. Mannu doesn’t resurface.

He’s not the first kid to drown in the river as a result of industrial mismanagement. The dredgers are controlled by gangster Babli Didi (Mona Singh). She’s currently imprisoned awaiting trial for murder, but her shadow hangs over the town. Mannu’s uncle demands justice, so Babli Didi’s reckless half-brother, Prince (Aditya Rawal), kills him.

Arjun Maurya (Anil Kapoor) is new to this city governed by fear. He recently retired from the military, where he achieved the rank of Subedaar (a junior commissioned officer). His beloved wife just died, and he’s trying to form a relationship with his college-aged daughter Shyama (Radhika Madan). He hardly knows her because his career kept him away from home for most of her life.

The transition from highly organized military life to civilian chaos is unnerving for Arjun. He looks like he’s barely holding it together even while trying to do something ordinary, like close his wife’s bank account. The frazzled bank clerk is so self-focused that he doesn’t register Arjun’s taut expression and the danger that lurks behind it.

The bank offers an early lesson in how the town operates. No one within the structures of power will help. They only protect themselves, particularly when Babli Didi and Prince are concerned. The mantra of the police chief is: “See very little, and forget everything.”

Prince is dangerous because he insists on controlling every interaction, enjoys humiliating people, and resorts to violence fast — and he never faces negative consequences for his brutal behavior. When Arjun refuses to be belittled by Prince and his cronies, it makes the former soldier a target. Arjun’s best friend Prabhakar (Saurabh Shukla) urges him to apologize and move on, but Arjun’s pride won’t allow him to do so.

At the same time, Shyama exposes one of her fellow students for his lewd behavior and is threatened with retaliation. She doesn’t tell her father about this, and he doesn’t tell her about Prince. When goons lurk outside the house at night or throw things at their home in the morning, father and daughter both assume they are the intended target. They’re both right, just at different times of day.

Though not always the main focus of the story, the relationship between Arjun and Shyama is the film’s most compelling. She has every reason to be angry with him, and he feels plenty of guilt mixed with his grief over his wife’s death (Khushbu Sundar plays Arjun’s wife Sudha in some sweet flashbacks). He’s doing the best he can to act like a parent to Shyama, but there’s no quick fix.

Troubled relationships between parents and children featured in Triveni’s two previous directorials as well: 2017’s Tumhari Sulu and 2022’s Jalsa. What makes the storylines work in each film is tremendous acting. Subedaar might be Triveni’s best yet, in that regard.

Kapoor is in top form as Arjun, trying to hold back the sea of emotions inside him. Madan shows us that Shyama’s hostility comes from a place of great pain. Both Kapoor and Madan are both very good in their action scenes. Shukla’s Prabhakar says volumes with a single look, and Singh steals every scene she’s in.

Rawal is utterly loathsome as Prince, which is just what the role calls for. He’s particularly good at invading people’s personal space, because in his mind, it’s all his space. His presence is oppressive because we know there are no good guys coming to the rescue.

That said, a little goes a long way with Prince, especially since he doesn’t change or evolve. The only subplot to offset Prince’s lopsided feud with Arjun is Shyama’s own struggle against stronger opponents, so the experience of watching Subedaar becomes emotionally fatiguing over time. It’s a classic case where chopping twenty minutes from the runtime would actually make things more impactful.

Triveni is improving as a director with each movie. Subedaar is another step in the right direction, with clearer character motivations than in previous films. I’m happy to see it.

Links

[Disclaimer: my Amazon links include an affiliate tag, and I may earn a commission on purchases made via those links. Thanks for helping to support this website!]

Movie Review: Dhurandhar (2025)

Watch Dhurandhar on Netflix

Note: I’m forgoing giving Dhurandhar a star-rating as it feels too reductive for a problematic subject.

Dhurandhar is not subtle, which is a big part of its charm. Its action is thrilling. Its emotional tension is off the charts. All major characters have their own motivations that overlap through a tangled web of politics, tribal affiliations, organized crime, terrorism, and blood ties.

That lack of subtlety is also Dhurandhar‘s downfall, as the agenda behind the film glares on a bright red screen. This is more than just storytelling. It’s provocation.

A recurring criticism of writer-director Aditya Dhar’s work is that he uses real-life tragedies to stoke sectarian anger. It’s the main reason that the Netflix Original horror film he wrote — Baramulla — didn’t work for me. The other Netflix Original movie he wrote — the romantic caper Dhoom Dhaam — is a wildly fun romp with no ulterior motives.

Inspired by multiple real-life terrorist attacks and actual political figures in Pakistan, Dhurandhar posits a “what if” scenario: what if India sent a spy to Pakistan to dismantle the terrorist networks from within? Success would require many years, flawless secrecy, and lots of luck for said spy to be in a position right at the intersection of the various parties that enable terrorism to thrive within Pakistan.

That spy is Hamza Ali Mazari (Ranveer Singh). He makes his way to Karachi’s Lyari neighborhood, a hotbed of politics and organized crime with an outsized influence on the city at large. He bides his time working at a juice shop run by another Indian spy, Mohammad Aalam (Gaurav Gera).

Hamza gets the attention of gangster Rehman Dakait (Akshaye Khanna) when he tries to protect Dakait’s two sons from an assassination attempt. Though Dakait’s older son is slain, the gangster brings Hamza into his crew as a reward for saving his youngest. Again, Hamza bides his time to gains Dakait’s trust, but he’s where he needs to be for his mission to succeed.

Dhar does a masterful job connecting all the threads that create the web that supports terrorism in Pakistan. A gangster like Dakait has access to the weapons needed by the terror cells that are encouraged by Pakistan’s ISI spy agency. But Dakait also wants the legitimacy and power that comes from a political position, and local politics are driven by sects and ethnic groups. There are dozens of individuals and factions that need to be considered in every decision, and the consequences for angering the wrong people can be deadly.

The acting across the board is terrific. Singh’s Hamza is the perfect blend of smart and tough. Khanna’s gaunt Dakait moves through the world like a hungry animal. Sanjay Dutt’s disgraced police officer SP Chaudhary Aslam enters the story like a wrecking ball — yet another deadly force to account for.

To better understand how Dhurandhar veers into trouble, I looked at another film about a decade-long effort to hunt terrorists in Pakistan: the 2012 Hollywood film Zero Dark Thirty. (That movie is also problematic in the way it promotes torture as a legitimate method of intelligence gathering, which it’s not.) Director Kathryn Bigelow uses some of the same storytelling techniques as Dhar does, but to very different effect.

Zero Dark Thirty opens with a black screen emblazoned with “September 11, 2001” written in white letters. Audio plays of police radio chatter and emergency services calls from that morning. We hear people as they realize planes have crashed into the World Trade Center. A frightened woman inside one of the buildings asks an emergency dispatcher, “I’m going to die, aren’t I?” As horrible as the recordings are, they remind the audience of the fear and disbelief everyone in America experienced that morning — all in about 80 seconds.

Dhurandhar likewise opens with refreshers on two major terrorist attacks: the hijacking of IC 814 in 1999 and the attack on India’s Parliament in 2001. However, Dhar reenacts these events onscreen in gory detail. An Indian citizen aboard the hijacked plane is executed in front of India’s negotiator (Intelligence Bureau Director Ajay Sanyal, played by R. Madhavan), but the man’s throat isn’t just slit. It’s sawed at. After the terrorists attack Parliament, a dead security guard is wheeled by Sanyal, her vacant eyes seeming to stare at him imploringly. The two sequences take up the first twenty minutes of the film, before Hamza is even introduced.

In the second half of Dhurandhar, Dhar employs the same technique that Bigelow used to start her film. It follows a lengthy scene in which Dakait’s gang, some terrorists, and a Pakistani spy chief played by Arjun Rampal was the 26/11 attacks in Mumbai on TV. They cheer “Allahu Akbar!” as they watch news footage of the attacks. (Somehow, none of the terrorists notices Hamza crying during the scene.)

Even though the audience has just watched footage of 26/11 cheered by gleeful Muslim terrorists, Dhar stops the whole story to emphasize that the attack really happened. Black text on a blazing red background reads: “Actual Recordings Between Handlers, Terrorists & Hostages; 26th November 2008.” Approximately 80 seconds of audio recordings of communication between the terrorists are accompanied by onscreen transcription.

Even though Bigelow and Dhar use almost exactly the same amount of audio material, the gimmick stops Dhurandhar‘s story so abruptly that it feels like a cliffhanger ending to the film — but the movie still has another hour to go. The choice makes so little narrative sense that it all but confirms that telling a story isn’t the movie’s primary goal.

Links

Movie Review: Accused (2026)

2.5 Stars (out of 4)

Watch Accused on Netflix

Netflix’s latest Indian Original movie features a lesbian couple in crisis, and its LGBTQ theme makes Accused stand out among other Indian Originals. Unfortunately, a formulaic story treatment makes the film more novel than innovative.

Comparisons between Accused and Todd Field’s 2022 movie Tár are inevitable. Both focus on a queer woman in a position of power whose career and marriage are threatened by sexual harassment allegations. Accused shifts things by making the allegations more of a mystery than a sure thing and by devoting more time to the main character’s wife’s experience.

Dr. Geetika Sen (Konkona Sen Sharma), an ace surgeon and gynecologist at London’s Chapelstone General Hospital, is known as much for her her gruff manner as for her medical talents. She’s about to leave for a big promotion at another hospital in England. On top of that, she and her wife Meera (Pratibha Ranta) are adopting a baby.

While the couple seems happy together, there are a few signs of trouble early in the story. Geetika is routinely late to events, giving the excuse that she was in surgery and out of reach — and sometimes that’s true. Their move away puts Meera’s own pediatrics career on hold, which is important, given that there’s an age gap of at least 10 years between the couple (Sen Sharma is 21 years older than Ranta in real life). Geetika feels like her more established career takes precedence, even if it prevents Meera from making similar progress in hers.

Then there’s the fact that Meera’s family back in Meerut don’t even know she’s in love with a woman, let alone married to one. An attempt to introduce Geetika to Meera’s brother while he’s in town is scuttled when Geetika fails to show up for lunch.

In the midst of everything, Chapelstone Hospital receives an anonymous complaint from a patient alleging inappropriate sexual conduct by Geetika during an exam. Geetika insists she didn’t do anything wrong, but the hospital’s head of Human Resources, Simran (Monica Mahendru), is obligated to investigate, despite their friendship.

Rumors circulate, and soon there are more anonymous complaints, including one on a social media site. Racists and homophobes are happy to pile on the insults until the hospital can’t ignore it. Geetika is put on leave. Things only get worse from there.

The social media segment is one of the worst examples of Accused falling into contemporary Hindi filmmaking tropes. Images of social media comments float on the screen around Geetika, including one that reads, “Someone tag Netflix, the pilot episode just dropped.” The visual gimmick is tired enough even without the tacky self-referentialism.

Geetika becomes convinced that someone is framing her, and her paranoia only ramps up her tendencies toward secrecy. But that prompts Meera to wonder what else her wife is hiding. Add to that all the people who are happy to see Geetika brought down a peg — aggrieved colleagues, Meera’s infatuated co-worker Angad (Aditya Nanda) — and the doubt becomes more than the relationship can bear.

The lead actors do a really wonderful job. Sen Sharma is the ideal choice to play a character who can wither with a look while still being sympathetic. Ranta plays off her in a way that highlights the power imbalance and Meera’s growing discomfort with it.

Yet the film is so straightforward and surface level that it feels less substantial than it could have. Issues around queer identity in Indian culture are mentioned but not examined. Much of the dialogue around sexual harassment is taken from workplace conduct handbooks and feels divorced from lived experience. These big issues are convenient plot setups, but that’s it.

Accused even wraps with characters monologuing about the lessons they learned throughout — as if we, the audience, didn’t just watch them learning those lessons. It would’ve been nice if director Anubhuti Kashyap and writers Sima Agarwal & Yash Keshwani had more faith that an audience that would seek out such a story could handle a more robust examination of the issues it presents.

Links

Movie Review: Humans in the Loop (2024)

3.5 Stars (out of 4)

Watch Humans in the Loop on Netflix

Companies specializing in Artificial Intelligence (AI) would have consumers believe that their systems are fully autonomous programs that learn independently. The reality is that AI can’t identify or differentiate things unless someone tells them how. Those someones are tens of thousands of Indian workers whose job it is to identify and label the images and videos that AI trains on.

Journalist Karishma Mehrotra’s 2022 article “Human Touch” profiles several of the women who work as data labelers in the small Indian towns that provide much of the industry’s labor pool. Filmmaker Aranya Sahay adapted Mehrotra’s article into Humans in the Loop, a fiction film that focuses on one woman who finds a new direction in life working on AI training material. It’s equal parts family drama and a critical look at the foundations of a growing technology.

Nehma (Sonal Madhushankar) is starting over in her home village in Jharkhand. Her long-term, live-in relationship — an arrangement known as “Dhuku” — is over because her partner Ritesh (Vikas Gupta) wants to stay in the city and marry someone else. They have two kids together: tween daughter Dhaanu (Ridhima Singh) and baby son Guntu (Kaif Khan). The only way for Nehma to keep custody of the kids is to have a job to support them.

Nehma gets her chance working at a data labeling company in the town next door. Essentially, foreign corporations send the company collections of images and videos, the contents of those images and videos are labeled by operators, and that labeled content trains an AI program. The job is pretty mechanical — use a mouse to draw a box around all the cars in a photo of a traffic jam, for example — but it pays well enough.

The woman who runs the company, Alka (Gita Guha), explains the job to a cohort of new recruits (all of whom are women): “AI is like a child.” This resonates with Nehma. Baby Guntu is just starting to stand on his own, and she’s eager to show her city-raised daughter all the places and creatures she loved growing up in the forest. “Teaching” AI seems like a natural extension of what Nehma is doing at home.

Of course, AI isn’t a child, nor is Nehma the one to decide what to teach it. She notices that the faces she’s tagging in image sets from Western companies don’t include photos of women that look like her. She’s troubled by having to label some of the forest creatures she loves as “pests.”

[This is the nitpickiest thing I will ever write, but I’m gonna do it. Nehma believes that caterpillars are stewards who help plants thrive by eating rotten leaf parts, but some caterpillars can absolutely destroy plants. Looking at you, tomato hornworm!]

And of course, not every child is the same. After growing up in the city, Dhaanu got dropped into a new environment that has none of the comforts or technologies she grew up with. She struggles to get a signal on the cell phone her dad gave her to keep in contact. Tromping around the forest with her mom is not her idea of a good time, and she has no friends her age. Yet Nehma can’t understand why Dhaanu is unhappy.

While Humans in the Loop is most novel for its depiction of a facet of AI training few people know about, it works very well as a family drama, too. Nehma is an imperfect parent, and the tension lies in if or when she’ll figure that out. Dhaanu is at an age full of profound changes, and it’s up to her to learn how to navigate it. Guntu is there to be adorable.

Director Sahay is wise not to try to make the film bigger than it needs to be. It’s only 74 minutes long, and that feels right. She gets good performances from her cast, who all inhabit their characters nicely. The subject matter feels currently relevant but also timeless. This is filmmaking done right.

Links

Movie Review: Kennedy (2023)

3.5 Stars (out of 4)

Anurag Kashyap’s crime drama Kennedy premiered at the Cannes Film Festival in 2023 and then disappeared. It finally got a digital release on Letterboxd’s new video rental platform in late 2025. At long last, a wider audience — though not one in India, where the Letterboxd store is unavailable — could watch this sought-after thriller.

While Kennedy is thematically in keeping with Kashyap’s crime-heavy filmography, the movie is important for capturing a moment in time that most directors (and audiences) seem eager to forget: the phase of COVID-19 pandemic mitigations where businesses were gradually allowed to reopen following the strictest business closures. The conditions present particular economic challenges for the characters in Kennedy and affect the plot accordingly.

Rahul Bhat plays the title character, whose given name is Uday Shetty. He’s a former cop who’s been presumed dead for six years, though he’s unofficially on the payroll of Mumbai Police Commissioner Rasheed Khan (Mohit Takalkar). Whenever Khan needs someone killed without it being traced back to him, he calls Kennedy.

There’s something in the deal for Kennedy, too, beyond whatever perverse thrill he gets from murdering people. Kennedy is looking for a gangster named Saleem (Aamir Dalvi), and Khan has promised to help Kennedy find him. Whether Khan can be trusted is up for debate.

Living in the shadows makes Kennedy something of a ghost himself. A thick beard and mustache hide most of his face, and he hardly speaks. When he’s alone in his apartment, he’s joined by at least one chatty apparition who fills the silence for him.

Kashyap also fills the dead air with spoken word poetry written and performed by Aamir Aziz, who is accompanied by a live band. It makes the film surprisingly noisy despite its taciturn lead character. It’s a bold narrative choice, and one that I didn’t mind. For the English subtitles, the poetry had its own subtitlers — Srilata Sircar and Shigorika Singh — while Jahan Singh Bakshi handled the rest of the dialogue.

The poetry is performed on a stage in a club, and this is where the depiction of COVID mitigations is important for historical context. The club’s masked patrons listen to the performers, only removing their masks to sip their drinks. As a flip side to the depiction of the effects of COVID factory closures on migrant workers shown in Homebound, Kennedy shows how affluent city dwellers lived after businesses reopened. Clubs and restaurants operated at reduced capacity, but they were open.

This reduced capacity presents a problem for Commissioner Khan. Kennedy is one of the enforcers in Khan’s protection racket that extorts money from club owners and restaurateurs, and fewer patrons means less money for Khan. He’s desperate to pay off the loan he took out to bribe his way to the Commissioner’s post.

Besides the other crooked cops in Khan’s outfit and the ghosts in his apartment, the only person Kennedy has any connection with is a woman named Charlie (Sunny Leone). She shares an elevator with him following the first murder he commits in the film, and he winds up driving her to a club for his side gig as a rideshare driver (even assassins need to moonlight, apparently). She’s in trouble, and she pegs him as a man with the skills to help her. Whether he has the empathy it takes to do so is another question entirely.

With very little dialogue and with his face obscured by a beard or a mask, Bhat really only has his eyes and the way he moves his body to perform the role of Kennedy. The fact that the character is always mesmerizing is a testament to Bhat’s abilities. We’re always trying to figure Kennedy out, and Bhat gives just enough to keep us on the hook.

The biggest shame in the film languishing on the shelf is Leone’s performance as Charlie going unseen for so long. She’s a terrific choice for the role, and she brings a delightful, offbeat energy to it. Under other circumstances, this role could have pushed her career in a new direction toward more serious fare than she’s usually offered.

I’m glad Letterboxd finally made Kennedy available for rent (though only for a limited time). It’s an odd movie, but it’s always engaging. Its depiction of a very specific time period during an historically important period makes it special and worth preserving.

Links

Movie Review: Raat Akeli Hai – The Bansal Murders (2025)

3 Stars (out of 4)

Watch Raat Akeli Hai: The Bansal Murders on Netflix

Nawazuddin Siddiqui’s Inspector Jatil Yadav returns in the Netflix Original sequel Raat Akeli Hai: The Bansal Murders. His new case is bigger and more convoluted, but the sequel retains a lot of the qualities that made the first film special.

Though this new story is built around a crime totally separate from the one in 2020’s Raat Akeli Hai, some characters from the original carry over. While nothing about that constitutes a spoiler, character development and relationship building is an important part of the first film. For the best possible experience, watch Raat Akeli Hai before this new movie (just watch it anyway because it’s a great film).

The Bansal Murders opens with a disturbing sequence. Meera Bansal’s (Chitrangda Singh) prayers are interrupted by the incessant noise of crows. One of her uncles — I think it’s an uncle, though the Bansal family tree is large and a bit confusing — feeds them outside of the palatial family mansion daily, but their cries sound frantic today. Meera walks out to find dozens of crows dead and bleeding on the ground next to a severed pig’s head.

Inspector Yadav is called to the scene, as it seems someone is trying to send the Bansal family a message. Yadav’s new superior officer DGP Sameer Verma (Rajat Kapoor) wants this handled discreetly but quickly, a request made more challenging since the family spends so much time in prayer with their spiritual leader, Guru Ma (Deepti Naval). When Yadav finally gets to question the Bansals, he discovers weak points in their security system. Guru Ma dismisses the flaws — she says they can’t stop the bad things coming for the family.

The next day, Guru Ma’s prediction comes true. The three brothers who head the family, their wives, and a few of their adult children are all murdered with a machete. Only Meera and two of the grandchildren survive. One of the security guards slept through the attack while another was seriously wounded and placed in a coma.

There is an obvious culprit. Meera’s cousin Aarav (Delzad Hiwale) was an addict, and she saw him attack the wounded security guard Om Prakash (Rahaao). Moments later, she hears Aarav fall out of a window into the pool, an apparent suicide. This answer satisfies DGP Verma, who wants to reassure the public that a killer isn’t on the loose.

However, the head of the forensics team Dr. Panicker (Revathi) wants to be thorough, and she’s the only one with enough seniority to stall Verma. That gives Yadav time to explore a few nagging suspicions. Of course Yadav is right — the case isn’t as simple as it seems.

Even with most of the family dead, there are a ton of possible suspects. One of the things writer Smita Singh — who wrote the first film for director Honey Trehan, who also returns — is great at is keeping track of all the potential plot threads. Working backwards, the solution to the mystery makes complete sense. Trehan includes just enough shots along the way to hint at the truth.

The beats of this story are very similar to the first film, and they include some lighter moments between Yadav and his mother, Sarita (Ila Arun). She’s still desperate for him to get married, even more so now that she knows he has a girlfriend, Radha (Radhika Apte). Given the otherwise serious tone of the movie, Trehan gets these scenes right. They’re amusing, but not laugh-out-loud hilarious. Going that route would’ve broken the spell.

Siddiqui is again terrific playing a character who isn’t yet the best version of himself, but he’s working on it. Apte and Arun play off him perfectly. It’s also nice to see Shreedhar Dubey back as Yadav’s junior officer and friend, Nandu. The rest of the actors are good as well, behaving suspiciously without being cartoonish.

The exception is Naval as Guru Ma, but I think that’s the fault of the director more than the actor. They lean so heavily into Guru Ma being suspicious that it becomes silly. She speaks slowly, and only in riddles. Every sentence is accompanied by a blaring horn theme.

That’s one of the ways in which the shadow of Netflix hangs over Raat Akeli Hai: The Bansal Murders in a way it didn’t over the first film. There’s even a scene where Nandu tells Yadav to stop investigating, scolding him: “We could have had a press conference by now, media would be praising us, and Netflix would be making a movie.”

Despite that, Trehan and Singh are able to make insightful critiques into the way corporations, media, and the police all work to stoke public anger and fear, then use that public sentiment as a pretext to do what they want. They also created a core group of characters and a winning story formula that could easily be brought back again and again. Here’s hoping they do.

Links