Swap'd
Page 4
Courtney tipped her chin toward the phone. “Let’s see yours.”
Allie angled her phone toward her bedspread. Her tiny pile was pathetic, especially compared to Courtney’s.
“Well, I see you’ll be buying my snacks on the plane,” Courtney joked.
“Don’t worry, I’ll find more stuff when we hang up. I just got distracted.” Allie held her DS in the air.
“Well, that’s going to be your highest seller, for sure. The DS plus all those games . . . I bet you can bring in at least fifty bucks for that.” Allie wasn’t so sure, but Courtney didn’t give her a chance to argue. She was at her desk now, propping up her phone so she and Allie could see each other as they worked. “Let’s get going. I have the perfect playlist!”
Allie sat at her desk, and Bo curled up on the floor next to her. She logged into the CodeGirls server and created a new file, and Swap’d was under way. They decided to build two different versions, one for Courtney’s school and one for Allie’s. That way they could run their auctions independently. The music played in the background, but the two of them were silent while they each copied code classes from their existing apps and pasted them into the new workspace. They stopped every once in a while to talk about the new code they needed to link each piece together.
Bo barked at the door when Allie’s mom called, “I’m home!” from the bottom of the staircase, but Allie ignored her and kept going.
They worked and worked, breaking only for dinner and the short homework assignments they had to get done for the following day. And by midnight, they had a working app.
It crashed the first two times Courtney tried to upload a photo, but Allie tweaked the code to stabilize it. The leaderboard didn’t seem to be calculating correctly, but that required a small adjustment in the algorithm—they could deal with it during their lab time at school the following day. Everything else looked slick and worked surprisingly well. It still resembled share|wear, but now it was a lot smarter. It knew how to process financial data. It had a countdown clock and recognized that the player with the highest bid at the end of five minutes was the winner. It knew how to tell sellers how much they made, buyers how much they owed, and Allie and Courtney what their 10 percent “transaction fee” totaled. Everything was automated.
As Allie watched the app come together, she began to imagine what would happen if Swap’d worked. Not only was it perfect for the assignment, it was perfect for her Hackathon application. Speed. Collaboration. It was exactly the kind of thing the admissions team would be looking for.
She could demonstrate it during her meet-and-greet with Naomi Ryan. And then she wouldn’t even have to mention Click’d. If she was lucky, none of them would even ask about it.
The first time Naomi Ryan met Allie, she was standing at a kiosk, in front of a broken, failed game. That was the only way she knew her, as that kid. The one who blew it the day before the Games for Good Competition. The one who wasn’t up onstage with the other nine finalists, because she had nothing to present.
Picturing that day, remembering how it felt to sit in the front row of that huge theater and see Nathan onstage with everyone else, made tears well up in her eyes. She blinked them away.
Last time, Allie had Naomi Ryan’s sympathy. This time, she was going to earn her respect.
The bus squealed to a halt in front of Allie. She let out a yawn as she hitched her backpack over her shoulder, and the bus doors opened with a loud thwak. As soon as she reached the landing, she glanced over at Marcus.
“Hey, Three,” he said.
“Hey, Six,” she replied. She was smiling as she flopped down in her spot next to Zoe.
“You’re ridiculous, you know that, right?” Zoe rolled her eyes.
Allie ignored her.
“Are you two ever going to talk to each other?”
“We just did,” Allie said. “We talk to each other every day. Twice a day, actually.”
Zoe’s mouth twisted up on one side. “That,” she said, waving her finger back and forth in the air between Marcus and Allie. “That does not count.”
“Sure, it does.”
“No, it doesn’t,” Zoe said. “To be honest, I don’t know why he doesn’t try to say more to you, but since he’s not stepping up, you’re going to have to.”
“What else am I supposed to say?”
“I don’t know, anything. Like ‘What are you doing this weekend, Marcus?’ ”
“It’s only Tuesday.”
“Okay, then, like ‘How did you do on that math test, Marcus?’ ”
“We don’t have math together,” Allie said matter-of-factly.
“You’re missing the point.”
“Which is what, exactly?”
“My point,” Zoe said slowly, “is that you two are flirt-greeting, which is fine at first, but at some point, you’re going to actually have to move beyond that.”
“We’re going to have to move beyond ‘flirt-greeting’? Did you just make that up?”
“Yes, I did, and I like it a lot,” Zoe said. “To move beyond flirt-greeting, you have to ask open-ended questions, so he can’t answer with a simple yes or no. You have to ask something that requires a real answer, you know? Something that will get him talking.” She nudged Allie with her shoulder. “Don’t you want to talk to him? Like, really talk to him?”
“Sure, but . . .” Allie scanned the bus. There were too many familiar faces. Too many faces in general. “I can’t. Not here.”
That was part of the problem; Allie’s only chance to talk to Marcus was always on the bus where everyone could hear everything. The two of them didn’t have any classes together. At lunch, he was always with a big group of his friends. The few times she’d passed him in the halls, they were rushing to get to class before the bell rang.
“Forget Marcus,” Allie said, changing the subject. “I have something to show you.” She pulled her phone from her jeans pocket and handed it to Zoe. “Check it out.”
Right before they’d called it a night, Courtney had quickly sketched a logo. She thought it was too rough, but Allie loved it exactly the way it was.
“That’s Swap’d,” Allie said. “Launch it.”
Zoe touched the icon.
The interface was so pretty, just like Courtney’s original share|wear app. Same white background. Same green accent colors. Same font. It was clean and simple, friendly and fun. Allie still couldn’t believe how much they’d done in one night.
“Go ahead. Set up an account.”
Allie peered over Zoe’s shoulder, checking to see if the interface was as easy to navigate as she and Courtney thought it was. Zoe clicked on the pull-down menu, found her name, and verified her phone number. She checked the box, accepting the terms of use, and Swap’d had its first official user.
“Okay, now what?” Zoe asked.
“Sell something.”
“Like what?”
“Anything. Like . . . those.” Allie pointed to Zoe’s gloves.
Zoe interlaced her fingers together and pouted. “No way. I love my fingerless gloves. My aunt Kristen made these for me.” She wiggled her fingers in the air.
“It’s not for real.”
Zoe turned her hands over, examining the dark gray yarn and the tiny pink and green stripes. She let out a sigh.
“Write a description,” Allie said. “I’ll take pictures.”
Zoe peeled off her gloves, handed them to Allie, and then typed:
Super cute, super warm fingerless gloves, hand-knit with love by my funny aunt using my favorite colors. The ones I specifically asked for. Because they’re my favorites. I love these gloves. Allie Navarro is forcing me to do this, and even though she’s my best friend, I kind of want to punch her right now.
“There.”
Zoe started the bidding at fifty dollars and Allie uploaded the pictures, and a few seconds later, there was a new item in the queue. Allie pressed the START button, and the timer at the bottom of the screen began counting down fr
om five minutes.
Allie and Courtney had put a great deal of thought into the timing: Six back-to-back auctions, each five minutes long. Thirty minutes a day, once a day, and that was it. That would keep everything fast-paced.
“So . . . what? It’s like eBay but for Mercer?”
“It’s way better than eBay.” She tapped on the screen as she explained the timing. “We’ll manually manage each auction so there’s always a variety of stuff—less-expensive items mixed in with higher-priced stuff, used things mixed in with new ones—something for everyone, at every price point. If you don’t see something you want, wait five minutes for the next auction to start.”
Zoe looked intrigued.
“And there’s a leaderboard, just like in Click’d.” Allie always felt giddy when she pictured the leaderboard. She loved the whole game, but the leaderboard was her contribution; a little bit of Click’d in a whole new home. “We didn’t want to reward the people who made the most money or sold the most expensive stuff, so we wrote the algorithm to calculate the percentage increase from starting bid to selling price; that way everyone has a chance to win. The leaderboards are updated at the end of each auction, so it’s dynamic.”
Allie bid $75 on Zoe’s gloves. And then she logged out, logged back in as Courtney, and raised it to $80. She went back and forth, raising it again and again, until she reached $100.
“Okay, now I kinda wish this was for real,” Zoe said.
Allie reached for the gloves and slipped them onto her hands. “Wow, these are warm.”
“You are not getting my gloves, Navarro.”
Allie pointed at the screen. “Okay, this is the best part. Watch. Five. Four. Three. Two. And—”
Zoe’s phone let out a cha-ching sound, like an old cash register.
SOLD!
Allie’s profile flashed on the screen.
“Sweet,” Zoe said. “Now what?”
“Nothing. We’re all good.” Allie clapped her gloved hands together. “I’m keeping these.”
“Give me a hundred bucks and they’re all yours.”
“I wish,” Allie said. And then she got serious again. “So, do you have anything you really want to sell? Because I could use the money.”
“Wait, if I’m selling stuff, don’t I get the money?”
“Most of it. I get ten percent of every sale.”
“Well, in that case, I’ll come up with something.” Zoe held her hand flat in front of Allie and said, “Give me those. I think way better when my hands are warm.”
At lunch, Allie waited in line for her food and then went straight to the lab. She thought she’d have the place to herself, but Nathan was already there, headphones on, tapping away on his keyboard.
Of course.
The reuse assignment was just that: an assignment. It wasn’t even a competition, but still, she and Nathan were competing against each other, because she and Nathan were always competing against each other.
She dropped her backpack next to her chair, fired up her computer, logged into the server, and navigated over to her Swap’d code, looking over everything Courtney had worked on during her own lab time earlier that day.
Courtney had cleaned up a few things, fixed the leaderboard algorithm, and run some more tests, and now, they were even closer. They might even be able to roll it out later that night, which seemed totally impossible if Allie thought about the fact that they’d had nothing but an idea less than twenty-four hours earlier, but totally possible as she looked over the code. It was solid.
As she clicked and scrolled and typed, she could feel Nathan watching her. She looked over at him. “What?”
Nathan took his headphones off and draped them around the back of his neck. “Nothing.”
“Don’t you have work of your own to do?”
“Probably.” He leaned back in his seat and kicked his feet up on his desk. “You look like you’ve had, like, six cups of coffee and at least that many chocolate bars. How are your fingers even moving that fast?”
“Practice. Repetition. Hard work,” she said without taking her eyes off the screen. “You should try it sometime.”
Nathan smiled. “You’re in a good mood. I take it you figured out what you’re making?”
“Not ‘making.’ Past tense. Made.”
Nathan slid his feet off the desk. “As in, you’re done?”
“Cakes are done, people are finished.” She couldn’t help it. Her English teacher spit out that annoying grammar tip practically every day. “But if you’re asking if I’m going to have a game ready to roll out tonight, six days ahead of schedule, then yes.”
“Really?” he asked.
“Really.”
“You built a complete app in twenty-four hours?”
“Yep.”
“How?” His gaze traveled around the lab. “Who?”
Allie smirked. “Aw . . . are you sad that I didn’t ask you for code? Or just surprised?”
“Neither,” he said. “I couldn’t care less. I’m just curious where you got it, that’s all.”
“My CodeGirls,” Allie said. “How about you? Where did you get your code?”
He shrugged. “Places. People.” He pointed at her monitor. “Give me a demo?”
She pointed at his monitor. “Demo yours.”
“I asked you first.”
Allie didn’t want to play this game with him. She had no reason to keep Swap’d a secret; in fact, she’d been dying to show it off all day. Allie threw her shoulders back as she twisted her monitor toward him.
“Okay, so Courtney and I started here, with this closet-sharing app she created last summer called share|wear. Then we figured out what else we needed.” She pointed to another collection of code. “That’s Kaiya’s auction engine. And that’s Jayne’s calculation engine.” She kept going, pointing out clusters of code on the screen and identifying the original source. “We used my backend database and leaderboard code from Click’d, snapped it all together, and . . . we were done.”
“Finished.”
“Yeah, whatever.” She pulled her phone from her pocket and handed it to him. “It’s called Swap’d.”
“What does it do?”
“Click on it. You’ll see.”
Nathan clicked on the icon and the Swap’d interface came to life.
She walked him through the game, just like she had with Zoe. “We’ll hold auctions every day after school from three thirty to four,” Allie said.
“Why three thirty?”
“Well, because Courtney and I have to be online to monitor and manage everything, but I have soccer practice three days a week, Courtney has volleyball, and we both have homework. And it’s an hour later in Arizona. This way, Courtney can go to her school’s computer lab right before volleyball practice, and I can monitor everything during the bus ride home.”
“A captive audience,” Nathan said.
“Exactly.”
He leaned back in his chair and folded his arms. “It looks like you’ve thought of everything.”
Allie switched screens until they were looking at the empty queue. She couldn’t help but picture it filled with clothes, and shoes, and games, all kinds of stuff. “Well, not everything.” She tapped her fingernail against the glass. “We haven’t figured out how we’re going to do the exchanges on campus. We decided to use my locker to collect the cash—people can slip money through those little vents—but we haven’t figured out how to set up the pickup and drop-off points for the items yet. We need a secure location. Somewhere sellers can leave their stuff without it getting taken while it’s waiting to be picked up by the buyers.”
Allie had been thinking about that part all day. She was willing to give up her locker, but none of her friends were willing to give up theirs. The code might be solid, but no pickup/drop-off point, no Swap’d.
She changed the subject. “Your turn. What are you doing for the reuse assignment?”
“It’s a secret.”
“Wh
at do mean?”
“A secret? It’s this information you know but you don’t tell anyone else.”
She looked at him sideways. “You’re seriously not telling me.”
Nathan shook his head.
“Why not?”
He curled his finger toward him. Allie leaned in closer. “Because it’s a secret.”
She glared at him. “Fine,” she finally said. “Don’t tell me. You know I’ll find out anyway. You can’t keep secrets in the lab.”
“Oh, I’ll keep this one.”
Allie wanted to scream. Instead, she put her headphones on, turned up the music, and went back to work, blocking him out of her mind.
For the rest of class, the two of them worked side-by-side, typing in silence. After a while, she was so busy setting up the queue, tweaking the leaderboard code, and creating an inventory screen, she practically forgot Nathan was sitting there, until he tore a page from his notebook and set it on top of Allie’s keyboard.
Allie read it:
#860
19-36-5
She pulled her headphones off. “What’s this?”
“My locker and combo.”
“Why?”
“You’re using your locker for the cash. Use mine as the drop-off and pickup point.”
She stared at his neat block lettering. “Don’t you need it?”
“I never use it,” Nathan said. “It’s nowhere near any of my classes. Really. Take it, it’s all yours.”
Allie pictured the campus in her mind. Her locker was in the four-hundred building, smack in the middle. His was out in the science wing, near the computer lab.
“The student garden is right behind my locker,” Nathan said. “So, you could hang out near the fence and monitor the pickups during lunch.”
It was perfect. “So why are you helping me?”
Nathan played with his pen. “The locker is just sitting there. . . .”
“Are you sure?”
“Positive.”
She pushed her chair away, grabbed the paper with his locker and combination, and went to the front of the room to ask Ms. Slade for a hall pass. She returned, waving both in the air.