►
From YouTube: Fitness Fortuna - Gopal Iyer, Vikas Iyer
Description
2015 HTM Challenge Application submission.
A
B
Hello,
everyone,
I'm,
vikas
and
I
have
teamed
up
with
Gopal
in
the
new
menta
hackathon
to
build
the
fitness
fortune
app.
This
is
an
iphone
app
and
an
Apple
watch
app
that
gave
a
face
fitness.
It
uses
step
count.
Data
collected
from
Apple
watch
to
predict
future
steps
using
new
pics
HTM
predictive
algorithm.
B
When
we
looked
up
the
HTML
gerado,
we
were
impressed
with
the
predictive
data
that
it
is
able
to
generate
by
learning
simple
scalar
values
with
a
temporal
dimension.
While
we
were
brainstorming
for
ideas,
we
wanted
to
use
the
HTM
spreading
capabilities
to
build
an
app
which
could
directly
influence
human
behavior.
B
We
thought
fitness
apps
would
be
a
great
use
case.
We
find
that
most
fitness
apps
today
are
reactive
and
not
predictive,
while
most
of
them
give
a
good
picture
of
what
fitness
activities
we
have
already
accomplished.
They
don't
quite
predict
into
the
future
to
warn
us
if
we
will
make
the
goal
or
not.
So
we
thought
why
not
do
that.
Fitness
fortuner
aims
to
do
just
that
with
the
help
of
HTM,
so
I'm
going
to
now
demonstrate
the
fitness
fortuner
iphone
app.
B
So,
as
you
see
here,
it's
requesting
me
access
for
health,
get
my
step
count
and
give
it
access
to
health
kits
so
I'm
going
to
allow
it
and
I
reach
the
home
screen.
So
if
we
gonna
see
that
the
app
will
ask
me
to
do
three
things
first,
it
will
ask
me
to
enter
the
step
count
goal
per
hour.
As
you
see
here.
Second,
the
app
will
then
read
my
current
steps
accumulated
over
the
last
hour
and
then
use
HTM
in
the
backend
server
to
predict
my
step
counter
the
next
hour.
B
Finally,
it
will
tell
me
natural
language,
so
I'm,
going
to
make
my
goal
or
not
and
then
encourage
me
to
challenge
it.
So
let's
say
I
give
this
a
try,
I'm,
not
feeling
very
ambitious.
I
set
my
step
goals
to
just
40
per
hour
and
I'll
say
return
and,
let's
see
what
happens
so
as
I
entered
my
RV
goal,
the
back
end
predicts
that
I
will
make
about
32
steps
so
since
it's
still
less
than
the
hourly
co
that
I
just
said
it
wants
me
that
I
may
not
keep
up
with
my
step
goals.
B
So
finally,
it
urges
me
to
take
action
and
beat
its
prediction.
So
let's
say
I
take
a
walk,
oh
here,
and
there
and
I
feel
that
I
am
ready
for
a
challenge,
so
I'm
gonna
go
and
press
the
challenge.
Button.
Andrew
tell
me
how
I
did
so
seems
like
in
the
last
one
hour.
I
ended
up
walking
126
steps,
so
it
is
happy.
I'm,
happy
and
I
did
end
up
beating
its
prediction
this
time.
So
this
is
how
the
fitness
fortunate
have
works.
I
can
always
come
back
for
another
challenge.
At
a
later
time.
B
Let's
say:
ma'am
I
am
trying
to
be
unreasonable
here
and
I
think
I'm
going
to
do
4,000
steps
in
an
arm.
So
let's
see
what
does
it
think
so
this
time
again
it
thinks
that
in
the
next
hour
the
I
might
end
up
just
doing
32
steps
and
it
still
I
just
need
to
take
the
challenge.
So
let's
say
for
the
next:
are
so
I
walk
a
lot
and
I
feel
I'm
up
for
the
challenge
and
I'm
going
to
go.
Give
this
a
try.
So
this
time
it
says,
unfortunately,
its
prediction
came
true.
Why?
B
C
I'm
going
to
tap
this
and
loading,
so
it's
showing
me
the
early
goal
and
right
now,
I,
don't
have
a
way
to
set
it
up
on
the
Apple
watch,
so
I
will
do
it
from
the
phone.
So
let's
say
I
enter
50
steps
and
it's
showing
up
as
50
on
the
watch.
It
still
thinks
that
my
predict
it
it's
good
ready.
It's
predicting
32
steps,
which
is
less
than
my
Ally
goes.
So
if
things
I
may
not
be
able
to
make
it
so,
let's
say
I
take
a
walk
and
I
come
back
and
I.
C
Think
I'm
up
for
the
talent
show
at
a
pond
challenge
and
it
says
thumbs
up.
I
did
in
the
meeting
with
my
goals,
in
fact
exceeding
the
goal,
because
it's
more
than
my
articles
that
I
said
so.
I
can
always
come
back
to
another
round
and
let's
say
this
time:
I
set
up
a
very
high
goal
and
instead
of
50
I
say
find
it.
As
my
Ally
goes
so
you're
saying,
500
reflected
here
and
I'm
gonna
take
a
walk
for
summertime
and
challenge
myself,
and
this
time
it's
still
75
that
I
ended
up
walking.
C
B
B
D
I,
this
is
a
demo
of
the
server
side
in
segmentation
of
fitness
for
China's
called
the
step
Oracle.
The
step
Oracle
runs
the
new
peak
HTM
model
with
a
scalar
encoder.
We
have
collected
approximately
one
week
worth
of
step
on
data
from
the
Apple
watch,
which
is
included
in
the
step
count,
data
or
CSV
file.
We
run
this
data
initially
through
you
pick
to
produce
the
plot
that
you
are
seeing
on
the
screen.
It
also
produces
an
output
file
which
includes
the
timestamp
predicate
value
and
a
normally
score
for
each
given
actual
value.
D
In
this
server.
We
host
a
UDP
server
to
listen
for
data
from
the
iphone,
which
is
the
time
the
data
that
comes
in
from
the
iphone,
which
is
the
actual
step
count.
Value
is
fed
through
new
pic
to
generate
a
predicted
value
for
the
next
time
step.
The
predicted
value
is
sent
back
to
the
iphone
the
iphone
which
run
three
fitness
for
china
app
along
with
the
watch
app.
It
shows
this
uses
this
value
for
for
the
game
that
we
have
built
to
play
with
the
HTM
idle.
D
As
you
can
see
here,
the
server
is
waiting
for
a
message
from
the
time.
Currently,
the
actual
version
of
the
server
is
running
in
an
Amazon
ec2
instance,
but
for
this
demo,
I
am
running
the
server
on
a
local
host.
So
I
have
built
a
test
client
which
will
generate
a
set
of
messages
to
be
sent
to
the
server.
The
server
will
feed
it
through
the
new
pic
model
and
return
the
prediction
back
to
the
client,
so
that's
it
for
the
demo
of
fitness
for
China
I
hope
you
enjoyed
it.
Thank
you.
Thank.
A
You
oh
hi,
Gopal
thanks
for
joining
us
via
Skype.
First
of
all,
I
think
you
guys
get
novelty
points
for
building
an
Apple
watch
app.
So
that's
one
bonus.
Second
of
all,
I
mean
there's
a
lot
of
potential
here,
for
forgetting
step
counts
off,
especially
in
a
live
situation
off
of
somebody's
physical
activity
throughout
the
day,
more
even
more
from
than
just
gamifying
something,
but
even
anomaly,
detection
of
there's,
just
the
physical
activity
that
somebody
is
doing
so
yeah
I
think
this
is
a
very
cool
application.
E
Thanks
I
have
a
question,
so
do
you
leave
it
having
upper
bound
for
the
number
of
steps
you
can
input
because
again
imagine
that
for
the
model
it's
going
to
be
complicated
to
map
a
really
really
high
value
if
you
train
a
model
with
some
set
of
min
and
Max
values,
if
you
input
4,000,
but
it's
way
higher
that
what
you
trained
the
twist,
maybe
it's
in
between
0
and
50
steps.
How
do
you
handle
that
the
new
track
so.
B
We
used
real
data
real
step
count
data
for
about
a
week
that
I
accumulated
on
my
Apple
watch
and
it
was
very
likely
that
I
never
had
a
step
count
that
was
around
4,000
range.
So
we
just
used
the
one
week's
worth
data
to
train
the
HTM
model
and
that's
the
reason
when
we
ended
ended
up
entering
a
very
high
goal.
It
threw
it
off
because
it
predicted
the
current
step
that
it
think
that
I
had
accumulated
in
the
last
are
and
it
based
on
its
training.
E
D
I
may
add,
we
don't
actually
send
the
goal
to
the
server.
We
only
send
the
actual
steps
that
is
collected
by
the
apple
watch
to
the
server,
which
is
likely
to
be
within
the
bounds
that
we
have
trained.
The
model
for
the
goal
is
just
what
the
user
things
is
correct.
Is
he
he
or
she
gonna
make
in
the
next
one
hour.
A
F
It's
a
really
nice
idea
to
gamify
the
system
like
that.
I
think
that's
a
really
cool
idea
with
predictions
I
know
you
showed
that
graph
I
didn't
get
a
real
good
sense
of
how
well
you
thought
the
HTM
worked
in
predicting
or
MIT.
Perhaps
you
didn't
have
enough
data
to
really
assess
that.
Did
you
get
a
sense
of
that
group.
D
Sure
so
initially
we
see,
as
expected,
we
see
a
very
high
anomalies
course,
so
that
we
are
not
actually
using
the
anomalies
course
in
the
application,
but
it
was
very
useful
to
plot
it
because
we
actually
got
to
see
if
the
model
is
learning
or
not
from
the
data
that
we
are
feeding
it.
So
initially
we
saw
a
lot
of
anomalies
course
and
after
a
period
of
time,
after
maybe
a
midweek
of
learning,
the
anomalies
course
stop,
which
means
it
is
already
seeing
the
patterns
are
predicting
them.
F
B
The
way
we
used
it
in
the
app
was
fifteen
minutes
of
time
gap
between
each
data,
but
in
the
UI
we
showed
it
as
an
art
because
for
a
real
you
were
use
case,
one
our
would
be
a
better
representation.
If
you
want
to
warn
a
user
to
take
action,
the
next
one
are
they
giving
them
enough
time,
but
in
the
real
app
under
the
hood
we,
the
timestamp,
was
every
15
minutes
and
the
step
count
was
for
that
particular
15
minutes.