Extended Project Qualification · Dauntsey’s School · 2020–21

PeopleMind

An iOS app that gives you one small social challenge a day, to help people step past social anxiety at their own pace.

PeopleMind app icon: the letters PM in white on navy

The idea

It started with a conversation with friends about social anxiety. Schools and workplaces offer support, but taking it doesn’t always feel easy. I wanted something simple people could use on their own terms: one small social challenge a day, a step just beyond what feels comfortable, so the progress feels like their own.

The research backed the approach. Guidance from Verywellmind, Psychology Today and others kept returning to the same advice: challenge yourself, in small and real situations. I adapted those ideas into one-a-day challenges and credited every source inside the app.

The build

The first decision was the biggest: fully native, or a native app over a web platform. I tested Firebase, but with a fixed deadline I chose the hybrid route, which built on web development I already knew.

  • The platform ran on Wix, with Velo code. It held the databases, generated each challenge, ran the forum and profiles, and sent welcome emails through SendGrid. Anything that touched accounts or data ran in back-end code, out of the user’s reach.
  • The iOS app was written in Swift in Xcode. Each tab is a web view tuned to feel native, with its own loading state (“thinking…”) so nothing ever looks frozen.
  • Signing in happens once. On launch, a hidden web view checks for a session; after login, a timer watches for the success page and moves you into the app. The web views share cookies, so one sign-in covers every tab.
  • Notifications come through OneSignal. A friendly in-app prompt explains them first, rather than the system asking for permission the moment the app opens.

The hardest bug: the back end returned a promise before the challenge was ready, so the redirect failed with nothing more than a 404. It took hours of digging, and a community forum thread, to fix.

Testing

A computer science teacher and two friends tested it in person, and 43 people tried it through a public TestFlight link. The feedback was specific. Screens could load slowly, because every one comes from the web. A button sat in the wrong place on iPhones with a home button. Asking for a full name at sign-up could put some people off. And Sign in with Apple would make joining simpler. Asked whether it could improve social confidence, all three in-person testers said yes, one adding that it would take time.

What I took from it

Plan the order of the build. The platform had to exist before the app could do anything, so I mapped the dependencies first and tracked every task against a date. Organise and comment code as you go, not afterwards. And keep running costs honest: the platform lived on a subdomain of my own site rather than a new domain, and I paid for hosting only in the months it was in use.

Next time, I’d add Sign in with Apple, which I planned but ran out of time for.

← All projects